http://codeforces.com/gym/102028/problem/E
题意:给n个集合si,si为i的因子集合,这些因子必须不能被平方数整除;s12={1,2,3,6},在这些集合中取一个使得因子倒数和的倒数最小,最简分数表示;(n<=10^100)
思路:大数,取n以内的素因子达到最优,贡献是i/(i+1);
import math
maxn = 2000
def gcd(x,y):
if y: return gcd(y,x%y)
return x
def P():
isp=[True]*(maxn+10)
pri=[]
for i in range(2,maxn):
if isp[i]:
pri.append(i)
for j in range(i*i,maxn,i):
isp[j]=False
return pri
t=int(input())
prime = P()
while t:
n=int(input())
down=1
up=1
sum=1
for i in prime:
sum*=i
if sum>n:break
up*=i
down*=i+1
g=gcd(up,down)
up//=g
down//=g
print(str(up)+'/'+str(down))
t-=1