def Sieve_of_Eratosthenes(N,mode=False): """Nまでのエラトステネスの篩を実行 N:自然数 mode:False->素数のリスト,True->素数かどうかのリスト (False->[2,3,5,...],True->[False,False,True,True,False,True,...]) """ T=[True]*(N+1) T[0]=T[1]=0 a=2 while a*a<=N: if T[a]: b=a*a while b<=N: T[b]=False b+=a a+=1 if mode: return T else: return [k for k in range(N+1) if T[k]] #----------------------------------------------------------- N=int(input()) P=Sieve_of_Eratosthenes(N,False) inf=float("inf") M=[inf]*(N+1) M[2]=M[3]=0 for i in range(4,N+1): X=set() for p in P: if i