int INT
gcd ID
( LSB
int INT
u ID
, COMMA
int INT
v ID
) RSB
{ LBB
if IF
( LSB
v ID
!= NOTEQUAL
0 NUM
) RSB
return RETURN
u ID
; SEMICOLON
else ELSE
{ LBB
return RETURN
get ID
( LSB
v ID
, COMMA
u ID
- MINUS
u ID
/ DIV
v ID
* MUL
v ID
) RSB
; SEMICOLON
} RBB
} RBB
int INT
gad ID
( LSB
int INT
t ID
) RSB
{ LBB
if IF
( LSB
w ID
>= MOREEQUALTHAN
0 NUM
) RSB
{ LBB
return RETURN
i ID
; SEMICOLON
} RBB
} RBB
int INT
gac ID
( LSB
int INT
t ID
) RSB
{ LBB
if IF
( LSB
w ID
>= MOREEQUALTHAN
0 NUM
) RSB
{ LBB
return RETURN
i ID
; SEMICOLON
} RBB
if IF
( LSB
i ID
> MORETHAN
0 NUM
) RSB
{ LBB
i ID
= ASSIGN
0 NUM
; SEMICOLON
} RBB
} RBB
void VOID
main ID
( LSB
void VOID
) RSB
{ LBB
int INT
x ID
; SEMICOLON
int INT
y ID
; SEMICOLON
int INT
z ID
; SEMICOLON
if IF
( LSB
i ID
== EQUAL
3 NUM
) RSB
{ LBB
input ID
( LSB
) RSB
; SEMICOLON
if IF
( LSB
i ID
> MORETHAN
1 NUM
) RSB
{ LBB
i ID
= ASSIGN
i ID
+ ADD
1 NUM
; SEMICOLON
if IF
( LSB
i ID
< LESSTHAN
8 NUM
) RSB
{ LBB
i ID
= ASSIGN
0 NUM
; SEMICOLON
} RBB
input ID
( LSB
) RSB
; SEMICOLON
input ID
( LSB
) RSB
; SEMICOLON
} RBB
output ID
( LSB
gcd ID
( LSB
x ID
, COMMA
y ID
) RSB
) RSB
; SEMICOLON
} RBB
} RBB
void VOID
sort ID
( LSB
int INT
a ID
[ LMB
] RMB
, COMMA
int INT
low ID
, COMMA
int INT
high ID
) RSB
{ LBB
int INT
i ID
; SEMICOLON
int INT
k ID
; SEMICOLON
while WHILE
( LSB
i ID
< LESSTHAN
high ID
- MINUS
1 NUM
) RSB
{ LBB
int INT
t ID
; SEMICOLON
k ID
= ASSIGN
minloc ID
( LSB
a ID
, COMMA
i ID
, COMMA
high ID
) RSB
; SEMICOLON
t ID
= ASSIGN
a ID
[ LMB
k ID
] RMB
; SEMICOLON
a ID
[ LMB
k ID
] RMB
= ASSIGN
a ID
[ LMB
i ID
] RMB
; SEMICOLON
a ID
[ LMB
i ID
] RMB
= ASSIGN
t ID
; SEMICOLON
i ID
= ASSIGN
i ID
+ ADD
1 NUM
; SEMICOLON
} RBB
} RBB