namespace; include rt; fn layer0(n) { return seed(n); } fn layer1(n) { return layer0(n); } fn layer2(n) { return layer1(n); } int seed(int n) { return n; } fn countdown(n) { if (n == 0) return seed(7); return countdown(n - 1); } .u make_list(cap) { let list = rt.new(cap + 1); list[0] = cap; return list; } .u pass_list(n) { let list = make_list(n); return list; } fn main() { let list = pass_list(layer2(41)); rt.put_n(list[0]); rt.put_c(32); rt.put_n(countdown(3)); rt.put_c(10); }