a=[] primes=[] for i in range(2,1300): j=2 fail=0 while j*j<=i: if i%j==0: fail=1 break j+=1 if fail==0: primes.append(i) grid=[] for i in range(1300): grid.append([1]*1300) for prime in primes: for i in range(prime,1300,prime): for j in range(prime,1300,prime): grid[i][j]=0 for i in range(1,1300): for j in range(1,1300): if grid[i][j]==1: a.append((i,j)) def get_frac(tuple1): return tuple1[1]/tuple1[0] a.sort(key=get_frac) currx=0 curry=0 print(10**6) ans=[str(currx)+' '+str(curry)] for i in range(10**6-1): currx+=a[i][0] curry+=a[i][1] ans.append(str(currx)+' '+str(curry)) print('\n'.join(ans))