def isPrime(n):
if n==1:
return False
if n <=3:
return True
if n%2==0:
return False
for i in range(3,n//2+1,2):
if n%i==0:
return False
return True
def isPal(n):
if (n<10):
return True
nn=n
m=0
while(nn>0):
k=nn%10
m=m*10+k
nn=nn//10
if m==n:
return True
else:
return False
def isPow2(n):
if (n==0):
return False
if (n==1):
return True
if (n%2==0):
return isPow2(n//2)
else:
return False
def check_pin(pin):
c=pin.split('-')
if isPrime(int(c[0])) & isPal(int(c[1])) & isPow2(int(c[2])):
return "Корректен"
else:
return "Некорректен"
print(check_pin('7-101-4'))
print(check_pin('12-22-16'))
ZGVmIGlzUHJpbWUobik6CiAgICBpZiBuPT0xOgogICAgICAgIHJldHVybiBGYWxzZQogICAgaWYgbiA8PTM6CiAgICAgICAgcmV0dXJuIFRydWUKICAgIGlmIG4lMj09MDoKICAgIAlyZXR1cm4gRmFsc2UKICAgIGZvciBpIGluIHJhbmdlKDMsbi8vMisxLDIpOgogICAgCWlmIG4laT09MDoKICAgIAkgICAgcmV0dXJuIEZhbHNlCiAgICByZXR1cm4gVHJ1ZQogICAgCmRlZiBpc1BhbChuKToKICAgIGlmIChuPDEwKToKICAgICAgICByZXR1cm4gVHJ1ZQogICAgbm49bgogICAgbT0wCiAgICB3aGlsZShubj4wKToKICAgICAgICBrPW5uJTEwCiAgICAgICAgbT1tKjEwK2sKICAgICAgICBubj1ubi8vMTAKICAgIGlmIG09PW46CiAgICAJcmV0dXJuIFRydWUKICAgIGVsc2U6CiAgICAJcmV0dXJuIEZhbHNlCiAgICAJCmRlZiBpc1BvdzIobik6CglpZiAobj09MCk6CgkJcmV0dXJuIEZhbHNlCglpZiAobj09MSk6CgkJcmV0dXJuIFRydWUKCWlmIChuJTI9PTApOgoJCXJldHVybiBpc1BvdzIobi8vMikKCWVsc2U6CgkJcmV0dXJuIEZhbHNlCgkKZGVmIGNoZWNrX3BpbihwaW4pOgogICAgYz1waW4uc3BsaXQoJy0nKQogICAgaWYgaXNQcmltZShpbnQoY1swXSkpICYgaXNQYWwoaW50KGNbMV0pKSAmIGlzUG93MihpbnQoY1syXSkpOgogICAgICAgIHJldHVybiAi0JrQvtGA0YDQtdC60YLQtdC9IgogICAgZWxzZToKICAgICAgICByZXR1cm4gItCd0LXQutC+0YDRgNC10LrRgtC10L0iCiAgICAKcHJpbnQoY2hlY2tfcGluKCc3LTEwMS00JykpCnByaW50KGNoZWNrX3BpbignMTItMjItMTYnKSkKCgk=