A(x, y) = { if (x==0, 0, my (v=0, t=1, a=0, b=1, c=1, d=0); while (1, my (m=a+c, n=b+d); if (x*n==y*m, return (t+v), x*n<y*m, [c, d]=[m, n], [v, a, b]=[v+t, m, n]); t*=2)) } row(n) = { my (r=vector(eulerphi(n)), i=0); for (k=0, oo, if (gcd(n,k)==1, r[i++] = A(k, n-k); if (i==#r, return (vecsort(r)); ); ); ); } m=1; for (n=1, 2^7, apply (v -> print (m++ " " v), row(n))) quit