class Obj{} var p = Obj(); p.length = 0; p.next = nil; fun append(p, item){ p.length = p.length + 1; var n = Obj(); n.next = p.next; p.next = n; } fun walk(p){ class Res{} var n = p; var d = 0; while(n.next){ n = n.next; d = d + 1; } var r = Res(); r.item = n; r.depth = d; return r; } fun max(a, b){ if(a > b) return a; return b; } var sum = 0; var maxLength = 0; for(var i = 0; i < 10; i = i + 1){ append(p, Obj()); sum = sum + p.length; var res = walk(p); sum = sum - res.depth; maxLength = max(maxLength, p.length); } print sum; print maxLength;