program firstExample {
  declarations
    a, b, c -> Integer;
    d -> Boolean;
    subProgram innerFunction(e -> Integer) -> Boolean {
      declarations
        f -> Integer;
      statements
        if(e==0) then { f := 0; } else { f := 1; };
        return True;
    };

  statements
    d := innerFunction(a);
    for(b in 2 to 3) {write b;};
    for(c in 1 to 10) step 2 satisfying (c/4==0) {write c;};
}
