allocate mem(2^30)

{
	nb = [0, 0];
	uu = [0, 0];
	vv = [0, 0];

	a = vector(10 000);
	for (n=1, #a,
		if (n==1,
				v=1,
			n==2,
				v=2,
				while (nb[v++]!=1,
				);
		);

		print (n " " uu[v]);

		a[n] = v;

		for (k=1, n-1,
			s=a[k]+a[n];
			while (#nb < s,
				nb = concat(nb, vector(#nb));
				uu = concat(uu, vector(#uu));
				vv = concat(vv, vector(#vv));
			);
			nb[s]++;
			uu[s]=k;
			vv[s]=n;
		);
	);
}

quit