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