MAX=1000010 # 線形篩。エラトステネスの篩を線形にできる。 Sieve=[-1]*MAX Primes=[] for i in range(2,MAX): if Sieve[i]==-1: Primes.append(i) Sieve[i]=i for p in Primes: if p*i>=MAX or p>Sieve[i]: break else: Sieve[p*i]=p # 素因数分解 def fact(x): D=dict() while x!=1: k=Sieve[x] if k in D: D[k]+=1 else: D[k]=1 x//=k return D from math import gcd N=int(input()) SP=set(Primes) ANS=0 for x in range(4,N+1): LIST=list(fact(x)) score=0 for i in range(1<