1029 lines
4.0 KiB
C
1029 lines
4.0 KiB
C
#define O \
|
|
#ifdef
|
|
#define Q \
|
|
#undef
|
|
#define C \
|
|
#define
|
|
#define G \
|
|
#else
|
|
#define D \
|
|
#ifndef
|
|
#define l \
|
|
#include FNAME
|
|
#define I \
|
|
#endif
|
|
|
|
|
|
|
|
O i
|
|
O o
|
|
O c
|
|
Q c
|
|
I
|
|
O d
|
|
Q d
|
|
I
|
|
O e
|
|
Q e
|
|
I
|
|
O f
|
|
Q f
|
|
I
|
|
O g
|
|
Q g
|
|
I
|
|
O h
|
|
Q h
|
|
I
|
|
O Z
|
|
Q Z
|
|
I
|
|
O j
|
|
Q j
|
|
I
|
|
O k
|
|
Q k
|
|
I
|
|
O m
|
|
Q m
|
|
I
|
|
O n
|
|
Q n
|
|
I
|
|
Q o
|
|
G
|
|
O E
|
|
O t
|
|
Q t
|
|
I
|
|
O s
|
|
Q s
|
|
I
|
|
O u
|
|
Q u
|
|
I
|
|
O v
|
|
Q v
|
|
I
|
|
O w
|
|
Q w
|
|
I
|
|
O x
|
|
Q x
|
|
I
|
|
O y
|
|
Q y
|
|
I
|
|
O z
|
|
Q z
|
|
I
|
|
O A
|
|
Q A
|
|
I
|
|
O B
|
|
Q B
|
|
I
|
|
O r
|
|
Q r
|
|
I
|
|
Q E
|
|
G
|
|
O _L
|
|
O a
|
|
O b
|
|
D q
|
|
Q a
|
|
C q
|
|
I
|
|
G
|
|
O q
|
|
Q a
|
|
I
|
|
I
|
|
G
|
|
O b
|
|
D q
|
|
C a
|
|
I
|
|
G
|
|
O q
|
|
C a
|
|
Q q
|
|
I
|
|
I
|
|
I
|
|
O p
|
|
Q p
|
|
I
|
|
O a
|
|
C p
|
|
Q a
|
|
I
|
|
O b
|
|
Q b
|
|
I
|
|
G
|
|
O F
|
|
O q
|
|
Q q
|
|
I
|
|
C _L
|
|
O c
|
|
Q c
|
|
C a
|
|
I
|
|
O t
|
|
C b
|
|
I
|
|
l
|
|
O p
|
|
C c
|
|
I
|
|
O d
|
|
Q d
|
|
C a
|
|
I
|
|
O s
|
|
C b
|
|
I
|
|
l
|
|
O p
|
|
C d
|
|
I
|
|
O e
|
|
Q e
|
|
C a
|
|
I
|
|
O u
|
|
C b
|
|
I
|
|
l
|
|
O p
|
|
C e
|
|
I
|
|
O f
|
|
Q f
|
|
C a
|
|
I
|
|
O v
|
|
C b
|
|
I
|
|
l
|
|
O p
|
|
C f
|
|
I
|
|
O g
|
|
Q g
|
|
C a
|
|
I
|
|
O w
|
|
C b
|
|
I
|
|
l
|
|
O p
|
|
C g
|
|
I
|
|
O h
|
|
Q h
|
|
C a
|
|
I
|
|
O x
|
|
C b
|
|
I
|
|
l
|
|
O p
|
|
C h
|
|
I
|
|
O Z
|
|
Q Z
|
|
C a
|
|
I
|
|
O y
|
|
C b
|
|
I
|
|
l
|
|
O p
|
|
C Z
|
|
I
|
|
O j
|
|
Q j
|
|
C a
|
|
I
|
|
O z
|
|
C b
|
|
I
|
|
l
|
|
O p
|
|
C j
|
|
I
|
|
O k
|
|
Q k
|
|
C a
|
|
I
|
|
O A
|
|
C b
|
|
I
|
|
l
|
|
O p
|
|
C k
|
|
I
|
|
O m
|
|
Q m
|
|
C a
|
|
I
|
|
O B
|
|
C b
|
|
I
|
|
l
|
|
O p
|
|
C m
|
|
I
|
|
O n
|
|
Q n
|
|
C a
|
|
I
|
|
O r
|
|
C b
|
|
I
|
|
l
|
|
O p
|
|
C n
|
|
I
|
|
Q _L
|
|
Q F
|
|
G
|
|
O H
|
|
C E
|
|
l
|
|
C s
|
|
C F
|
|
l
|
|
Q s
|
|
Q H
|
|
G
|
|
O _u
|
|
O t
|
|
Q t
|
|
G
|
|
C t
|
|
I
|
|
O s
|
|
Q s
|
|
G
|
|
C s
|
|
I
|
|
O u
|
|
Q u
|
|
G
|
|
C u
|
|
I
|
|
O v
|
|
Q v
|
|
G
|
|
C v
|
|
I
|
|
O w
|
|
Q w
|
|
G
|
|
C w
|
|
I
|
|
O x
|
|
Q x
|
|
G
|
|
C x
|
|
I
|
|
O y
|
|
Q y
|
|
G
|
|
C y
|
|
I
|
|
O z
|
|
Q z
|
|
G
|
|
C z
|
|
I
|
|
O A
|
|
Q A
|
|
G
|
|
C A
|
|
I
|
|
O B
|
|
Q B
|
|
G
|
|
C B
|
|
I
|
|
O r
|
|
Q r
|
|
G
|
|
C r
|
|
I
|
|
C F
|
|
l
|
|
O _v
|
|
Q _v
|
|
I
|
|
O q
|
|
C _v
|
|
I
|
|
C E
|
|
l
|
|
C t
|
|
C F
|
|
l
|
|
O _v
|
|
O q
|
|
Q q
|
|
G
|
|
C q
|
|
I
|
|
I
|
|
Q _u
|
|
G
|
|
O _w
|
|
O J
|
|
Q J
|
|
I
|
|
O _q
|
|
Q _q
|
|
I
|
|
C _u
|
|
l
|
|
D c
|
|
D d
|
|
D e
|
|
D f
|
|
D g
|
|
D h
|
|
D Z
|
|
D j
|
|
D k
|
|
D m
|
|
D n
|
|
C J
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
D q
|
|
C _q
|
|
I
|
|
Q _w
|
|
G
|
|
O _x
|
|
O K
|
|
Q K
|
|
I
|
|
O \
|
|
STOP
|
|
C K
|
|
I
|
|
O _r
|
|
C K
|
|
I
|
|
D K
|
|
D _s
|
|
C _s
|
|
D L
|
|
C L
|
|
I
|
|
D M
|
|
C M
|
|
I
|
|
D N
|
|
C N
|
|
I
|
|
D P
|
|
C P
|
|
I
|
|
D R
|
|
C R
|
|
I
|
|
D S
|
|
C S
|
|
I
|
|
D T
|
|
C T
|
|
I
|
|
D U
|
|
C U
|
|
I
|
|
D V
|
|
C V
|
|
I
|
|
D W
|
|
C W
|
|
I
|
|
D X
|
|
C X
|
|
I
|
|
D Y
|
|
C Y
|
|
I
|
|
D _i
|
|
C _i
|
|
I
|
|
D _a
|
|
C _a
|
|
I
|
|
D _b
|
|
C _b
|
|
I
|
|
D _c
|
|
C _c
|
|
I
|
|
D _d
|
|
C _d
|
|
I
|
|
D _e
|
|
C _e
|
|
I
|
|
D _f
|
|
C _f
|
|
I
|
|
D _g
|
|
C _g
|
|
I
|
|
I
|
|
C E
|
|
l
|
|
C t
|
|
O _h
|
|
C s
|
|
I
|
|
O _t
|
|
C u
|
|
I
|
|
O _3
|
|
C v
|
|
I
|
|
O _4
|
|
C w
|
|
I
|
|
O _5
|
|
C x
|
|
I
|
|
O _6
|
|
C y
|
|
I
|
|
O _7
|
|
C z
|
|
I
|
|
O _8
|
|
C A
|
|
I
|
|
O _9
|
|
C B
|
|
I
|
|
O _r
|
|
C r
|
|
I
|
|
C _w
|
|
l
|
|
C o
|
|
l
|
|
D J
|
|
O _q
|
|
C c
|
|
O X
|
|
Q X
|
|
C d
|
|
I
|
|
O Y
|
|
Q Y
|
|
C e
|
|
I
|
|
O _i
|
|
Q _i
|
|
C f
|
|
I
|
|
O _a
|
|
Q _a
|
|
C g
|
|
I
|
|
O _b
|
|
Q _b
|
|
C h
|
|
I
|
|
O _c
|
|
Q _c
|
|
C Z
|
|
I
|
|
O _d
|
|
Q _d
|
|
C j
|
|
I
|
|
O _e
|
|
Q _e
|
|
C k
|
|
I
|
|
O _f
|
|
Q _f
|
|
C m
|
|
I
|
|
O _g
|
|
Q _g
|
|
C n
|
|
I
|
|
C H
|
|
l
|
|
C E
|
|
l
|
|
C t
|
|
O d
|
|
C X
|
|
C s
|
|
I
|
|
O e
|
|
C Y
|
|
C u
|
|
I
|
|
O f
|
|
C _i
|
|
C v
|
|
I
|
|
O g
|
|
C _a
|
|
C w
|
|
I
|
|
O h
|
|
C _b
|
|
C x
|
|
I
|
|
O Z
|
|
C _c
|
|
C y
|
|
I
|
|
O j
|
|
C _d
|
|
C z
|
|
I
|
|
O k
|
|
C _e
|
|
C A
|
|
I
|
|
O m
|
|
C _f
|
|
C B
|
|
I
|
|
O n
|
|
C _g
|
|
C r
|
|
I
|
|
G
|
|
C c
|
|
O L
|
|
Q L
|
|
C d
|
|
I
|
|
O M
|
|
Q M
|
|
C e
|
|
I
|
|
O N
|
|
Q N
|
|
C f
|
|
I
|
|
O P
|
|
Q P
|
|
C g
|
|
I
|
|
O R
|
|
Q R
|
|
C h
|
|
I
|
|
O S
|
|
Q S
|
|
C Z
|
|
I
|
|
O T
|
|
Q T
|
|
C j
|
|
I
|
|
O U
|
|
Q U
|
|
C k
|
|
I
|
|
O V
|
|
Q V
|
|
C m
|
|
I
|
|
O W
|
|
Q W
|
|
C n
|
|
I
|
|
C H
|
|
l
|
|
C E
|
|
l
|
|
C t
|
|
O d
|
|
C L
|
|
C s
|
|
I
|
|
O e
|
|
C M
|
|
C u
|
|
I
|
|
O f
|
|
C N
|
|
C v
|
|
I
|
|
O g
|
|
C P
|
|
C w
|
|
I
|
|
O h
|
|
C R
|
|
C x
|
|
I
|
|
O Z
|
|
C S
|
|
C y
|
|
I
|
|
O j
|
|
C T
|
|
C z
|
|
I
|
|
O k
|
|
C U
|
|
C A
|
|
I
|
|
O m
|
|
C V
|
|
C B
|
|
I
|
|
O n
|
|
C W
|
|
C r
|
|
I
|
|
I
|
|
I
|
|
C o
|
|
l
|
|
O _y
|
|
Q _y
|
|
C c
|
|
I
|
|
O _z
|
|
Q _z
|
|
C d
|
|
I
|
|
O _A
|
|
Q _A
|
|
C e
|
|
I
|
|
O _B
|
|
Q _B
|
|
C f
|
|
I
|
|
O _C
|
|
Q _C
|
|
C g
|
|
I
|
|
O _D
|
|
Q _D
|
|
C h
|
|
I
|
|
O _E
|
|
Q _E
|
|
C Z
|
|
I
|
|
O _F
|
|
Q _F
|
|
C j
|
|
I
|
|
O _G
|
|
Q _G
|
|
C k
|
|
I
|
|
O _H
|
|
Q _H
|
|
C m
|
|
I
|
|
O _I
|
|
Q _I
|
|
C n
|
|
I
|
|
O J
|
|
C o
|
|
l
|
|
O _s
|
|
C c
|
|
I
|
|
O L
|
|
C d
|
|
I
|
|
O M
|
|
C e
|
|
I
|
|
O N
|
|
C f
|
|
I
|
|
O P
|
|
C g
|
|
I
|
|
O R
|
|
C h
|
|
I
|
|
O S
|
|
C Z
|
|
I
|
|
O T
|
|
C j
|
|
I
|
|
O U
|
|
C k
|
|
I
|
|
O V
|
|
C m
|
|
I
|
|
O W
|
|
C n
|
|
I
|
|
C H
|
|
l
|
|
C E
|
|
l
|
|
O _M
|
|
C t
|
|
I
|
|
O X
|
|
C s
|
|
I
|
|
O Y
|
|
C u
|
|
I
|
|
O _i
|
|
C v
|
|
I
|
|
O _a
|
|
C w
|
|
I
|
|
O _b
|
|
C x
|
|
I
|
|
O _c
|
|
C y
|
|
I
|
|
O _d
|
|
C z
|
|
I
|
|
O _e
|
|
C A
|
|
I
|
|
O _f
|
|
C B
|
|
I
|
|
O _g
|
|
C r
|
|
I
|
|
C _w
|
|
l
|
|
O J
|
|
Q i
|
|
l
|
|
O _h
|
|
| 2
|
|
I
|
|
O _t
|
|
| 4
|
|
I
|
|
O _3
|
|
| 8
|
|
I
|
|
O _4
|
|
| 16
|
|
I
|
|
O _5
|
|
| 32
|
|
I
|
|
O _6
|
|
| 64
|
|
I
|
|
O _7
|
|
|128
|
|
I
|
|
O _8
|
|
|256
|
|
I
|
|
O _9
|
|
|512
|
|
I
|
|
)
|
|
;
|
|
I
|
|
C o
|
|
l
|
|
C c
|
|
O _h
|
|
Q _h
|
|
C d
|
|
I
|
|
O _t
|
|
Q _t
|
|
C e
|
|
I
|
|
O _3
|
|
Q _3
|
|
C f
|
|
I
|
|
O _4
|
|
Q _4
|
|
C g
|
|
I
|
|
O _5
|
|
Q _5
|
|
C h
|
|
I
|
|
O _6
|
|
Q _6
|
|
C Z
|
|
I
|
|
O _7
|
|
Q _7
|
|
C j
|
|
I
|
|
O _8
|
|
Q _8
|
|
C k
|
|
I
|
|
O _9
|
|
Q _9
|
|
C m
|
|
I
|
|
O _r
|
|
Q _r
|
|
C n
|
|
I
|
|
C H
|
|
l
|
|
O d
|
|
C _h
|
|
I
|
|
O e
|
|
C _t
|
|
I
|
|
O f
|
|
C _3
|
|
I
|
|
O g
|
|
C _4
|
|
I
|
|
O h
|
|
C _5
|
|
I
|
|
O Z
|
|
C _6
|
|
I
|
|
O j
|
|
C _7
|
|
I
|
|
O k
|
|
C _8
|
|
I
|
|
O m
|
|
C _9
|
|
I
|
|
O n
|
|
C _r
|
|
I
|
|
C o
|
|
l
|
|
Q _s
|
|
G
|
|
O _q
|
|
C F
|
|
G
|
|
C _u
|
|
I
|
|
l
|
|
O c
|
|
C _y
|
|
I
|
|
O d
|
|
C _z
|
|
I
|
|
O e
|
|
C _A
|
|
I
|
|
O f
|
|
C _B
|
|
I
|
|
O g
|
|
C _C
|
|
I
|
|
O h
|
|
C _D
|
|
I
|
|
O Z
|
|
C _E
|
|
I
|
|
O j
|
|
C _F
|
|
I
|
|
O k
|
|
C _G
|
|
I
|
|
O m
|
|
C _H
|
|
I
|
|
O n
|
|
C _I
|
|
I
|
|
I
|
|
I
|
|
G
|
|
O _J
|
|
C _x
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
Q _x
|
|
G
|
|
O _K
|
|
C _J
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
Q _J
|
|
G
|
|
C _K
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
l
|
|
Q _K
|
|
D K
|
|
l
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
I
|
|
G
|
|
C i
|
|
O _N
|
|
pri\
|
|
ntf(
|
|
"%d"
|
|
"\n"
|
|
,
|
|
1
|
|
G
|
|
# \
|
|
inc\
|
|
lud\
|
|
e<s\
|
|
tdi\
|
|
o.h>
|
|
int\
|
|
ma\
|
|
in()
|
|
C _N
|
|
C _h
|
|
C _M
|
|
Q i
|
|
{
|
|
l
|
|
+
|
|
1
|
|
)
|
|
;
|
|
l
|
|
}
|
|
I
|
|
I
|