# your code goes here
def get_smallest_prime_factor(n):
if n <= 1:
return None # 0 and 1 don't have prime factors
# Check every number from 2 up to sqrt(n)
i = 2
while i * i <= n:
if n % i == 0:
return i # First divisor found is the smallest prime factor
i += 1
return n # If no divisor found, n itself is prime
# Example Usage:
num = 35
print(f"Smallest prime factor of {num} is {get_smallest_prime_factor(num)}")
# Output: 5
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCmRlZiBnZXRfc21hbGxlc3RfcHJpbWVfZmFjdG9yKG4pOgogICAgaWYgbiA8PSAxOgogICAgICAgIHJldHVybiBOb25lICAjIDAgYW5kIDEgZG9uJ3QgaGF2ZSBwcmltZSBmYWN0b3JzCiAgICAKICAgICMgQ2hlY2sgZXZlcnkgbnVtYmVyIGZyb20gMiB1cCB0byBzcXJ0KG4pCiAgICBpID0gMgogICAgd2hpbGUgaSAqIGkgPD0gbjoKICAgICAgICBpZiBuICUgaSA9PSAwOgogICAgICAgICAgICByZXR1cm4gaSAgIyBGaXJzdCBkaXZpc29yIGZvdW5kIGlzIHRoZSBzbWFsbGVzdCBwcmltZSBmYWN0b3IKICAgICAgICBpICs9IDEKICAgICAgICAKICAgIHJldHVybiBuICAjIElmIG5vIGRpdmlzb3IgZm91bmQsIG4gaXRzZWxmIGlzIHByaW1lCgojIEV4YW1wbGUgVXNhZ2U6Cm51bSA9IDM1CnByaW50KGYiU21hbGxlc3QgcHJpbWUgZmFjdG9yIG9mIHtudW19IGlzIHtnZXRfc21hbGxlc3RfcHJpbWVfZmFjdG9yKG51bSl9IikKIyBPdXRwdXQ6IDUK