{
	T = vector(141, n, vector(n));
	nb = vector(#T);
	u = 1;
	m = 0;

	time = vector(1);
	v = 1;
	for (n=1, oo,
		for (o=1, oo,
			while (#time < o*v,
				time = concat(time, vector(#time));
			);
			if (time[o*v]+1<=o*v,
				time[o*v]++;

				if (o*v<=#T,
					T[o*v][nb[o*v]++] = n;
				);

				v=o;
				break;
			);
		);
		while (nb[u]==u,
			for (k=1, u,
				print (m++ " " T[u][k]);
			);
			if (u++>#nb,
				break (2);
			);
		);
	);
}

quit