def isPrime(n):
if (n<=2):
return True
if n%2==0:
return False
else:
k=3
while(k<n//2):
if (n%k)==0:
return False
k+=2
return True
def isHyperPrime(n):
if not isPrime(n):
return False
else:
while(True):
if (n==0):
break
n=n//10
if not isPrime(n):
return False
return True
n=int(input())
if isHyperPrime(n):
print("Число гиперпростое")
else:
if isPrime(n):
print("Число простое, но не гиперпростое")
else:
print("Число составное")
ZGVmIGlzUHJpbWUobik6CiAgICBpZiAobjw9Mik6CiAgICAgICAgcmV0dXJuIFRydWUKICAgIGlmIG4lMj09MDoKICAgICAgICByZXR1cm4gRmFsc2UKICAgIGVsc2U6CiAgICAgICAgaz0zCiAgICAgICAgd2hpbGUoazxuLy8yKToKICAgICAgICAgICAgaWYgKG4layk9PTA6CiAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgICAgays9MgogICAgICAgIHJldHVybiBUcnVlCiAgICAJCmRlZiBpc0h5cGVyUHJpbWUobik6CiAgICBpZiBub3QgaXNQcmltZShuKToKICAgICAgICByZXR1cm4gRmFsc2UKICAgIGVsc2U6CiAgICAgICAgd2hpbGUoVHJ1ZSk6CiAgICAgICAgICAgIGlmIChuPT0wKToKICAgICAgICAgICAgCWJyZWFrCiAgICAgICAgICAgIG49bi8vMTAKICAgICAgICAgICAgaWYgbm90IGlzUHJpbWUobik6CiAgICAgICAgICAgIAlyZXR1cm4gRmFsc2UKICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgIAoKbj1pbnQoaW5wdXQoKSkKaWYgaXNIeXBlclByaW1lKG4pOgogICAgcHJpbnQoItCn0LjRgdC70L4g0LPQuNC/0LXRgNC/0YDQvtGB0YLQvtC1IikKZWxzZToKCWlmIGlzUHJpbWUobik6CgkgICAgcHJpbnQoItCn0LjRgdC70L4g0L/RgNC+0YHRgtC+0LUsINC90L4g0L3QtSDQs9C40L/QtdGA0L/RgNC+0YHRgtC+0LUiKQoJZWxzZToKCSAgICBwcmludCgi0KfQuNGB0LvQviDRgdC+0YHRgtCw0LLQvdC+0LUiKQo=