import math                     # ceil과 sqrt 함수를 포함한 패키지
# isPrime 함수가 주어진 number가 소수인지 확인
def isPrime(number) -> bool:
    
    if number < 2:              # 정수 1은 소수도 아니고 합성수도 아님
        return False
    if number == 2:             # 정수 2는 소수
        return True
    if number % 2 == 0:         # 정수 2를 제외한 모든 짝수가 소수가 아님
        return False
    # 3부터 sqrt(number)까지의 정수들로 number를 나누면서 소수인지 확인
    for i in range(3, math.ceil((math.sqrt(number))), 2):  
        if number % i == 0:     # number의 약수가 있으면 number는 소수가 아님
            return False
    return True                 # number는 소수    

def main():
    number = int(input("정수를 입력하라. : "))   # 사용자로부터 정수를 입력받음 
    # isPrime 함수를 통해 number가 소수인지 아닌지 결정
    if isPrime(number):
        print(number, "는 소수이다.")
    else:
        print(number, "는 소수가 아니다.")

if __name__ == "__main__":
    main()