from math import sqrt M=10**9 ANS=[(0,M)] N=2000000 while len(ANS)NG+1: mid=(OK+NG)//2 y=round(sqrt(M*M-mid*mid)) if y0: Q2.pop() else: break Q2.append((x,y)) Q2.reverse() Q=Q1+Q2[1:] # 上側凸包と下側凸包を結んで凸包が完成 ANS=[] for i in range(len(Q)): x,y=Q[i] z,w=Q[-1-i] ANS.append(str(x)+" "+str(y)) ANS.append(str(-z)+" "+str(w)) ANS.append(str(-x)+" "+str(-y)) ANS.append(str(z)+" "+str(-w)) n=10**6 print(n,flush=True) ANS=ANS[:n] print("\n".join(ANS),flush=True)