FUNCTION IDENT main SEMICOLON BEGIN_PARAMS END_PARAMS BEGIN_LOCALS IDENT n COLON INTEGER SEMICOLON IDENT i COMMA IDENT j COMMA IDENT k COLON INTEGER SEMICOLON IDENT t COLON ARRAY L_SQUARE_BRACKET NUMBER 20 R_SQUARE_BRACKET OF INTEGER SEMICOLON END_LOCALS BEGIN_BODY READ IDENT i COMMA IDENT j SEMICOLON IDENT k ASSIGN NUMBER 0 SEMICOLON IDENT n ASSIGN NUMBER 20 SEMICOLON DO BEGINLOOP IDENT t L_SQUARE_BRACKET IDENT k R_SQUARE_BRACKET ASSIGN IDENT k SEMICOLON IDENT k ASSIGN IDENT k ADD NUMBER 1 SEMICOLON IF IDENT k MOD NUMBER 2 EQ NUMBER 0 THEN CONTINUE SEMICOLON ENDIF SEMICOLON WRITE IDENT t L_SQUARE_BRACKET IDENT k SUB NUMBER 1 R_SQUARE_BRACKET SEMICOLON ENDLOOP WHILE IDENT k LT IDENT n SEMICOLON IF IDENT i LT IDENT j AND IDENT j LT IDENT n AND IDENT i GTE NUMBER 0 THEN IDENT t L_SQUARE_BRACKET IDENT i R_SQUARE_BRACKET ASSIGN IDENT i MULT NUMBER 2 SEMICOLON IDENT t L_SQUARE_BRACKET IDENT j R_SQUARE_BRACKET ASSIGN IDENT j MULT NUMBER 2 SEMICOLON IDENT k ASSIGN IDENT t L_SQUARE_BRACKET IDENT i R_SQUARE_BRACKET SEMICOLON IDENT t L_SQUARE_BRACKET IDENT i R_SQUARE_BRACKET ASSIGN IDENT t L_SQUARE_BRACKET IDENT j R_SQUARE_BRACKET SEMICOLON IDENT t L_SQUARE_BRACKET IDENT j R_SQUARE_BRACKET ASSIGN IDENT k SEMICOLON ELSE WHILE IDENT i GTE IDENT j OR FALSE BEGINLOOP IDENT k ASSIGN L_PAREN NUMBER 1 ADD IDENT i SUB IDENT j R_PAREN MOD NUMBER 3 SEMICOLON IDENT i ASSIGN IDENT i SUB NUMBER 1 SEMICOLON IF IDENT k GT NUMBER 1 THEN CONTINUE SEMICOLON ENDIF SEMICOLON WRITE IDENT k SEMICOLON ENDLOOP SEMICOLON ENDIF SEMICOLON WRITE IDENT i COMMA IDENT j COMMA IDENT k SEMICOLON IF IDENT i LT IDENT n AND IDENT i GTE NUMBER 0 THEN WRITE IDENT t L_SQUARE_BRACKET IDENT i R_SQUARE_BRACKET SEMICOLON ENDIF SEMICOLON IF IDENT j LT IDENT n AND IDENT j GTE NUMBER 0 THEN WRITE IDENT t L_SQUARE_BRACKET IDENT j R_SQUARE_BRACKET SEMICOLON ENDIF SEMICOLON END_BODY