out = { decr = { out = add < (in; -1;); }; n = tupEl < (in; 0;); a = tupEl < (in; 1;); b = tupEl < (in; 2;); out = if < ( isZero < n; a; recur < ( decr < n; b; add < (a;b;); ); ); } < (in; 0; 1;);