from collections import Counter #X=int(input()) # x以下の素数の列挙,素因数分解,約数の列挙 #x=10**7 import math #L=math.floor(math.sqrt(x)) # 平方根を求める #Primelist=[i for i in range(x+1)] #Primelist[1]=0 # 1は素数でないので0にする. #for i in Primelist: # if i>L: # break # if i==0: # continue # for j in range(2*i,x+1,i): # Primelist[j]=0 #Primes=[Primelist[j] for j in range(x+1) if Primelist[j]!=0] #D=Counter() #ind=0 #while X>1: # print(X) # a=Primes[ind] # while X%a==0: # D[a]+=1 # X//=a # print(X,a) # ind+=1 #print(D) D=Counter({151: 21, 277: 21, 293: 21, 367: 21, 13: 20, 167: 20, 281: 20, 307: 20, 313: 20, 379: 20, 41: 19, 149: 19, 163: 19, 193: 19, 257: 19, 457: 19, 29: 18, 173: 18, 211: 18, 233: 18, 349: 18, 229: 16, 283: 16, 347: 16, 83: 15, 89: 15, 271: 15, 353: 15, 389: 15, 439: 15, 443: 15, 3: 14, 11: 14, 181: 14, 241: 13, 59: 12, 61: 12, 97: 12, 131: 12, 137: 12, 419: 12, 421: 12, 449: 12, 7: 9, 37: 9, 103: 9, 179: 9, 239: 9, 317: 8, 19: 7, 191: 7, 79: 6, 107: 6, 109: 6, 397: 6, 433: 6, 17: 5, 23: 5, 67: 5, 223: 5, 251: 5, 331: 5, 71: 4, 359: 4, 47: 3, 373: 3, 157: 2, 2: 1, 53: 1, 127: 1, 199: 1, 409: 1}) X=list(D) C=[] for x in sorted(X): C.append(D[x]) C=[1, 14, 9, 14, 20, 5, 7, 5, 18, 9, 19, 3, 1, 12, 12, 5, 4, 6, 15, 15, 12, 9, 6, 6, 1, 12, 12, 19, 21, 2, 19, 20, 18, 9, 14, 7, 19, 1, 18, 5, 16, 18, 9, 13, 5, 19, 15, 21, 20, 16, 21, 20, 20, 8, 5, 16, 18, 15, 4, 21, 3, 20, 15, 6, 1, 12, 12, 6, 15, 15, 12, 19] ANS="" for c in C: ANS+=chr(c+96) #print("".join(ANS)) # an integer is called fool iff all substrings are primes output the product of all fools def calc_prime(x): if x==1: return False for i in range(2,round(x**(1/2))+1): if 1