\d .t. T:S:() A:{[t;s]@[`.t.;`T`S;{(x#y),(,z),x _ y}[.t..T _bin 1+t];(t;s)];} R:{[t;s].t..A[_t+t;s,";t..A[_t+",($t),";.t..Z]"];} t:"while[~t<*t..T,2000000;t..Z:*.t..S;@[`t.;`T`S;1_];:[4:t..Z;. t..Z;.[.;t..Z]]]" \t 1