a=[] primes=[] for i in range(2,650): 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(650): grid.append([1]*650) for prime in primes: for i in range(prime,650,prime): for j in range(prime,650,prime): grid[i][j]=0 for i in range(1,650): for j in range(1,650): 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=-10**9 print(10**6) ans=[] for i in range(250000): currx+=a[i][0] curry+=a[i][1] ans.append(str(currx)+' '+str(curry)) for i in range(250000): currx-=a[i][1] curry+=a[i][0] ans.append(str(currx)+' '+str(curry)) for i in range(250000): currx-=a[i][0] curry-=a[i][1] ans.append(str(currx)+' '+str(curry)) for i in range(250000): currx+=a[i][1] curry-=a[i][0] ans.append(str(currx)+' '+str(curry)) print('\n'.join(ans))