0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
50
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
A0
B0
B0
B0
B0
B0
B0
B0
B0
B0
B0
B0
B0
B0
B0
B0
B0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
C0
D0
D0
D0
D0
D0
D0
D0
D0
D0
D0
D0
D0
D0
D0
D0
D0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
E0
F0
F0
F0
F0
F0
F0
F0
F0
F0
F0
F0
F0
F0
F0
F0
F0
0
0
0
0
0
0
0
0
8
8
8
8
8
8
8
8
10
10
10
10
10
10
10
10
18
18
18
18
18
18
18
18
20
20
20
20
20
20
20
20
28
28
28
28
28
28
28
28
30
30
30
30
30
30
30
30
38
38
38
38
38
38
38
38
40
40
40
40
40
40
40
40
48
48
48
48
48
48
48
48
50
50
50
50
50
50
50
50
58
58
58
58
58
58
58
58
60
60
60
60
60
60
60
60
68
68
68
68
68
68
68
68
70
70
70
70
70
70
70
70
78
78
78
78
78
78
78
78
80
80
80
80
80
80
80
80
88
88
88
88
88
88
88
88
90
90
90
90
90
90
90
90
98
98
98
98
98
98
98
98
A0
A0
A0
A0
A0
A0
A0
A0
A8
A8
A8
A8
A8
A8
A8
A8
B0
B0
B0
B0
B0
B0
B0
B0
B8
B8
B8
B8
B8
B8
B8
B8
C0
C0
C0
C0
C0
C0
C0
C0
C8
C8
C8
C8
C8
C8
C8
C8
D0
D0
D0
D0
D0
D0
D0
D0
D8
D8
D8
D8
D8
D8
D8
D8
E0
E0
E0
E0
E0
E0
E0
E0
E8
E8
E8
E8
E8
E8
E8
E8
F0
F0
F0
F0
F0
F0
F0
F0
F8
F8
F8
F8
F8
F8
F8
F8
0
0
0
0
4
4
4
4
8
8
8
8
C
C
C
C
10
10
10
10
14
14
14
14
18
18
18
18
1C
1C
1C
1C
20
20
20
20
24
24
24
24
28
28
28
28
2C
2C
2C
2C
30
30
30
30
34
34
34
34
38
38
38
38
3C
3C
3C
3C
40
40
40
40
44
44
44
44
48
48
48
48
4C
4C
4C
4C
50
50
50
50
54
54
54
54
58
58
58
58
5C
5C
5C
5C
60
60
60
60
64
64
64
64
68
68
68
68
6C
6C
6C
6C
70
70
70
70
74
74
74
74
78
78
78
78
7C
7C
7C
7C
80
80
80
80
84
84
84
84
88
88
88
88
8C
8C
8C
8C
90
90
90
90
94
94
94
94
98
98
98
98
9C
9C
9C
9C
A0
A0
A0
A0
A4
A4
A4
A4
A8
A8
A8
A8
AC
AC
AC
AC
B0
B0
B0
B0
B4
B4
B4
B4
B8
B8
B8
B8
BC
BC
BC
BC
C0
C0
C0
C0
C4
C4
C4
C4
C8
C8
C8
C8
CC
CC
CC
CC
D0
D0
D0
D0
D4
D4
D4
D4
D8
D8
D8
D8
DC
DC
DC
DC
E0
E0
E0
E0
E4
E4
E4
E4
E8
E8
E8
E8
EC
EC
EC
EC
F0
F0
F0
F0
F4
F4
F4
F4
F8
F8
F8
F8
FC
FC
FC
FC
0
0
2
2
4
4
6
6
8
8
A
A
C
C
E
E
10
10
12
12
14
14
16
16
18
18
1A
1A
1C
1C
1E
1E
20
20
22
22
24
24
26
26
28
28
2A
2A
2C
2C
2E
2E
30
30
32
32
34
34
36
36
38
38
3A
3A
3C
3C
3E
3E
40
40
42
42
44
44
46
46
48
48
4A
4A
4C
4C
4E
4E
50
50
52
52
54
54
56
56
58
58
5A
5A
5C
5C
5E
5E
60
60
62
62
64
64
66
66
68
68
6A
6A
6C
6C
6E
6E
70
70
72
72
74
74
76
76
78
78
7A
7A
7C
7C
7E
7E
80
80
82
82
84
84
86
86
88
88
8A
8A
8C
8C
8E
8E
90
90
92
92
94
94
96
96
98
98
9A
9A
9C
9C
9E
9E
A0
A0
A2
A2
A4
A4
A6
A6
A8
A8
AA
AA
AC
AC
AE
AE
B0
B0
B2
B2
B4
B4
B6
B6
B8
B8
BA
BA
BC
BC
BE
BE
C0
C0
C2
C2
C4
C4
C6
C6
C8
C8
CA
CA
CC
CC
CE
CE
D0
D0
D2
D2
D4
D4
D6
D6
D8
D8
DA
DA
DC
DC
DE
DE
E0
E0
E2
E2
E4
E4
E6
E6
E8
E8
EA
EA
EC
EC
EE
EE
F0
F0
F2
F2
F4
F4
F6
F6
F8
F8
FA
FA
FC
FC
FE
FE
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
80
81
82
83
84
85
86
87
88
89
8A
8B
8C
8D
8E
8F
90
91
92
93
94
95
96
97
98
99
9A
9B
9C
9D
9E
9F
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
AA
AB
AC
AD
AE
AF
B0
B1
B2
B3
B4
B5
B6
B7
B8
B9
BA
BB
BC
BD
BE
BF
C0
C1
C2
C3
C4
C5
C6
C7
C8
C9
CA
CB
CC
CD
CE
CF
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
DA
DB
DC
DD
DE
DF
E0
E1
E2
E3
E4
E5
E6
E7
E8
E9
EA
EB
EC
ED
EE
EF
F0
F1
F2
F3
F4
F5
F6
F7
F8
F9
FA
FB
FC
FD
FE
FF
