struct A { int i; int j1; bool b; struct A a; }; struct B { struct A a; }; int i, j, k; struct B b, bb, bbb; bool bob; fun g(int i, struct B j) int { int g, m, k; return 3; } fun foo(int n) int { if (n <= 0) { return 1; } else { return n * foo(n - 1); } } fun f(int i, struct B j) struct A { int f, l, k; b.a.a.a.i = 7; return b.a.a.a.a; } fun bar(struct B j, int i) void { } fun main() int { struct A a; int i, j, k; bool b; int h; { i = --2; if (i < g(1,null)) { print 1; } if (i > g(1,null)) { print 1; } else { print 3 endl; } while (true) { print 7; } f(g(1,new B),new B); print 1; bar(new B, g(1,new B)); print 2; print f(g(1,new B),new B).i endl; } return 0; }