45
54
73
88
50
79
56
63
70
77
60
47
42
84
72
56
63
49
63
52
70
67
39
56
41
57
55
74
59
53
71
45
43
44
53
46
81
47
63
74
33
52
69
66
45
65
82
62
53
35
72
36
95
42
77
76
56
50
76
49
89
78
117
36
35
73
27
58
38
75
70
75
84
88
78
24
106
45
87
63
71
84
82
65
56
91
86
51
76
59
76
80
83
55
41
65
44
56
110
63
57
71
93
74
61
69
78
33
40
70
67
84
59
76
93
50
35
95
79
26
67
35
58
35
55
37
54
49
59
58
70
61
51
58
46
48
70
97
52
62
72
45
73
75
66
39
45
85
44
44
83
84
75
87
45
42
75
49
35
62
58
53
76
56
36
79
51
60
66
46
73
55
47
54
33
50
85
74
69
48
40
35
47
73
45
88
79
55
76
55
57
29
38
58
76
84
60
51
63
53
47
63
50
44
73
69
65
56
31
82
63
30
54
52
54
69
64
59
61
55
54
66
65
63
60
59
34
67
51
84
55
62
83
40
74
37
39
38
43
41
111
61
87
80
47
34
64
54
31
93
27
50
64
51
80
76
69
45
57
68
65
60
58
59
78
91
62
52
36
63
70
35
86
66
43
75
85
36
47
43
45
79
52
69
62
45
99
33
59
70
31
88
63
70
98
44
46
80
39
94
50
67
49
37
46
38
32
47
49
47
97
40
80
34
86
86
70
86
33
61
31
55
62
77
43
37
40
63
73
31
48
42
33
51
92
60
52
78
71
84
53
76
71
52
79
83
106
44
30
65
44
60
58
93
41
73
69
84
93
47
58
48
23
64
58
77
53
76
31
65
58
80
56
45
97
59
70
61
96
90
51
75
91
61
33
64
42
88
62
56
75
38
100
38
52
56
72
49
46
39
60
55
86
77
39
70
39
76
60
46
57
140
71
34
55
46
60
70
40
68
92
51
34
61
59
85
72
71
96
52
91
95
56
80
27
59
47
90
46
74
35
42
89
37
91
90
74
46
62
76
51
67
63
61
75
83
48
55
65
69
75
47
65
93
122
81
39
38
60
75
53
68
111
55
39
47
58
59
60
72
76
61
66
82
67
57
81
43
46
61
82
68
48
68
54
69
36
46
71
83
80
57
69
78
56
47
48
47
58
68
41
52
59
46
47
66
60
35
60
43
72
84
46
38
66
86
76
61
55
58
83
50
27
46
56
52
52
37
57
70
67
65
66
41
63
75
76
78
58
91
59
42
52
74
33
50
69
64
44
42
79
110
102
71
55
47
59
38
59
91
47
49
42
53
55
55
63
62
46
70
61
82
39
51
84
57
59
89
56
59
42
43
72
59
69
47
80
72
71
77
40
66
56
46
46
31
96
65
88
41
56
58
121
77
30
62
61
81
95
55
130
60
80
66
51
92
76
55
61
40
52
57
46
57
39
63
63
51
65
43
43
53
38
69
52
59
40
78
82
66
107
37
51
84
59
66
56
80
44
28
76
50
60
35
70
57
73
34
80
56
67
59
41
75
55
46
69
34
61
35
58
69
70
55
23
97
67
28
69
60
68
72
54
64
46
55
94
90
90
59
50
51
84
29
75
76
62
110
55
56
53
61
40
28
71
35
58
61
30
49
71
53
62
42
69
73
70
41
79
45
66
60
68
56
91
60
47
100
62
40
37
48
35
77
62
89
68
60
33
44
82
61
56
48
74
59
92
69
49
41
64
36
62
53
71
75
61
59
80
58
97
37
33
46
44
68
43
39
65
48
54
51
44
101
37
66
78
37
46
49
83
59
66
107
48
53
49
29
49
63
79
75
66
63
63
50
79
26
55
44
54
59
64
95
102
77
45
75
65
104
49
73
98
48
64
44
72
58
73
96
67
56
53
62
72
61
54
52
69
83
54
52
107
56
43
64
48
99
48
62
68
45
71
49
67
48
38
69
69
50
42
59
63
82
31
79
72
45
34
43
54
122
52
33
42
39
101
108
75
63
47
47
63
65
53
62
34
58
66
31
61
60
83
39
37
56
82
99
48
31
47
45
50
50
41
46
40
91
103
30
58
72
61
41
82
82
64
40
39
65
50
51
60
76
51
60
23
49
43
44
87
54
64
58
71
49
52
69
33
69
35
61
53
52
52
35
72
73
46
78
58
56
54
55
45
77
63
33
72
61
40
34
61
47
78
73
111
50
33
65
60
72
47
75
58
80
45
67
80
80
103
74
105
51
42
51
85
66
73
59
55
56
65
76
83
46
46
60
26
61
66
73
39
86
34
58
45
71
50
77
52
72
74
60
98
67
55
82
71
69
46
47
58
72
61
84
68
47
50
31
78
46
47
65
60
93
46
54
43
47
56
37
81
55
53
61
67
66
32
60
80
27
61
92
78
66
44
63
73
84
69
59
61
63
56
53
73
43
72
65
55
60
47
57
40
65
77
50
70
41
40
79
96
71
42
41
85
58
34
86
33
42
55
79
54
53
85
40
72
51
65
43
60
59
35
74
74
54
69
92
58
92
90
67
96
61
64
49
55
84
72
44
55
54
82
59
60
53
116
96
66
82
47
70
56
115
38
70
40
48
48
51
39
72
73
49
41
132
45
78
47
68
45
59
65
34
54
62
47
97
91
69
65
48
39
55
36
50
71
81
34
91
49
47
85
44
35
49
43
47
33
35
67
53
75
75
83
77
56
53
54
86
63
121
42
52
32
89
77
47
48
58
61
58
62
53
61
69
43
88
38
38
50
56
48
92
70
44
51
56
68
62
59
118
19
55
105
72
30
88
45
53
81
39
59
52
70
38
50
57
61
46
78
62
63
71
89
31
64
39
87
76
64
42
77
52
56
42
47
98
104
81
57
61
29
46
91
65
51
63
60
106
71
84
59
55
54
40
48
56
54
59
65
93
72
57
80
29
42
53
45
57
49
59
55
66
69
102
90
73
103
74
69
43
60
66
77
47
64
72
38
84
81
33
82
41
68
98
88
76
45
71
44
41
34
71
50
61
78
47
88
51
50
75
34
48
66
83
53
41
73
34
71
57
88
86
71
51
36
63
81
70
114
47
40
72
60
38
61
64
58
87
48
60
36
65
46
80
69
67
60
55
110
58
58
71
54
81
42
70
60
85
56
69
47
37
53
65
93
58
31
85
76
78
60
57
90
58
62
60
61
66
72
57
56
33
51
121
55
82
90
68
36
46
36
56
81
68
65
39
79
42
56
50
65
38
41
82
40
34
65
59
43
69
57
80
48
52
64
51
83
92
91
51
58
118
60
41
52
64
32
64
71
33
47
75
65
63
62
58
62
122
54
89
70
112
51
38
79
55
67
27
35
76
77
119
70
54
59
79
69
52
41
104
53
65
74
59
46
36
66
50
72
39
115
65
63
42
70
82
72
75
53
66
39
136
60
43
50
35
32
48
74
62
50
51
39
73
42
98
41
41
110
56
76
83
74
74
70
53
78
93
100
87
49
49
78
95
60
71
65
79
57
43
79
78
68
26
32
33
60
54
33
65
67
67
68
56
58
79
68
47
46
111
85
99
64
68
54
54
34
57
96
107
74
43
75
83
47
68
67
33
109
45
96
45
53
64
64
60
45
73
45
40
62
50
62
77
60
78
60
59
43
54
60
42
44
53
60
65
54
37
58
41
79
53
64
46
79
74
45
68
60
62
38
93
82
62
80
78
80
75
49
54
72
76
59
95
46
82
56
39
50
53
73
40
62
54
64
64
105
66
24
69
44
55
34
56
38
88
81
73
51
63
57
49
29
53
60
49
56
58
71
47
58
70
48
69
31
87
46
68
72
107
42
75
89
70
63
69
57
67
50
72
31
79
49
70
105
53
89
54
42
50
78
50
54
55
81
48
42
19
31
58
36
45
96
42
58
36
93
61
78
79
75
60
70
42
74
75
59
76
44
71
34
73
124
66
63
51
87
27
46
43
44
50
74
37
82
88
67
41
116
33
75
84
65
89
31
75
35
61
50
50
63
125
71
113
62
48
38
84
43
76
52
82
51
51
40
47
31
115
59
90
58
33
72
61
83
78
82
85
51
56
89
67
57
41
65
59
77
64
54
47
86
58
35
61
85
64
30
91
103
50
65
60
93
76
92
63
41
75
105
45
58
69
40
48
60
56
71
51
82
73
40
54
77
68
50
76
72
69
47
74
43
77
63
28
42
39
52
59
61
53
38
66
66
82
57
42
57
40
61
82
72
85
36
78
45
51
21
77
77
81
115
67
74
57
31
48
59
64
46
59
24
29
45
53
64
85
50
42
60
67
29
37
75
62
50
54
40
62
61
47
54
85
69
50
69
52
63
54
49
53
74
64
59
76
66
77
39
78
66
41
65
38
52
56
51
40
71
59
75
54
66
88
84
55
60
67
44
49
52
29
88
77
109
37
56
58
54
91
62
59
75
40
93
44
74
71
88
62
113
78
62
111
48
55
84
36
28
84
99
36
77
83
50
90
70
101
53
74
70
36
75
38
46
58
69
78
74
76
67
46
69
33
38
81
47
84
74
73
67
47
57
38
84
57
53
55
80
70
67
52
32
69
51
50
59
50
55
64
42
96
63
46
67
69
53
56
68
47
69
72
86
84
57
87
36
64
51
47
67
55
65
68
72
64
56
59
76
62
50
46
76
74
91
90
39
74
61
76
90
72
56
63
33
117
67
56
29
51
70
78
81
58
40
74
40
44
81
111
36
57
50
70
71
70
39
57
51
94
53
74
62
77
42
91
44
68
95
93
76
55
67
51
63
96
46
30
61
44
36
68
50
54
44
69
64
49
87
72
36
50
58
35
103
83
61
60
51
68
68
75
39
91
94
40
67
58
66
46
34
67
41
83
71
70
57
82
59
37
89
61
26
35
54
45
61
50
59
65
70
51
57
73
58
35
32
51
94
75
48
147
31
40
36
70
42
123
65
85
54
44
51
78
62
78
41
79
53
60
84
53
59
57
60
41
59
78
56
40
42
41
61
51
58
69
24
64
52
28
61
67
100
79
60
62
59
57
36
57
98
57
52
81
94
77
60
80
31
58
87
74
81
78
85
54
49
93
115
44
98
63
71
110
56
69
45
54
74
49
55
78
81
68
58
54
50
38
51
29
68
40
43
55
65
66
63
82
35
60
67
64
87
54
64
30
78
43
82
35
60
62
53
39
91
67
43
52
61
31
40
58
44
76
48
54
57
57
56
41
35
72
40
45
41
80
68
75
87
54
42
54
33
33
55
53
70
68
74
48
49
85
56
37
71
33
60
86
61
72
67
37
59
50
54
36
69
63
55
48
44
75
73
31
40
88
71
62
86
50
69
61
93
69
52
72
63
63
57
94
46
37
80
42
39
126
73
67
116
61
65
40
83
32
42
49
47
44
44
41
79
48
54
59
52
34
52
38
50
45
46
72
91
50
54
34
95
56
41
63
59
46
73
67
72
24
43
36
36
62
58
53
41
48
68
63
67
43
58
66
60
42
64
52
35
33
29
55
56
54
90
56
53
57
68
51
63
74
53
76
22
56
114
50
72
58
29
52
87
67
65
101
54
39
48
25
43
58
65
47
73
56
106
78
72
55
61
54
53
75
58
45
55
41
68
34
41
67
51
72
82
71
39
78
77
92
88
37
72
76
43
48
74
31
59
65
83
71
73
65
54
52
36
82
93
42
107
55
49
49
49
44
81
75
45
53
58
68
106
48
52
103
66
50
68
87
43
56
61
37
53
60
54
58
59
54
46
49
36
48
43
58
71
61
52
59
66
56
83
66
52
31
48
56
58
49
48
51
37
60
71
40
70
30
33
141
72
35
43
67
66
61
96
88
73
48
63
72
51
26
26
59
55
61
58
63
107
75
48
96
72
54
43
85
48
52
31
41
57
61
61
36
37
44
35
37
49
44
64
33
80
57
51
79
30
51
45
37
78
40
86
54
46
79
35
99
79
72
70
47
64
46
92
49
41
53
84
56
66
45
62
66
47
72
80
59
67
87
41
48
46
48
68
50
68
29
43
69
61
85
71
64
57
74
67
71
91
72
64
94
57
33
57
67
45
55
89
76
77
49
109
61
65
70
81
46
53
74
40
67
42
38
57
41
52
54
65
97
55
41
54
105
62
37
56
39
70
76
46
68
81
42
103
74
94
54
73
67
54
111
50
70
71
67
80
45
79
55
40
51
64
26
78
68
83
68
65
24
45
38
64
126
50
106
94
57
76
38
36
53
78
62
82
50
60
70
67
105
58
38
82
67
54
32
36
69
29
79
51
47
55
63
79
99
49
62
40
72
58
61
47
107
71
43
71
47
58
48
88
53
91
44
62
64
60
25
71
55
47
52
39
57
73
29
93
122
50
89
86
34
99
54
60
61
37
80
69
53
50
27
38
30
80
45
81
71
58
70
63
69
48
63
94
80
48
55
91
45
32
84
74
64
30
91
49
33
90
87
74
32
56
74
77
65
80
41
79
42
51
100
24
42
29
33
57
67
69
66
54
34
78
64
77
41
77
77
45
60
46
71
46
73
68
76
65
66
53
65
93
36
41
30
86
49
52
47
47
48
87
36
68
36
54
43
38
69
45
53
32
96
72
71
38
90
53
92
111
71
83
56
61
51
49
86
39
71
71
48
48
81
44
81
89
41
63
71
45
60
71
46
68
57
108
74
73
94
46
71
35
51
63
113
88
66
67
30
42
56
84
77
65
96
62
94
96
92
48
50
44
74
45
64
61
56
69
55
39
75
50
54
53
56
43
37
85
77
81
67
62
65
33
84
100
77
66
79
44
77
51
48
87
67
60
67
74
45
84
43
45
70
49
101
37
21
72
34
41
101
57
65
32
57
45
46
58
38
35
82
59
70
80
46
54
57
79
47
98
97
38
39
47
62
48
53
72
91
61
34
65
67
64
54
60
62
65
52
86
71
69
41
50
56
56
87
87
51
79
53
71
51
64
82
44
59
58
59
62
77
48
76
72
83
67
52
61
48
43
57
95
62
69
47
56
58
145
47
64
52
40
36
110
81
40
40
71
35
58
87
48
62
47
51
24
61
33
86
56
60
59
66
42
50
50
49
72
77
60
74
70
41
91
64
44
53
72
103
67
46
54
75
70
77
58
48
71
68
42
71
73
79
42
64
108
74
72
45
123
97
65
34
40
51
58
94
84
98
58
82
77
41
45
48
52
57
56
45
50
40
47
45
44
56
80
83
73
117
64
59
73
67
78
80
53
76
66
73
42
64
82
80
45
48
80
103
23
30
71
71
26
37
72
51
89
46
74
53
51
35
53
62
31
115
38
45
41
89
62
37
42
81
62
54
44
42
78
47
38
60
63
48
51
64
48
67
63
31
63
86
93
71
62
67
68
66
99
64
64
80
56
81
49
46
74
72
60
57
66
38
85
71
51
34
91
19
75
76
47
86
63
85
71
98
61
71
61
32
81
44
60
72
54
40
59
74
22
60
63
43
74
86
53
35
41
44
44
71
55
53
70
93
75
48
37
71
52
64
66
42
70
124
133
45
47
60
38
79
98
39
47
72
78
89
35
125
76
59
50
31
92
76
55
33
59
28
66
53
59
40
65
59
38
71
49
75
74
55
51
47
51
51
48
56
45
81
65
56
52
39
61
61
72
80
63
37
67
24
89
72
46
37
28
81
96
57
49
39
56
67
33
88
81
62
87
63
61
77
32
85
85
45
74
27
58
45
33
83
92
75
68
71
51
65
61
55
67
60
95
59
44
60
29
64
89
61
61
43
62
91
49
45
49
60
73
60
95
38
87
59
79
35
87
43
62
25
76
47
58
51
51
55
47
87
49
57
37
62
73
59
43
57
112
62
61
29
78
80
77
67
57
53
69
80
68
78
51
66
63
38
54
47
115
76
73
44
71
57
42
91
36
65
62
59
72
52
41
86
49
57
69
51
34
57
61
44
76
56
51
38
65
57
50
75
50
60
59
62
54
73
42
52
55
51
83
60
56
46
82
74
70
97
60
59
53
80
82
50
112
62
20
66
91
78
75
40
68
73
47
90
76
54
63
47
91
71
35
46
91
60
73
42
40
42
78
57
69
26
41
31
86
82
61
54
88
46
38
27
76
75
39
96
61
30
62
63
87
32
73
63
72
86
70
61
44
45
68
66
30
52
33
44
36
65
66
48
71
58
73
49
50
43
62
47
59
67
88
50
67
86
59
58
102
57
59
67
39
49
105
36
78
85
81
46
40
49
70
76
31
65
65
29
90
37
81
55
69
74
82
41
73
33
40
33
70
72
79
67
103
58
88
74
53
92
56
72
69
113
94
41
60
81
81
46
41
31
80
49
47
30
60
113
87
52
57
67
28
41
57
43
55
58
84
100
61
75
75
74
50
64
80
68
37
82
59
46
88
84
24
65
76
53
32
37
67
77
47
49
43
34
23
69
37
100
88
66
41
50
51
81
84
53
72
62
59
69
87
43
67
85
90
51
53
58
61
82
58
81
115
48
78
96
68
95
71
85
78
62
55
48
80
47
40
46
41
74
83
31
65
39
38
55
34
68
52
74
89
132
72
65
52
65
56
38
72
62
46
58
60
42
30
53
45
81
29
44
36
102
37
64
64
104
59
58
54
61
125
66
67
52
52
66
75
54
38
73
62
61
27
60
89
53
46
54
50
79
97
58
37
82
66
31
61
69
75
35
74
58
51
77
50
72
42
63
38
64
52
78
79
60
90
51
59
69
73
66
53
45
67
33
69
72
46
35
68
68
63
94
59
66
49
54
55
79
106
77
44
59
75
49
49
55
83
46
48
64
78
41
42
50
72
40
68
67
36
71
112
78
39
48
39
103
56
44
86
48
71
52
60
48
68
50
61
108
35
60
71
63
55
85
71
74
52
62
108
37
84
74
57
47
57
105
96
55
67
61
46
110
39
28
54
91
58
89
70
54
41
47
47
79
74
36
67
75
62
83
65
71
64
109
46
63
54
100
78
40
73
31
37
48
51
52
71
37
73
66
74
61
60
44
65
62
62
31
37
73
58
85
60
68
75
85
25
36
43
67
91
69
66
69
62
36
51
52
53
38
91
98
102
66
80
60
78
66
48
75
92
59
67
59
65
56
48
61
48
48
50
75
38
56
58
67
95
60
73
92
84
57
66
56
55
50
18
37
45
64
60
50
53
70
113
47
60
63
80
47
88
56
89
50
55
81
55
66
67
74
85
49
65
104
63
55
82
30
82
60
68
25
48
50
76
74
54
39
39
86
62
75
60
64
59
59
38
68
36
55
64
47
33
86
48
65
84
101
67
141
25
51
78
69
77
42
48
68
71
49
65
97
103
59
40
63
91
100
47
47
50
68
79
31
51
47
93
44
71
50
63
84
98
54
53
57
48
60
31
64
73
106
25
58
61
36
81
55
96
49
83
40
47
96
99
59
27
72
55
63
84
51
105
42
78
65
43
92
74
30
64
100
88
105
67
46
57
67
47
50
45
34
61
33
35
57
27
61
71
69
51
82
56
71
40
76
78
35
53
59
55
46
61
55
81
90
58
68
42
55
91
84
66
57
39
69
60
69
36
67
100
57
68
86
51
57
67
53
61
72
43
115
99
36
64
51
61
41
90
71
58
57
43
80
55
77
40
66
43
93
39
95
59
69
47
47
71
44
56
88
81
34
62
74
46
55
95
84
91
44
91
115
43
82
95
90
74
64
49
67
87
70
54
76
49
86
42
51
57
74
104
87
32
50
32
53
59
52
21
76
97
62
97
98
74
54
78
29
51
84
73
67
73
75
74
95
118
85
46
64
50
65
35
35
61
37
76
25
74
83
57
62
90
55
57
68
42
71
43
32
30
43
58
40
51
42
45
127
98
47
59
46
49
31
62
91
36
44
84
58
43
87
70
96
59
36
64
99
43
52
44
46
71
47
88
44
45
71
70
57
87
81
48
114
55
63
67
63
101
59
73
85
67
54
86
52
63
75
68
60
38
46
64
61
50
52
76
30
55
48
56
91
74
55
49
48
49
61
103
74
55
79
69
60
26
31
101
62
87
45
54
94
48
61
46
48
60
78
69
56
88
61
67
65
54
70
55
50
89
47
72
27
63
50
54
55
78
79
53
47
37
80
54
70
51
78
37
79
53
88
54
64
89
54
27
73
65
70
44
83
42
65
73
54
44
77
107
95
50
58
60
36
55
50
54
48
87
104
27
54
62
47
70
69
49
55
42
104
44
113
50
61
58
75
78
65
55
37
77
69
98
40
78
105
86
33
68
41
40
21
53
87
43
63
68
72
55
53
80
77
63
43
48
35
51
60
71
70
35
41
78
80
49
56
54
70
70
56
76
76
70
49
35
91
82
61
67
30
65
153
62
52
41
55
70
68
42
73
75
49
50
53
85
45
86
50
65
82
41
41
57
78
60
54
54
65
62
20
36
86
49
61
22
92
67
84
58
45
81
39
34
75
56
64
57
70
82
48
65
41
37
45
72
43
38
51
82
72
70
47
73
75
69
77
77
91
80
68
49
69
103
44
100
79
37
56
72
79
42
54
54
70
112
80
57
49
32
65
112
56
62
82
42
63
33
75
65
87
62
67
61
82
36
60
41
79
93
75
57
49
46
42
82
33
99
86
84
47
54
43
35
76
116
38
61
61
67
44
26
35
67
48
104
63
75
74
58
38
44
45
72
66
45
60
69
67
100
86
60
32
47
55
73
87
47
51
92
56
42
53
65
75
45
64
95
61
55
65
76
82
83
76
41
49
48
56
60
42
34
62
72
51
46
52
31
121
86
60
40
43
60
63
77
81
64
47
106
45
38
59
70
28
89
75
39
55
53
31
68
119
71
70
63
42
57
85
35
62
51
80
76
57
111
33
36
66
110
57
54
65
34
88
117
89
87
63
61
64
62
56
84
45
100
39
53
100
58
50
32
68
70
58
58
68
88
41
48
65
50
104
44
66
79
62
49
62
69
24
56
54
42
28
79
41
53
57
85
74
38
72
58
55
66
70
87
68
49
92
72
60
76
61
64
59
82
38
47
63
82
67
105
72
46
75
72
33
61
35
46
86
82
36
57
47
59
68
61
67
88
48
87
80
75
63
56
51
92
92
65
44
75
42
65
89
77
61
34
72
31
58
90
77
80
26
56
84
29
40
73
69
93
63
48
86
68
59
43
81
42
69
95
112
52
80
38
82
74
54
76
36
70
60
71
51
91
33
54
78
55
47
63
39
70
75
64
48
39
33
70
57
63
55
55
75
67
85
47
42
63
62
54
63
84
55
51
55
69
69
55
83
39
73
25
41
79
70
81
59
52
65
71
38
63
63
63
32
55
62
48
50
66
67
44
47
67
35
79
28
78
57
51
41
66
48
57
86
82
43
87
67
99
73
36
64
51
65
38
83
78
79
49
48
35
65
38
59
104
67
36
77
54
39
87
38
64
92
54
42
61
49
64
79
85
73
68
69
81
43
59
57
89
56
50
48
63
93
66
75
51
84
54
25
54
42
37
47
62
54
61
35
55
42
50
70
55
52
43
88
48
47
47
53
71
53
55
72
53
64
54
60
58
73
52
48
117
55
54
59
60
37
82
46
81
38
75
56
49
47
114
43
85
41
83
63
66
63
42
50
56
39
93
67
62
68
69
86
65
55
92
46
71
45
82
42
67
63
69
81
63
36
66
27
75
39
56
67
60
41
49
77
41
63
43
48
81
43
65
86
65
97
37
70
72
73
49
47
59
46
62
55
104
79
59
70
59
78
45
61
46
69
50
58
35
84
44
80
62
47
82
48
41
57
58
133
38
94
56
53
89
65
43
54
47
88
89
49
63
41
97
77
41
91
51
61
64
52
40
52
73
32
67
56
39
54
75
47
48
56
54
80
76
57
65
42
42
65
41
86
91
67
64
46
25
68
65
106
61
70
63
99
47
44
80
82
60
65
69
69
30
59
80
65
67
58
55
53
51
30
49
64
34
66
78
53
119
96
50
70
34
65
37
98
29
83
56
61
89
106
55
23
68
56
74
64
42
97
50
52
54
63
81
48
69
78
47
88
76
67
81
63
77
72
98
70
96
26
38
69
54
53
71
47
80
56
86
55
72
89
64
92
103
74
116
90
59
65
51
76
56
73
46
56
61
79
84
76
64
80
53
62
63
154
68
40
29
128
66
51
71
65
41
41
46
40
50
85
77
47
42
48
71
61
85
87
38
65
34
39
49
87
82
54
108
44
77
45
117
95
66
37
92
51
46
111
74
62
76
36
77
110
41
53
52
56
69
55
61
63
50
79
56
26
56
49
76
63
49
61
80
68
83
67
53
59
50
73
112
64
63
64
122
48
46
61
45
64
65
85
75
64
56
83
98
46
77
42
61
86
51
83
43
43
56
49
37
55
45
62
95
29
42
72
61
73
71
53
96
49
38
62
52
41
31
84
61
53
81
74
42
46
55
70
92
68
70
32
80
120
41
44
31
95
49
71
54
61
97
65
79
54
56
57
57
28
42
58
58
37
70
45
51
48
68
82
73
61
52
40
36
83
74
60
40
78
81
81
104
67
67
38
59
58
43
32
61
73
57
60
74
38
82
90
74
32
71
69
45
62
57
71
82
87
45
77
69
58
54
39
60
34
40
77
52
43
100
74
53
59
65
44
84
45
52
77
79
54
67
105
109
41
49
44
67
43
56
58
87
72
55
43
83
79
73
84
46
51
84
53
34
56
62
62
71
77
75
48
51
43
77
50
46
83
66
57
37
64
76
75
37
56
47
37
46
62
42
71
76
82
72
102
53
49
66
45
82
76
60
42
91
74
44
80
67
78
52
74
51
57
67
36
135
85
80
39
74
51
63
81
53
54
54
41
76
60
94
61
74
52
36
51
89
65
52
56
83
62
69
61
78
71
63
31
59
73
55
36
62
52
44
60
85
79
71
70
34
70
63
65
41
98
48
63
51
67
53
69
43
52
100
63
85
57
31
49
71
74
48
79
80
63
58
81
63
62
58
62
39
53
69
31
107
44
59
75
59
50
60
89
45
59
87
37
64
42
76
45
41
64
80
52
59
78
59
71
71
61
29
76
69
64
92
54
75
37
76
62
41
51
72
55
74
49
46
58
47
91
34
47
39
57
54
45
41
30
30
62
64
53
51
74
60
35
81
26
53
53
77
82
65
48
61
76
60
74
91
82
70
54
32
65
86
100
58
28
69
73
57
74
73
72
53
61
45
50
75
58
65
50
52
37
51
113
46
111
27
42
55
43
54
82
78
39
50
124
64
71
47
48
50
78
26
45
44
68
53
44
61
80
69
66
89
88
39
73
29
42
85
52
27
76
59
65
57
96
85
30
65
44
63
51
70
70
73
56
27
57
67
51
65
92
56
95
26
35
53
70
69
31
53
131
57
46
41
52
81
80
52
63
64
64
64
85
76
39
37
72
65
44
78
55
45
44
36
38
59
78
60
45
38
37
43
38
61
51
45
36
96
41
35
71
86
62
33
48
44
77
102
74
83
36
98
34
69
45
43
78
44
67
79
41
64
52
43
65
50
57
74
72
39
65
42
64
54
90
34
62
79
55
68
71
63
72
54
73
39
48
38
67
69
52
75
55
56
64
32
65
48
48
69
70
45
70
44
63
64
33
44
54
42
58
37
45
81
59
43
18
54
47
80
48
49
67
38
32
80
80
45
103
59
46
71
60
110
50
103
49
61
75
53
30
92
22
50
31
52
89
65
53
37
65
75
103
53
48
57
32
37
48
83
72
73
46
37
60
72
51
42
86
66
43
75
51
63
90
49
40
53
72
55
62
81
72
60
47
64
77
80
73
86
47
87
43
80
53
73
60
54
53
59
78
53
38
63
43
53
69
53
45
65
29
75
62
78
47
64
76
74
41
78
38
61
56
64
33
70
55
44
80
61
34
39
52
55
63
68
85
74
66
35
41
70
89
96
82
65
51
42
43
33
62
55
65
64
39
131
60
55
72
42
35
85
57
75
59
65
68
31
80
35
50
61
55
67
57
42
66
26
76
84
47
51
45
36
83
88
36
62
45
45
67
51
27
53
45
59
83
82
38
88
51
24
39
46
67
36
85
51
37
46
58
107
49
69
67
53
47
89
64
45
52
93
59
59
52
37
61
50
103
76
82
56
25
74
65
28
60
67
37
86
80
32
65
59
72
46
68
79
64
35
36
57
63
68
45
122
58
61
57
38
93
79
60
63
35
54
78
40
31
56
26
65
85
36
39
73
71
63
53
45
48
58
79
76
42
40
51
48
73
74
47
64
60
80
43
40
55
59
36
67
97
50
48
61
61
75
39
80
35
56
42
96
66
43
68
79
59
87
59
66
66
73
75
46
69
65
19
86
76
66
102
44
66
64
60
38
36
32
61
39
86
64
47
74
66
79
47
84
35
63
67
68
54
59
65
43
64
55
82
55
63
72
68
40
65
65
54
66
71
88
42
55
49
58
80
50
55
62
57
63
63
71
62
67
60
40
56
73
74
71
50
72
77
27
35
70
85
44
63
55
52
42
70
112
67
39
27
73
56
79
47
41
62
82
69
59
64
47
47
60
45
37
68
46
75
49
35
73
67
76
61
63
55
82
57
75
90
46
48
61
47
37
54
41
61
61
65
100
36
66
46
66
67
48
72
102
74
51
76
39
42
61
36
45
94
71
79
58
84
44
107
43
59
56
71
60
40
66
90
54
42
59
77
47
48
54
57
47
62
112
109
46
50
56
33
77
42
57
47
53
75
29
57
41
87
75
97
50
40
51
46
52
60
41
64
45
58
76
74
75
40
71
72
27
52
53
46
29
74
34
49
71
55
83
35
68
34
51
57
50
47
83
59
71
97
61
79
65
53
40
40
85
51
33
61
66
41
47
74
75
53
87
68
91
95
71
63
55
71
79
55
72
50
60
57
57
41
54
91
40
43
30
101
95
54
76
77
42
74
68
65
50
77
64
77
61
77
49
65
45
79
96
35
44
82
85
70
48
92
66
32
54
72
78
77
60
46
46
35
78
52
48
67
54
31
49
31
89
40
54
77
92
54
71
40
60
61
73
53
63
62
60
48
76
80
77
56
73
46
57
71
56
38
51
48
69
71
72
43
37
68
52
54
35
51
75
67
49
67
61
52
87
58
70
104
48
36
76
59
40
44
75
50
47
32
66
30
41
54
61
72
56
73
75
62
63
61
45
67
53
60
76
61
45
37
48
82
66
59
27
38
50
61
57
50
79
81
53
63
43
75
41
63
59
42
106
43
99
55
62
54
89
43
51
39
53
71
35
67
55
80
49
77
58
34
76
44
53
56
43
105
82
91
79
69
96
53
85
67
55
48
52
59
64
54
54
70
50
64
55
57
59
45
76
23
86
120
84
83
72
63
48
44
72
33
44
74
68
80
63
57
46
42
47
57
73
50
54
80
43
57
42
64
58
54
46
73
72
37
72
54
57
94
52
93
34
57
62
80
47
70
63
61
57
94
64
47
52
42
78
76
38
27
35
70
80
51
46
44
72
54
63
58
52
72
47
52
76
72
58
89
69
56
53
89
71
117
58
48
65
54
44
44
68
58
55
36
54
69
61
55
50
36
36
40
58
60
73
51
71
48
77
146
45
41
86
42
56
42
62
54
93
45
46
46
92
59
83
41
34
41
48
44
57
44
70
68
50
84
37
34
45
76
44
71
76
76
69
78
90
92
94
22
63
53
84
71
58
76
61
63
98
77
68
67
83
68
74
63
38
86
58
83
61
66
40
43
53
37
71
74
82
65
48
67
34
74
57
48
41
48
60
71
48
56
76
59
57
78
43
101
64
22
57
53
56
45
46
56
64
96
71
85
81
38
84
47
115
62
69
58
59
62
80
61
74
35
57
101
87
60
58
59
94
65
92
54
65
60
75
64
73
102
74
55
95
78
58
61
37
67
55
31
42
38
53
69
76
51
66
56
52
29
43
84
77
42
66
52
75
134
53
59
58
95
70
44
59
58
64
44
61
62
74
69
78
31
35
61
58
79
45
54
94
41
62
39
87
41
31
58
45
42
92
39
45
53
33
44
36
42
71
134
52
50
112
80
70
63
81
49
66
64
83
40
52
73
72
54
48
50
35
79
57
71
67
44
42
92
63
105
46
37
52
33
91
50
81
29
50
55
80
32
35
60
92
60
94
55
64
70
65
68
52
70
49
75
76
64
80
27
105
67
33
74
51
57
60
49
72
69
65
57
62
66
60
60
93
51
60
56
43
42
58
41
40
81
57
54
25
42
21
71
91
102
39
76
76
105
61
61
56
57
41
71
55
61
60
66
34
66
64
66
55
42
61
46
75
48
107
76
70
46
77
77
41
57
92
62
30
49
47
54
49
61
58
107
72
35
60
49
62
60
64
46
32
44
82
30
39
73
60
44
54
90
76
106
49
34
49
25
47
27
53
65
61
41
40
81
44
101
94
48
63
41
37
38
43
60
43
51
32
65
41
46
61
51
124
55
82
56
59
80
75
65
31
84
35
56
41
69
68
53
75
49
69
55
68
82
113
74
98
67
144
69
97
56
71
76
52
78
56
25
51
82
67
80
71
57
82
74
66
65
63
71
60
41
80
45
75
69
89
58
47
57
82
33
39
66
79
74
40
55
109
58
53
64
48
62
54
54
39
72
86
52
59
77
27
50
63
61
44
107
69
54
59
45
82
70
34
56
53
87
57
48
79
86
75
40
76
67
70
51
39
75
63
41
79
106
49
75
60
68
109
76
38
41
67
54
59
50
87
75
45
50
47
51
47
45
53
59
58
81
79
44
58
45
51
63
38
53
40
43
81
48
61
57
69
71
56
45
40
63
73
63
37
65
46
84
60
47
58
41
47
49
65
72
58
106
70
50
77
45
44
65
56
67
42
72
46
91
52
85
46
53
38
40
79
74
65
66
68
46
72
49
42
49
65
40
61
75
78
27
68
63
65
90
68
55
70
70
48
45
98
53
104
75
93
83
45
44
104
72
53
69
70
83
53
48
72
35
62
58
48
37
61
35
47
37
54
45
54
60
62
74
94
90
60
56
99
61
43
51
55
36
55
101
71
45
60
49
90
79
45
55
68
48
64
72
65
65
58
16
60
50
49
53
53
64
49
49
62
32
52
51
47
44
76
60
42
55
80
66
51
38
49
51
59
83
58
48
63
94
91
64
52
84
55
64
97
40
25
65
50
77
81
58
54
46
71
54
46
34
33
47
60
40
50
66
75
55
115
44
64
55
67
36
51
66
55
84
37
33
55
67
50
56
91
32
78
71
62
83
37
59
35
56
61
56
72
27
68
56
58
61
32
51
58
88
51
42
44
87
71
45
55
43
100
64
78
26
103
78
59
67
31
52
55
63
61
73
54
84
88
61
69
67
44
92
68
70
44
87
63
63
90
67
102
56
52
87
70
108
56
30
62
66
90
51
38
39
58
81
105
45
59
56
61
69
86
89
48
33
82
72
72
42
41
57
47
47
54
46
51
76
69
66
96
59
51
46
40
45
62
56
54
55
45
43
34
34
62
89
85
68
65
63
31
63
71
37
42
76
41
47
69
64
66
31
85
49
56
57
45
37
61
68
62
65
76
67
49
56
56
63
52
40
26
59
68
53
71
65
48
55
26
66
80
58
38
29
68
85
44
78
136
75
74
59
52
70
87
69
27
53
56
72
67
62
72
52
71
72
61
62
101
51
43
64
51
65
63
63
69
68
57
22
85
72
46
47
23
40
64
50
34
74
60
57
38
88
53
52
52
48
63
69
71
79
48
57
56
78
62
107
29
62
95
62
35
44
73
94
44
65
57
125
54
99
52
54
59
108
92
37
44
82
65
61
47
32
82
77
56
80
79
31
62
78
55
56
69
47
50
76
89
49
66
71
81
60
81
86
35
60
54
49
60
117
73
33
31
58
81
61
36
94
42
34
59
46
39
63
47
132
70
31
67
54
62
88
59
54
51
112
84
26
59
64
48
56
59
72
76
57
51
52
64
43
70
75
43
66
51
75
45
83
68
45
73
83
68
66
54
50
79
33
65
67
64
49
50
53
62
67
60
79
58
34
44
42
47
38
41
60
58
54
56
75
42
37
62
69
68
39
40
75
65
76
34
60
70
51
63
39
56
84
62
52
61
87
72
61
46
63
94
42
80
81
52
34
77
83
47
40
66
47
71
74
51
63
52
33
70
67
47
35
67
43
79
38
53
56
55
53
55
35
64
62
33
32
61
76
90
53
63
101
38
89
62
110
54
27
70
56
72
54
76
69
77
66
41
65
85
94
49
34
74
64
54
31
54
50
83
106
76
46
51
73
91
109
64
98
38
66
54
83
88
99
64
162
60
52
53
86
81
45
143
72
62
42
72
69
45
54
54
73
68
51
68
64
67
61
78
57
51
77
97
118
41
51
59
75
59
51
74
67
50
44
54
36
34
74
58
44
102
35
58
35
60
55
87
58
57
71
39
65
43
60
60
51
61
42
61
53
44
75
48
103
76
87
67
72
72
31
63
51
82
74
46
131
94
31
47
92
106
67
68
126
48
47
65
64
45
48
60
102
77
35
35
37
53
41
87
89
58
73
70
85
54
52
49
42
59
64
41
93
102
30
35
78
47
42
115
20
42
58
81
63
61
47
106
27
85
76
77
68
122
72
39
65
46
63
83
68
86
38
40
55
91
79
66
75
74
63
55
26
52
84
46
63
69
52
57
75
77
51
52
82
61
89
108
49
45
52
46
64
89
43
59
68
50
69
62
112
42
62
90
68
81
67
77
54
74
112
73
37
58
53
38
72
83
57
116
69
52
58
75
61
67
87
36
58
40
82
49
65
65
51
73
25
63
47
55
56
40
39
50
84
57
51
72
46
93
76
54
52
64
71
63
51
41
57
87
53
42
74
55
43
51
50
67
54
28
46
62
63
83
49
76
77
38
57
50
66
47
41
79
36
48
57
52
88
58
67
36
48
62
46
40
90
58
44
67
101
93
111
38
76
63
71
46
69
78
59
77
55
51
48
94
79
48
49
42
69
57
67
121
81
60
67
73
77
32
48
27
66
34
70
76
69
19
92
50
82
90
75
73
67
36
49
58
81
67
58
47
43
55
86
44
63
43
56
50
39
61
69
75
71
48
64
52
72
51
47
42
55
46
39
64
70
54
37
51
61
66
56
47
88
99
89
59
55
93
97
45
68
90
69
49
68
53
33
62
66
59
40
74
38
54
53
64
67
28
71
69
68
77
65
48
68
113
56
87
59
63
99
77
58
32
58
76
69
46
19
48
37
65
79
101
55
24
68
62
42
79
50
106
71
58
57
46
31
74
53
89
78
51
41
40
102
44
77
58
119
66
35
66
70
74
53
55
63
74
51
50
47
44
42
82
25
41
73
69
79
32
57
131
86
72
63
56
34
53
36
53
66
66
53
94
66
73
36
23
50
67
74
59
70
47
47
62
62
84
58
57
41
91
79
42
77
46
66
76
70
71
45
87
39
57
72
55
65
63
42
67
74
48
56
77
52
47
64
57
76
62
72
72
67
79
56
63
57
70
73
69
37
55
76
78
53
96
57
89
47
66
75
118
36
88
59
47
69
72
84
48
30
50
71
98
40
49
73
44
52
63
59
69
80
68
48
43
75
52
71
92
63
47
55
91
64
71
67
41
102
57
54
59
48
43
88
23
53
86
34
55
53
92
47
30
83
26
54
94
54
58
62
40
76
75
44
78
56
38
80
47
46
61
56
79
56
55
72
62
35
59
108
63
35
43
49
68
68
61
41
87
54
78
30
80
59
92
41
85
60
82
92
83
26
42
61
71
40
49
47
74
43
74
82
58
57
56
45
50
79
74
65
43
53
68
60
81
55
55
48
59
44
76
87
69
70
73
88
90
51
71
86
58
62
53
85
90
71
67
58
119
43
64
67
80
95
71
66
67
71
63
107
54
68
79
104
71
71
64
77
68
64
90
90
34
72
66
62
61
56
55
105
61
80
63
62
66
35
66
79
49
50
67
79
55
48
47
50
95
45
142
60
44
71
39
64
71
76
55
49
50
57
78
38
86
67
77
75
67
49
56
59
69
69
58
110
42
51
77
94
63
94
83
56
35
95
125
60
60
44
52
61
48
67
50
80
41
69
45
73
96
30
25
74
79
82
82
70
61
54
70
56
54
66
71
41
63
63
51
55
57
47
40
84
44
82
51
61
80
71
64
69
43
50
98
85
86
42
94
58
69
92
71
40
72
35
116
60
55
42
57
42
68
44
49
51
47
77
45
68
51
44
54
44
43
34
47
63
99
57
34
59
69
40
63
54
46
41
110
58
47
85
51
44
50
40
94
65
86
43
49
57
29
62
93
34
70
60
51
55
50
42
49
36
62
57
44
58
58
37
60
71
62
96
50
49
73
70
94
36
104
55
66
89
25
55
58
48
48
70
52
77
51
63
78
38
57
41
52
50
64
68
95
84
91
70
82
36
64
66
68
32
34
73
54
48
53
38
49
44
51
35
31
50
60
30
73
56
47
88
44
59
59
78
69
72
79
35
69
75
74
77
67
49
74
45
107
64
72
73
46
56
39
79
50
53
71
82
60
61
25
45
58
104
72
59
90
56
40
61
53
63
49
59
58
64
76
72
60
28
35
82
53
73
71
29
86
82
35
43
67
98
74
106
50
78
66
94
68
66
62
59
45
86
70
56
41
38
93
47
64
42
71
65
65
103
75
41
83
64
105
44
54
77
66
50
56
66
54
55
34
99
93
61
54
94
54
67
44
50
62
57
62
73
46
54
72
58
77
51
79
64
57
88
35
79
58
61
72
55
58
67
54
48
44
39
51
69
67
41
53
64
43
110
59
83
40
44
61
74
80
56
72
61
64
64
84
81
72
52
61
82
41
76
44
94
56
54
61
45
63
65
39
51
64
73
47
62
63
31
81
31
39
161
80
43
66
49
63
49
52
56
61
66
38
35
65
41
63
60
53
66
77
58
44
111
91
75
66
58
77
74
62
106
65
70
65
71
67
72
50
42
76
42
63
85
117
59
63
69
73
72
27
67
49
74
67
54
71
59
63
63
70
39
51
62
57
50
37
51
68
65
58
51
35
27
57
64
74
28
58
91
85
44
87
77
30
40
62
51
51
79
69
65
55
41
52
58
70
55
57
72
74
43
43
32
50
44
50
35
74
71
62
32
86
50
60
65
59
105
46
39
42
70
61
67
82
50
56
37
60
39
31
34
65
47
100
33
49
54
71
57
74
65
61
74
55
69
69
81
59
67
80
52
59
67
49
41
44
86
85
48
65
56
84
83
44
67
57
48
50
81
85
76
63
67
34
47
61
43
57
69
43
45
77
90
73
52
88
53
40
61
67
72
51
84
63
80
85
47
54
52
46
49
31
67
46
38
72
59
53
69
62
66
88
54
56
51
86
77
78
62
69
79
71
96
78
46
50
47
71
75
78
104
55
88
26
54
67
46
38
60
41
39
48
44
61
51
98
57
40
110
81
54
67
66
79
31
82
54
35
59
73
75
67
56
58
43
61
62
74
50
75
56
76
49
58
98
51
24
47
70
58
59
42
85
53
59
87
72
68
59
72
55
58
63
88
50
51
71
32
59
42
41
64
120
72
45
71
106
94
32
75
138
90
40
88
60
71
69
70
29
64
62
32
92
48
47
60
97
70
57
33
69
78
74
69
87
82
34
83
35
40
72
41
109
32
75
82
74
60
65
45
73
78
46
34
44
50
157
47
20
85
46
85
59
74
62
42
52
82
48
48
81
51
49
73
73
99
43
38
69
74
66
53
105
76
50
56
40
65
101
64
85
83
79
49
63
81
40
48
59
46
53
64
94
52
57
56
86
51
67
79
92
71
76
34
47
75
48
47
102
66
93
60
75
64
68
71
73
78
78
58
44
54
66
42
48
34
69
75
69
97
74
49
33
97
44
77
34
59
52
37
97
61
47
84
104
37
73
26
47
38
71
80
68
31
84
80
60
71
58
65
93
62
57
47
58
103
76
31
82
58
51
58
43
78
50
70
72
78
81
54
61
100
118
74
56
68
152
48
49
65
92
32
53
63
45
22
53
68
69
61
90
43
91
51
44
89
36
95
82
58
32
76
81
59
36
68
38
50
90
73
64
37
85
52
30
62
49
65
69
71
148
98
53
57
45
44
70
57
50
77
82
55
47
76
48
60
57
81
89
40
70
34
54
66
60
76
41
88
75
104
54
39
96
33
50
101
32
50
23
40
37
44
34
68
73
79
57
80
72
53
49
60
75
62
53
25
74
66
74
82
78
60
88
62
74
49
50
57
46
80
29
50
65
45
37
39
88
58
50
51
42
47
85
75
30
47
72
55
48
50
80
83
31
64
47
66
67
77
68
43
120
48
64
34
100
63
62
103
62
77
64
69
69
66
44
89
53
61
44
55
78
44
47
43
71
80
69
80
38
32
74
55
64
57
65
58
52
54
95
48
21
101
54
23
39
64
59
88
78
65
80
37
66
42
90
90
104
43
68
56
65
53
72
41
40
49
51
77
85
34
57
56
69
47
64
35
72
62
63
74
42
53
126
55
53
51
51
76
67
46
42
55
83
41
58
67
34
78
65
70
28
64
48
45
36
54
33
78
57
34
52
57
64
79
64
62
47
66
72
64
82
81
65
47
48
39
55
65
47
50
47
42
45
73
42
66
66
64
89
59
84
64
46
63
90
68
33
54
77
33
50
89
70
51
57
56
30
33
43
53
114
77
56
60
50
43
50
54
38
51
44
80
69
71
64
70
92
84
47
65
80
82
60
68
74
44
66
92
64
42
40
62
73
71
31
44
42
76
121
52
55
38
32
63
47
46
77
73
82
73
92
85
71
49
95
29
41
71
30
71
59
44
44
94
53
61
67
65
33
57
80
54
30
43
49
62
25
51
69
52
73
82
81
55
35
63
80
92
59
77
52
63
68
52
92
51
43
52
50
45
25
64
63
28
66
70
53
52
74
96
43
69
39
94
91
137
30
66
74
82
47
50
73
53
76
44
65
46
62
80
62
75
39
35
78
71
60
62
75
52
69
63
62
61
112
57
38
70
37
80
57
44
52
37
48
50
38
109
61
90
54
50
64
59
91
81
68
62
60
49
52
49
34
76
58
35
31
74
66
59
86
37
58
24
96
61
39
40
37
41
53
42
37
46
127
84
92
77
71
71
67
46
69
59
34
66
71
43
75
48
54
77
40
43
59
59
55
59
68
45
66
52
70
59
70
79
40
41
73
60
51
47
64
50
87
35
67
39
75
68
71
74
43
73
78
64
65
110
90
79
29
83
57
50
87
39
77
36
48
65
84
42
30
32
92
59
49
67
74
50
47
81
31
79
37
44
75
68
56
20
73
31
49
51
54
86
36
96
60
56
91
43
60
65
53
79
55
61
66
80
62
55
52
53
91
71
78
75
57
51
43
72
67
145
51
81
43
43
68
42
36
53
55
99
41
54
106
59
49
74
51
111
89
105
62
48
69
81
30
77
41
63
48
78
59
76
50
113
65
83
133
50
92
51
19
59
52
57
69
26
58
65
50
31
59
36
28
48
68
52
57
41
49
83
68
61
83
61
29
53
54
25
69
52
64
66
53
53
39
60
75
66
51
54
64
43
49
67
42
39
42
71
99
60
55
79
54
66
85
51
55
38
66
86
80
124
58
34
48
74
68
82
80
74
45
32
61
93
63
44
50
68
62
95
47
31
84
37
54
60
52
42
46
73
58
52
72
73
61
42
46
48
73
52
59
40
100
47
64
69
53
25
66
35
79
52
55
56
98
55
65
72
76
107
44
76
53
76
46
56
23
59
71
38
81
67
64
64
32
53
72
59
75
57
42
50
61
76
91
42
38
69
34
65
55
49
41
31
94
55
56
80
77
47
60
42
82
57
57
60
44
73
61
58
95
72
90
63
65
36
52
75
91
49
67
95
63
79
45
58
58
63
47
53
77
49
53
77
67
54
23
63
48
41
37
55
50
90
45
88
56
32
55
49
66
52
75
87
73
59
71
59
53
77
78
85
55
72
48
55
62
40
35
61
58
60
50
61
50
45
52
37
104
71
42
78
56
47
46
56
54
47
70
55
100
23
59
55
78
66
64
41
90
34
55
38
70
74
45
71
44
52
55
39
72
61
52
99
66
57
50
70
110
53
34
65
32
43
86
67
81
69
67
100
65
56
46
61
24
31
50
82
91
63
96
91
42
71
53
71
53
57
32
59
54
35
79
74
33
50
77
40
63
43
38
72
85
55
47
60
99
82
59
64
86
76
84
51
47
37
58
52
66
51
60
67
48
33
62
89
63
69
67
65
82
32
84
47
82
68
66
44
67
70
110
47
82
57
47
76
72
26
63
93
32
54
48
34
51
55
109
91
67
72
84
77
34
47
86
102
39
55
59
57
56
27
80
72
39
42
60
72
43
24
90
56
59
51
72
84
41
37
57
42
48
45
73
58
90
75
100
40
43
58
51
65
68
59
48
67
75
73
75
37
52
66
58
56
65
75
45
62
107
53
39
84
69
51
87
78
76
40
68
68
108
37
51
45
96
79
138
43
33
76
72
65
75
45
58
25
128
37
53
72
75
50
75
71
103
77
68
52
82
45
62
61
59
63
55
56
75
61
52
72
56
57
74
68
57
46
50
70
73
47
27
64
46
94
70
97
87
39
75
78
39
47
42
53
72
76
69
99
65
53
39
50
72
62
83
36
52
55
49
60
59
43
60
43
60
71
57
44
57
57
80
58
72
58
91
77
19
118
94
47
44
67
69
39
64
43
91
61
48
79
88
61
86
78
24
51
75
36
60
71
43
61
51
49
54
71
42
106
37
84
60
43
57
47
66
42
68
66
59
45
60
74
46
77
64
30
63
65
57
64
82
75
60
72
73
70
61
35
66
53
53
43
62
59
60
52
37
32
73
57
77
51
45
72
86
36
86
72
61
81
52
46
84
106
62
31
56
68
84
60
62
47
45
49
80
48
52
47
65
86
60
79
31
34
78
57
69
39
83
59
73
40
86
72
45
82
56
59
69
101
65
48
43
42
61
71
54
65
39
63
39
37
76
87
51
101
72
58
62
53
94
82
67
75
96
29
57
81
77
62
65
41
45
64
44
96
63
85
55
70
64
33
72
52
64
51
45
44
52
42
59
94
54
82
86
74
50
30
68
139
51
64
79
35
44
41
51
64
35
53
74
102
39
74
47
46
27
71
62
40
77
50
42
73
76
43
53
51
48
33
49
44
101
66
58
59
83
68
47
52
33
72
38
113
76
38
34
46
41
102
98
87
59
70
76
70
57
60
44
39
87
56
44
46
61
105
48
39
86
97
33
82
58
81
93
49
62
77
81
49
51
40
37
61
104
56
53
63
76
64
63
56
60
78
64
43
66
36
105
68
47
83
29
92
95
51
75
96
56
104
61
106
70
68
37
49
77
58
82
88
47
58
31
63
57
45
77
46
95
57
84
74
60
43
40
82
52
59
77
32
31
77
61
57
45
30
46
46
67
69
66
74
61
88
56
43
35
36
67
83
76
53
64
42
55
62
65
58
39
60
126
73
50
50
63
83
37
44
47
71
80
60
25
37
43
70
61
65
93
118
57
59
47
87
80
86
65
35
44
62
66
67
86
89
49
57
64
113
62
66
38
65
75
67
58
64
67
45
71
69
58
46
73
69
62
32
43
90
70
65
60
30
55
73
81
67
84
69
88
49
42
57
37
37
41
73
49
73
54
43
73
77
50
55
25
32
53
78
86
48
62
37
58
91
43
79
39
77
50
64
46
77
87
50
57
36
81
57
76
50
34
30
65
58
44
79
51
53
81
40
125
72
71
54
67
72
62
76
51
29
77
77
23
96
52
37
51
53
68
93
53
47
81
69
45
65
40
48
101
67
88
61
110
46
49
58
48
70
83
61
91
61
81
68
74
55
74
43
77
111
57
47
78
74
65
80
45
42
66
63
73
88
67
72
54
25
34
75
62
54
73
46
93
74
86
59
52
57
35
67
61
60
97
52
83
61
48
59
45
41
62
82
42
55
44
55
93
54
85
36
72
61
47
96
72
80
55
38
51
49
75
46
63
65
41
58
93
81
64
72
57
58
59
53
58
61
51
70
67
80
59
56
54
48
62
42
47
68
57
52
68
111
53
35
96
41
53
50
60
47
43
106
49
71
49
31
74
59
62
72
38
54
68
45
109
40
62
84
82
68
64
50
60
62
40
66
37
83
33
31
33
77
48
59
77
104
80
66
48
80
45
60
101
60
104
70
45
59
65
92
70
38
42
45
54
67
63
59
49
65
69
62
91
43
41
29
65
60
34
55
51
97
102
93
80
63
87
72
59
73
71
97
54
56
57
90
77
60
75
67
57
61
88
82
46
41
49
49
65
59
78
90
55
49
64
51
75
78
76
76
72
78
87
67
75
50
77
43
43
74
46
73
44
63
48
84
29
66
53
58
88
82
56
80
89
39
43
33
73
104
47
44
94
70
40
51
78
71
69
103
118
77
41
83
55
93
58
49
95
102
64
39
58
62
70
70
45
49
46
90
48
54
73
36
49
41
58
52
67
49
76
39
96
70
62
58
64
33
99
45
58
52
58
85
74
53
67
81
42
61
64
31
68
78
50
95
65
67
105
157
55
51
70
67
71
52
88
78
55
45
109
55
122
70
132
42
67
71
41
48
28
41
89
91
56
36
56
33
73
52
50
37
53
24
70
73
40
69
42
64
67
26
40
105
124
96
82
44
60
48
57
77
49
53
46
62
41
52
59
91
71
56
38
74
87
66
67
79
60
107
54
42
65
40
53
77
67
55
68
49
62
53
75
62
71
69
50
45
50
64
80
73
78
53
60
112
51
49
66
51
55
87
71
75
79
72
63
70
25
87
77
51
57
38
68
90
43
67
49
55
52
55
73
109
49
90
54
63
54
95
64
48
62
64
52
61
55
38
84
35
60
44
77
44
57
52
36
57
48
70
75
46
66
74
66
89
71
71
92
59
59
60
59
46
45
52
83
62
52
55
47
66
28
93
47
86
37
70
73
96
51
50
66
45
65
68
50
83
42
98
52
114
27
59
47
103
45
65
48
57
77
33
90
59
72
58
59
76
84
60
123
54
77
56
94
64
71
71
72
80
68
58
75
63
44
60
62
57
55
71
79
37
88
62
96
107
56
66
60
59
37
57
116
85
39
63
66
66
59
31
55
51
74
58
47
69
31
76
53
27
51
59
34
55
70
37
37
65
44
58
60
56
43
61
55
30
52
47
42
44
86
87
69
61
79
91
44
53
78
59
72
32
58
62
73
65
43
82
65
74
74
52
59
39
38
50
32
73
37
78
77
59
54
59
55
74
52
63
48
46
105
73
50
89
67
64
137
43
90
101
85
98
67
52
41
46
44
87
66
44
76
79
31
38
71
67
36
46
43
64
92
55
66
49
66
31
91
95
42
42
55
74
50
38
39
54
69
75
55
49
48
30
48
97
78
37
69
54
95
42
51
88
81
83
83
73
79
44
72
72
57
45
76
67
76
57
57
58
50
27
47
47
77
79
50
64
56
61
69
81
37
44
60
58
30
39
47
56
37
63
59
69
46
38
73
66
50
39
56
69
44
80
37
45
42
70
62
80
81
67
59
42
87
99
76
28
84
43
30
39
56
48
64
63
22
90
33
54
35
52
55
63
59
76
108
66
65
94
71
37
33
37
83
73
67
108
88
42
46
46
73
51
60
53
60
55
50
59
63
30
66
37
53
95
63
70
74
49
56
87
37
16
83
56
66
59
40
70
79
73
68
69
47
62
40
58
75
87
59
62
88
37
77
38
32
86
102
80
51
54
68
67
48
45
44
73
69
90
70
63
73
68
34
40
74
81
54
62
35
15
46
97
84
45
87
59
54
51
96
38
73
48
76
33
99
66
66
60
44
81
56
75
37
111
84
105
53
85
30
89
67
64
88
53
89
99
52
74
83
93
51
47
84
78
47
67
81
76
82
45
46
43
51
87
53
55
38
53
89
69
66
70
66
60
46
46
65
54
82
69
43
56
102
67
70
67
54
65
69
64
94
66
88
52
81
46
57
49
68
45
28
48
49
54
39
53
52
67
83
91
77
59
40
128
75
59
49
59
45
44
99
113
70
66
64
54
89
50
51
80
53
126
92
51
40
36
44
83
59
105
80
44
59
66
36
78
50
90
61
59
70
63
51
38
61
58
71
74
55
115
77
44
39
55
41
46
52
63
72
63
80
66
36
136
95
71
65
63
78
86
61
87
79
86
38
86
45
54
33
43
55
29
91
75
51
48
76
64
99
57
62
41
75
56
38
46
80
54
57
50
94
69
96
69
79
76
64
60
59
95
74
33
74
80
52
55
48
64
83
75
85
79
76
39
52
81
64
70
49
54
70
52
55
48
86
61
38
78
70
48
77
94
64
42
66
48
79
69
51
41
46
66
70
66
51
89
119
78
86
41
60
74
60
62
47
89
83
75
66
92
83
52
67
54
80
51
73
50
38
74
77
76
68
79
49
38
81
69
69
67
46
42
45
38
102
51
55
86
39
53
72
88
53
70
42
56
74
50
76
62
50
68
74
71
40
73
50
83
66
64
41
59
64
61
58
70
60
63
38
38
48
62
31
79
92
70
74
83
61
61
39
63
55
55
49
65
66
72
59
64
33
60
49
101
62
53
28
57
82
49
80
44
54
119
79
89
69
42
54
53
64
44
53
99
89
69
63
77
33
71
69
53
52
67
100
54
73
107
67
77
80
41
65
40
116
50
44
45
38
63
60
56
57
64
75
55
70
69
59
88
75
50
52
41
48
61
71
74
44
49
63
45
85
34
58
38
40
44
39
53
73
76
35
80
43
57
46
33
53
63
58
56
51
68
56
72
52
43
33
44
88
55
56
48
55
56
87
81
28
48
48
73
37
34
33
51
119
65
46
76
28
40
55
37
65
66
80
51
69
46
45
31
56
29
61
57
64
42
37
79
57
52
59
90
65
47
50
43
45
57
33
56
39
54
62
33
60
42
47
54
74
62
45
55
37
79
66
36
58
42
41
65
47
47
40
104
53
61
79
46
60
56
54
67
53
24
73
44
54
91
54
42
56
28
49
65
53
52
43
82
90
81
85
74
49
75
67
81
51
53
58
62
77
77
73
54
74
46
72
64
68
55
75
120
34
65
62
74
92
55
72
58
42
62
53
101
93
118
42
37
111
93
57
67
49
87
44
130
47
82
48
58
72
60
45
73
57
52
57
78
68
70
50
52
28
65
58
39
85
70
38
71
44
55
80
71
72
65
38
55
98
57
37
57
69
71
53
63
51
96
60
60
29
70
108
59
25
54
78
70
33
66
46
55
46
55
61
72
53
41
52
51
36
50
21
65
84
41
86
50
72
43
46
64
59
53
72
84
57
63
47
49
38
84
50
54
72
65
44
61
68
78
58
44
40
35
99
93
53
43
63
72
113
66
80
50
71
39
68
62
51
65
76
48
39
76
42
39
57
63
118
67
84
65
79
52
37
64
39
66
39
44
77
47
90
86
54
44
67
30
34
49
48
84
66
57
53
73
79
38
100
65
33
67
49
32
96
53
50
57
85
74
86
81
45
65
60
122
63
35
49
55
47
108
48
64
81
65
54
85
40
70
60
44
87
40
81
48
42
45
117
44
60
29
45
74
28
85
73
43
45
74
87
96
41
54
54
47
66
80
69
71
44
84
95
40
95
58
81
52
88
57
75
58
92
65
112
79
76
59
48
42
78
60
28
36
44
56
87
46
38
61
45
35
75
56
55
43
79
67
106
46
73
59
111
60
88
153
47
70
56
39
62
47
92
40
64
93
37
56
60
63
97
48
108
81
59
67
46
130
95
39
52
77
58
62
53
64
113
82
91
46
64
41
32
69
55
93
63
38
52
63
74
40
72
69
56
54
35
73
60
77
36
63
68
35
56
59
60
77
84
126
56
75
63
68
121
33
64
42
53
38
85
50
70
64
57
38
107
92
55
46
47
82
69
31
42
94
43
42
66
91
20
67
55
39
58
53
50
46
62
67
89
55
46
30
125
46
75
60
59
73
54
50
62
70
56
74
92
51
53
38
51
71
39
49
72
89
90
56
85
70
87
60
74
70
81
109
62
39
81
70
42
68
39
83
56
65
36
40
76
56
64
84
38
53
50
65
60
46
39
67
36
41
85
65
31
86
79
61
46
46
66
69
65
48
57
56
43
62
95
52
69
107
62
69
71
78
50
83
56
66
82
65
48
68
104
45
74
61
34
58
56
38
60
80
52
50
50
42
55
74
48
64
42
77
46
42
51
95
78
68
64
49
59
90
67
51
90
43
111
60
70
63
88
78
76
70
42
27
42
69
38
76
33
68
35
87
62
51
66
70
47
51
81
43
51
91
52
52
71
78
45
42
88
28
62
35
44
58
72
48
54
53
74
41
56
38
35
49
87
87
63
74
50
49
38
25
87
52
61
38
63
56
36
36
73
67
61
101
68
36
32
53
100
63
112
37
54
62
50
45
89
50
34
43
60
96
38
57
46
34
57
53
68
67
50
68
71
83
81
53
69
51
36
50
90
94
45
46
62
80
50
101
64
64
34
90
41
54
74
59
84
58
71
37
52
52
96
83
127
75
82
62
58
55
48
73
74
89
46
46
38
54
97
75
59
28
49
48
65
66
40
81
38
91
50
53
57
64
62
81
70
29
61
61
57
57
80
82
53
63
43
60
76
56
47
89
57
70
88
43
90
62
44
66
73
52
33
25
44
49
51
38
138
46
45
37
50
70
73
79
38
75
77
60
78
58
50
92
85
57
57
44
75
80
120
65
26
93
51
53
64
60
125
51
85
51
33
68
56
49
58
50
52
67
80
44
80
72
39
44
53
61
58
34
55
24
47
69
69
42
93
71
51
52
59
72
42
69
65
47
103
74
60
64
77
49
53
52
61
53
52
74
47
88
82
78
62
80
33
29
86
52
67
52
70
59
115
53
47
39
64
92
78
51
41
89
66
45
49
44
35
42
69
47
59
123
44
72
85
56
102
83
79
60
73
78
73
94
19
79
38
58
38
50
50
64
52
93
26
53
46
79
66
68
40
45
66
82
86
61
77
111
50
82
31
48
80
46
93
62
68
40
59
84
40
50
86
68
49
119
85
39
55
47
61
63
67
90
63
82
84
63
79
52
54
65
56
88
62
39
52
49
51
74
42
88
66
77
38
52
64
120
82
64
68
47
34
40
86
96
81
96
86
71
64
93
54
73
63
65
59
29
105
93
38
76
64
87
130
71
45
58
87
93
138
42
57
49
63
57
70
96
79
64
52
42
43
32
40
108
62
54
71
79
52
59
54
56
32
71
74
42
53
51
34
64
44
106
68
57
65
78
42
66
95
63
70
59
47
43
61
41
25
68
31
47
37
46
81
77
61
115
45
49
72
71
87
40
63
34
56
17
43
62
82
79
97
52
71
97
78
95
71
44
93
80
54
22
95
41
33
64
58
79
90
51
29
35
61
57
56
68
101
54
56
61
41
61
37
59
74
56
90
135
60
63
53
122
40
81
34
93
42
56
51
42
62
79
75
62
42
21
58
38
74
36
48
26
49
65
83
47
78
68
24
63
88
69
52
79
57
66
65
76
79
52
43
52
113
37
68
59
81
71
49
69
54
44
25
50
40
57
62
55
60
78
96
57
74
66
46
79
56
56
107
60
51
81
74
50
52
101
59
64
82
78
39
78
70
62
50
45
49
57
74
49
64
55
54
63
62
43
59
80
36
42
36
30
53
76
46
61
52
65
90
41
63
46
73
41
63
110
28
43
53
26
51
32
52
77
45
76
44
78
39
49
58
61
50
98
44
39
71
66
37
96
98
55
60
52
55
48
58
76
76
40
50
68
49
67
56
51
46
46
52
124
68
29
61
67
73
49
92
47
65
42
58
35
77
63
50
66
61
96
78
86
38
70
78
66
51
90
51
90
65
84
67
44
82
53
63
56
45
52
64
48
66
45
50
38
56
46
43
47
48
45
72
61
51
82
52
38
83
59
51
63
83
55
63
47
77
67
51
58
79
129
67
75
93
69
71
71
31
62
43
57
49
89
72
42
67
50
42
82
48
42
88
83
47
68
29
108
59
61
59
98
35
69
61
41
23
38
80
70
84
64
92
94
79
66
80
56
50
26
32
68
50
61
39
51
60
85
52
76
44
53
31
23
52
55
69
59
64
83
116
80
40
87
46
87
88
58
65
69
65
54
48
43
66
56
74
41
51
52
65
38
57
37
71
41
35
95
61
78
105
69
40
36
55
61
60
55
34
50
43
105
66
110
92
57
45
61
85
65
74
61
25
67
51
74
89
32
70
58
36
61
83
83
80
71
87
44
92
117
33
83
47
74
52
86
42
68
68
42
56
94
27
78
49
53
55
59
86
58
87
30
26
69
65
39
56
47
65
78
77
71
66
30
52
71
44
69
76
54
88
87
90
65
55
58
71
32
72
77
56
51
45
84
49
44
56
45
55
61
69
68
54
46
39
53
70
67
58
34
45
89
42
91
77
82
101
31
82
46
36
77
66
58
40
58
47
53
87
72
67
91
78
77
62
46
27
35
45
83
59
44
94
124
29
40
38
39
95
24
39
49
52
46
47
79
92
58
68
76
53
35
108
47
55
63
73
58
97
108
86
61
48
81
71
94
68
41
83
34
74
53
84
61
36
71
49
114
82
64
48
28
109
34
85
41
59
46
72
94
39
53
83
43
75
57
72
85
83
78
66
100
72
46
58
46
53
42
52
82
46
87
66
82
103
67
58
105
71
102
48
78
41
83
61
76
104
55
58
87
72
42
66
60
87
54
69
50
57
56
54
41
77
63
81
62
60
52
73
58
83
57
67
49
53
60
71
53
65
105
83
69
68
45
53
76
77
61
78
71
55
46
43
29
78
75
89
63
45
65
69
36
67
81
37
64
86
64
52
65
39
66
49
54
71
35
100
55
29
62
76
43
74
87
51
80
39
92
48
58
52
83
48
58
78
39
53
39
60
59
51
57
54
63
96
62
106
34
55
72
50
62
56
55
82
47
47
68
54
59
47
113
65
69
45
64
71
62
44
56
71
35
38
59
43
75
65
53
29
75
38
63
43
32
72
40
80
45
44
74
46
53
51
68
80
60
36
44
80
74
57
77
35
41
82
26
105
71
70
64
78
83
69
49
51
53
44
77
56
67
69
46
36
58
59
80
68
59
87
55
42
64
48
73
40
82
38
61
37
57
51
42
66
76
39
46
79
60
79
75
45
53
47
34
72
47
73
65
72
43
24
59
46
66
99
86
49
75
63
44
51
83
38
41
40
77
34
57
64
102
98
24
41
72
60
41
45
58
65
60
33
81
40
71
68
40
41
49
89
52
45
48
43
43
27
68
77
28
79
75
48
46
42
55
69
65
56
39
62
46
63
32
46
60
31
65
54
37
86
58
37
33
28
63
55
75
70
67
51
91
74
71
97
69
49
51
78
63
54
128
73
45
76
74
69
59
50
75
39
57
55
66
63
43
69
72
28
72
30
37
67
34
61
49
82
93
68
60
53
68
68
59
65
52
45
46
59
81
81
36
89
47
53
84
55
72
68
41
56
50
108
43
61
77
45
45
61
37
74
80
83
48
64
59
70
58
44
68
74
62
73
50
75
69
88
69
68
43
72
51
38
32
91
62
51
77
51
24
72
63
84
85
73
131
71
57
65
39
46
51
109
40
83
40
79
71
64
39
50
51
44
128
46
41
58
81
60
73
74
93
87
54
71
67
54
29
126
33
37
59
34
94
46
33
58
59
82
46
34
47
64
87
57
53
92
53
124
78
61
41
50
42
38
48
78
43
40
70
49
68
80
49
99
36
39
68
46
55
62
52
67
69
42
52
70
79
38
65
46
56
52
56
39
58
116
52
59
43
48
56
65
59
38
34
64
54
70
93
71
88
34
85
71
69
47
53
57
45
96
79
62
70
58
61
53
53
65
66
49
114
46
64
50
32
68
48
47
42
53
77
90
93
46
54
72
61
33
67
66
134
67
38
76
64
60
42
63
78
61
60
81
67
51
71
72
70
30
52
39
52
76
52
86
44
38
117
71
43
59
55
50
56
55
53
48
65
46
44
70
53
41
44
59
61
60
40
63
81
27
86
72
70
31
68
76
73
67
68
50
64
85
61
39
73
31
74
51
55
106
27
41
90
69
50
57
61
76
89
92
64
93
71
45
62
66
93
29
53
31
36
32
81
54
61
33
62
73
32
90
44
86
71
76
48
37
81
63
56
49
59
58
56
56
40
59
54
49
72
72
39
68
111
77
27
60
46
45
68
61
73
54
71
56
45
31
80
65
79
48
63
43
59
44
43
55
54
68
81
89
73
82
77
73
39
61
62
39
59
108
43
81
41
51
66
53
95
75
53
126
36
40
53
70
90
45
75
42
48
59
32
39
71
63
69
34
43
97
68
70
47
22
56
104
60
48
63
67
46
57
70
56
103
54
41
79
69
52
64
80
73
56
67
59
67
43
66
83
77
49
44
44
34
61
53
63
65
48
49
52
77
77
73
57
45
41
80
52
46
42
44
44
75
69
44
38
36
62
41
40
51
39
94
76
61
48
51
53
55
70
76
34
61
25
48
59
83
115
77
70
54
89
45
64
49
62
58
71
46
65
89
55
94
70
90
81
74
47
80
103
43
92
55
60
68
59
76
54
51
79
68
63
93
49
32
37
32
62
50
49
50
42
56
57
77
61
73
46
60
60
45
55
69
109
77
56
51
56
24
72
54
72
90
80
56
46
78
52
67
67
52
71
43
51
63
43
51
63
82
43
69
35
59
109
65
54
60
108
51
65
80
34
86
53
67
43
44
55
58
86
78
77
65
63
53
46
44
39
44
77
48
53
56
55
51
49
63
61
61
41
27
63
74
55
62
59
56
50
64
39
54
53
61
63
44
59
50
61
33
76
40
52
55
92
72
65
33
46
42
48
107
46
86
78
67
63
68
45
42
61
39
75
51
64
42
59
43
80
61
64
61
77
51
41
77
51
53
41
35
64
71
76
74
60
46
64
76
23
69
94
71
34
57
63
65
44
99
42
98
56
56
60
74
55
69
89
65
64
119
47
78
67
65
105
57
51
33
81
51
51
66
56
82
41
61
47
74
85
77
20
47
72
73
55
53
72
55
68
25
26
65
48
33
62
50
64
49
42
66
72
60
70
58
40
62
39
57
113
73
28
77
75
47
41
50
69
86
78
68
65
52
54
33
59
30
71
61
105
58
51
86
52
67
33
61
39
53
61
60
40
72
62
65
76
59
90
45
113
62
62
26
33
27
77
66
87
112
122
99
70
56
57
82
51
67
112
82
35
71
64
35
73
62
85
76
42
57
53
55
44
42
18
49
34
45
59
51
68
33
86
86
77
46
48
68
71
85
31
59
82
52
56
50
52
90
91
65
56
85
65
68
46
72
67
64
60
52
52
38
102
41
39
86
48
89
88
34
75
39
51
102
64
55
41
45
37
87
97
69
31
93
61
37
57
77
50
40
66
44
71
67
65
73
46
55
52
31
95
33
45
33
75
79
61
97
32
69
69
35
54
54
74
53
72
42
84
60
34
36
33
80
31
52
67
40
85
61
74
94
63
46
54
95
48
52
61
81
39
51
51
58
83
72
27
91
37
87
72
48
49
62
33
38
66
34
65
66
42
61
72
98
72
49
33
83
100
49
74
38
51
57
49
74
51
40
75
67
114
86
59
58
84
40
63
48
46
30
44
75
14
67
75
73
56
51
57
67
63
34
55
108
77
56
41
67
58
54
32
78
50
63
70
60
40
49
53
48
56
51
65
61
52
57
67
59
42
63
96
84
50
68
70
68
57
70
40
76
69
54
46
57
87
49
98
37
87
59
80
49
64
82
62
51
82
47
72
62
51
51
55
65
36
73
57
60
57
83
37
26
52
50
57
54
66
55
42
48
65
97
66
74
81
86
35
54
86
61
27
57
48
74
62
65
59
65
53
73
48
42
69
53
39
34
77
64
80
67
73
34
57
49
54
101
43
54
54
69
43
81
70
75
40
76
40
85
53
57
96
68
66
83
34
60
69
79
62
46
42
46
53
43
83
76
51
76
81
115
45
56
32
73
53
68
81
56
57
41
60
58
42
62
49
82
49
66
68
88
52
47
61
69
64
101
70
55
72
81
59
68
79
30
49
51
62
40
41
46
75
52
67
47
54
61
39
54
41
53
67
55
48
47
58
25
74
90
36
40
45
73
88
59
30
57
73
49
66
44
73
65
67
48
60
54
46
72
51
79
57
79
42
59
66
82
69
24
59
56
63
79
53
50
76
59
56
68
91
34
84
50
37
35
44
43
63
65
31
67
57
104
76
40
69
73
67
49
94
43
84
39
42
63
78
79
46
79
70
53
43
46
64
36
81
44
68
63
75
64
101
47
72
64
61
64
89
66
25
47
50
80
47
46
49
49
55
58
51
46
49
46
55
29
50
61
77
38
76
67
90
41
46
46
30
62
92
52
54
80
39
76
34
45
44
50
63
95
67
80
35
105
56
44
76
37
29
41
94
57
82
61
48
77
45
46
83
51
40
78
50
56
66
25
61
41
68
78
64
44
71
53
47
51
50
41
63
33
34
24
68
80
59
66
38
68
65
52
40
48
95
87
124
78
55
42
79
52
64
54
81
101
65
45
74
75
59
81
102
78
70
63
79
44
27
38
85
73
46
42
88
47
48
40
67
52
61
29
50
56
62
62
56
65
101
43
56
61
48
56
51
27
43
47
78
71
47
43
66
92
68
96
58
91
56
59
35
39
87
47
57
29
73
61
74
87
82
63
62
69
56
82
57
77
76
72
35
75
40
68
68
68
65
45
72
45
39
51
75
69
40
34
72
63
80
137
37
47
65
50
66
58
69
82
44
70
38
66
48
44
56
59
78
65
45
40
67
85
61
40
59
36
66
60
48
39
44
76
78
31
37
69
42
55
78
58
62
62
48
37
85
61
73
126
55
88
44
60
90
80
77
34
53
57
45
34
55
24
102
18
38
58
79
64
77
74
70
80
87
77
50
48
98
49
59
107
39
50
92
25
58
45
45
97
50
56
56
53
59
71
57
36
80
106
41
44
49
45
53
106
66
57
87
45
90
45
71
78
32
106
63
79
83
63
45
88
84
33
53
67
51
69
32
47
64
45
51
70
98
32
70
70
54
62
60
50
56
74
53
39
63
59
54
59
78
58
53
55
69
34
82
40
78
79
62
63
82
85
39
40
55
94
26
89
74
49
86
56
143
57
64
58
47
31
56
56
86
53
33
79
55
69
58
39
41
51
43
78
66
68
60
75
41
114
34
36
77
64
63
53
68
69
98
61
78
55
45
49
66
64
76
45
89
35
55
42
51
42
66
55
49
51
63
81
27
50
40
23
65
42
44
73
71
37
57
50
60
53
48
43
65
67
38
50
61
80
64
43
48
67
66
63
34
55
86
76
85
101
44
51
82
58
66
48
56
66
48
51
48
32
36
27
74
54
62
95
57
78
56
60
71
65
54
77
63
44
67
65
83
47
91
60
34
73
72
68
48
59
90
104
94
54
46
74
100
65
35
35
42
51
87
50
77
58
44
22
61
84
65
70
116
49
41
49
52
65
79
39
38
38
67
31
50
83
34
38
59
63
52
72
39
89
75
96
66
31
68
40
65
81
50
50
42
47
122
51
66
56
37
59
56
76
89
85
57
55
70
56
75
49
49
49
61
77
69
112
74
83
46
82
34
67
79
63
51
74
39
56
85
59
67
58
44
54
28
64
49
62
41
78
68
60
83
66
76
75
40
41
50
46
59
50
97
40
51
54
48
53
102
83
51
66
56
37
73
31
46
90
51
61
50
92
77
48
67
50
56
66
66
63
71
49
43
36
62
70
64
50
81
51
39
60
51
94
43
84
66
49
60
43
88
72
89
62
47
86
67
37
73
41
57
42
75
36
49
55
60
94
59
56
84
52
81
73
62
121
67
61
71
47
30
52
66
103
32
32
62
49
82
60
47
66
78
43
41
93
60
42
49
51
56
44
56
42
49
49
75
93
28
44
57
56
39
33
63
56
50
53
95
35
75
71
81
52
60
90
55
62
53
51
79
35
58
56
65
30
31
52
93
58
38
65
62
58
79
45
36
70
69
36
65
43
32
24
41
76
76
54
70
74
52
56
65
49
73
58
54
42
55
68
33
59
94
60
59
58
81
42
37
76
49
63
84
57
62
31
41
59
73
35
44
78
47
50
48
106
51
59
55
46
109
83
45
53
73
52
85
48
50
50
48
40
40
55
82
62
72
28
35
80
54
61
57
44
40
61
54
54
58
33
61
54
71
49
51
103
75
75
61
55
56
87
56
44
49
47
62
46
32
82
51
38
35
44
33
58
53
55
52
75
62
67
72
39
89
93
51
60
40
34
39
82
63
33
31
65
49
47
76
48
63
31
75
93
56
58
38
77
34
81
66
47
26
37
52
88
50
79
61
54
70
64
102
51
68
59
42
68
61
64
80
51
36
49
66
65
46
65
55
62
92
78
46
53
71
61
72
84
59
49
37
69
108
51
80
64
68
59
66
55
62
54
81
44
101
69
51
76
19
61
62
65
58
67
85
56
74
42
71
37
42
73
68
57
37
88
84
59
55
59
58
61
49
79
40
39
74
74
65
99
40
45
82
94
35
70
40
69
52
36
55
70
54
25
63
77
69
69
47
61
88
71
75
54
98
55
43
149
62
40
77
63
53
38
27
58
70
45
56
60
71
60
47
58
70
68
78
65
57
51
86
54
51
49
102
30
52
73
54
50
47
104
58
53
101
64
60
48
49
43
59
28
102
53
44
44
77
53
68
51
69
73
37
43
43
69
48
130
67
83
61
59
62
39
73
42
51
55
73
92
44
55
51
64
79
58
90
56
78
87
81
40
74
72
48
71
73
83
73
63
48
60
67
66
72
74
98
64
71
61
41
76
49
46
51
84
77
73
87
80
77
76
69
65
57
76
47
74
57
75
85
58
115
50
33
68
81
62
96
59
91
50
80
50
78
51
76
79
57
49
40
71
69
55
94
50
68
63
93
45
65
63
31
44
72
39
72
39
94
64
63
66
71
35
64
57
34
76
48
78
77
51
49
90
67
68
75
46
60
70
46
74
74
64
61
41
96
56
48
91
69
64
49
31
51
56
92
47
42
59
51
66
48
64
50
67
49
87
55
54
59
47
62
41
136
82
56
70
52
76
62
83
68
63
56
68
37
54
71
60
48
62
35
55
71
77
100
48
72
65
55
53
47
94
87
63
45
25
73
55
46
65
28
104
56
75
50
28
46
59
43
81
105
63
45
44
82
60
69
45
45
50
47
66
50
85
58
28
61
56
44
47
32
86
49
80
38
56
46
67
56
38
75
77
66
49
77
69
29
91
38
47
57
74
51
68
53
58
100
94
79
53
56
54
41
51
67
33
89
66
58
68
84
80
56
66
71
60
54
98
84
74
67
81
41
68
57
71
45
67
52
47
73
68
42
65
29
54
105
109
82
49
57
80
37
62
85
45
43
83
69
65
39
72
47
83
75
120
86
53
26
72
93
55
94
51
58
41
51
64
70
67
84
70
77
47
73
48
47
68
54
46
63
83
61
60
57
34
61
65
39
72
59
58
89
75
48
60
47
92
49
77
45
90
47
63
59
55
72
53
49
89
55
98
35
56
39
41
58
22
50
71
61
63
62
55
36
48
43
54
56
42
77
32
50
107
52
38
43
79
76
95
45
66
35
42
62
48
40
79
42
59
57
43
47
21
52
38
45
57
56
60
64
57
69
55
74
74
87
59
69
34
33
73
63
72
56
69
45
51
84
49
96
77
78
65
42
74
86
75
53
53
56
47
46
52
78
61
61
41
34
60
41
78
53
28
73
66
50
54
36
38
110
60
54
75
37
70
71
86
97
49
27
25
30
108
61
61
37
110
57
58
54
62
54
91
77
71
32
48
70
42
60
65
85
30
69
65
65
84
46
73
38
40
46
45
61
29
32
79
61
52
63
79
38
56
63
55
50
44
52
28
92
72
51
44
75
48
65
35
57
114
53
48
55
32
35
65
72
61
57
98
40
49
47
57
85
84
46
65
37
109
85
74
42
61
49
38
84
53
70
77
95
73
40
47
92
45
52
54
63
40
50
45
44
101
57
100
70
40
67
43
51
59
45
106
32
39
50
38
49
34
31
30
92
70
54
60
79
65
80
81
57
64
55
42
66
30
67
48
74
75
107
49
51
48
73
54
81
94
63
65
65
79
41
66
27
65
53
45
50
92
65
68
93
35
80
64
74
54
65
81
50
52
75
40
65
100
44
50
73
64
59
72
71
45
90
45
57
99
61
56
60
87
71
90
49
85
27
41
59
82
72
39
44
69
55
67
69
53
73
61
63
47
56
67
43
52
79
92
65
42
71
61
53
77
56
92
49
71
82
61
80
65
49
50
28
64
59
48
91
73
73
64
42
58
65
53
45
89
50
55
72
71
80
62
82
62
51
80
56
75
52
43
62
59
98
82
56
41
83
51
52
36
53
53
33
63
41
51
95
33
57
68
49
48
62
47
61
82
72
38
53
67
51
76
78
41
32
35
63
72
58
61
41
140
52
45
80
65
85
70
52
44
64
66
83
72
63
21
72
86
58
64
68
79
89
39
64
48
41
31
50
71
55
37
55
78
63
98
88
33
75
50
66
58
57
78
51
75
39
80
76
52
42
76
42
58
71
55
35
44
41
75
64
76
55
46
48
45
94
61
81
77
58
89
57
41
40
42
68
62
34
41
46
74
46
68
76
39
53
63
85
35
61
56
91
64
65
83
49
50
82
45
41
71
56
63
26
72
36
49
63
71
50
51
51
52
78
78
67
80
101
66
34
74
61
40
56
43
30
49
81
58
51
36
56
43
48
43
53
58
53
66
72
39
40
71
34
76
60
48
51
61
52
65
59
67
31
83
53
55
41
108
49
59
41
45
93
67
62
96
45
46
118
21
44
79
72
64
38
63
70
51
44
61
48
63
29
41
59
82
63
30
56
30
66
75
114
68
44
82
84
65
44
48
120
66
52
62
41
73
78
74
71
57
83
42
73
43
45
69
59
63
65
82
56
67
65
64
44
50
106
60
39
52
80
65
51
73
62
59
52
52
72
59
55
34
34
71
68
44
88
57
38
86
81
41
118
76
50
48
60
68
79
25
90
62
40
91
43
59
55
75
83
51
71
88
49
77
38
48
55
47
57
58
88
40
115
61
82
73
84
82
72
75
92
55
67
52
51
117
124
72
62
102
79
50
52
105
81
55
63
78
86
63
62
77
52
84
73
77
57
79
75
35
80
69
98
54
73
62
82
63
68
79
74
43
39
72
38
48
115
71
46
64
95
70
36
43
55
85
37
76
55
46
48
33
75
59
34
47
47
56
78
88
48
53
81
51
66
54
38
53
69
62
51
74
62
53
37
76
52
62
53
47
64
55
45
97
91
64
64
70
64
40
64
92
29
49
44
74
94
51
78
45
81
49
63
49
65
68
80
52
47
95
47
68
79
62
54
63
29
48
66
73
45
52
51
42
44
49
54
57
65
50
61
38
53
75
44
91
50
49
55
61
71
61
64
57
51
55
57
76
33
77
74
71
39
63
61
101
51
45
82
40
62
70
63
45
55
99
45
78
68
64
85
30
64
57
73
80
76
61
50
39
39
53
60
52
49
51
42
52
57
66
40
73
53
73
74
63
87
35
64
99
56
88
82
62
44
42
119
58
46
48
74
64
59
76
53
40
42
80
67
64
58
53
46
37
49
78
72
34
56
69
46
77
75
116
62
64
65
96
46
45
47
73
46
61
70
92
53
56
39
86
84
68
78
84
49
33
38
51
71
35
85
52
80
83
37
74
94
46
51
43
67
58
83
92
53
57
83
53
29
105
65
107
45
39
56
64
81
55
68
95
36
86
75
56
78
51
52
86
54
71
78
49
69
72
57
54
42
95
53
52
90
49
60
66
38
90
69
72
87
77
59
85
76
50
63
43
56
76
61
57
72
70
49
70
69
38
74
33
29
68
67
35
60
65
54
51
47
76
71
74
43
64
50
82
45
45
94
68
41
71
68
32
91
59
69
41
98
28
88
39
58
62
41
76
41
28
70
68
74
87
86
91
35
41
75
74
48
66
38
54
60
58
100
45
60
50
86
75
57
57
55
44
47
52
60
63
87
123
48
139
89
89
81
42
91
77
49
45
59
53
67
62
44
60
65
54
44
36
45
52
38
69
56
66
69
68
49
69
48
75
49
79
64
92
63
21
66
57
44
70
51
66
95
55
67
44
70
62
30
70
74
12
73
64
47
68
71
66
76
72
31
31
85
72
62
51
47
94
33
89
68
97
88
20
54
70
53
38
109
41
76
71
76
70
64
88
37
79
101
50
83
74
60
38
83
43
81
83
77
57
79
28
40
61
44
44
57
45
49
33
67
47
54
67
61
47
53
36
54
29
36
55
94
72
96
34
43
83
80
31
85
45
77
88
79
58
102
69
55
56
78
39
63
94
42
34
52
34
52
61
64
54
58
56
53
43
64
54
102
37
44
47
75
76
42
82
38
39
37
73
31
27
53
69
33
51
34
61
50
31
80
81
31
51
78
84
90
31
30
38
41
39
81
99
38
42
65
63
90
56
76
37
93
34
41
67
60
43
87
34
68
45
35
48
66
57
47
54
57
52
49
66
38
44
65
89
50
47
43
76
73
62
53
78
40
39
66
105
56
51
32
40
97
41
46
78
41
46
117
64
49
63
52
86
34
40
93
87
100
41
74
61
98
39
56
54
33
62
53
78
86
50
69
94
68
45
31
48
41
86
82
67
81
111
47
82
82
72
54
63
55
82
27
56
55
98
88
75
26
50
39
53
42
46
66
50
58
49
70
92
56
69
32
54
58
59
84
58
48
63
43
54
79
83
48
44
75
78
78
68
43
67
34
53
57
64
76
85
94
57
46
76
71
74
63
37
54
103
52
38
46
73
73
63
62
103
59
86
60
52
70
74
106
56
81
89
59
34
58
67
48
65
33
52
48
55
47
84
53
80
51
67
81
42
77
76
68
55
44
49
70
65
70
67
43
42
58
82
90
58
101
66
49
65
73
105
56
63
39
63
107
78
106
64
48
55
72
38
90
72
61
33
57
64
33
42
80
50
51
81
56
56
35
89
33
74
81
45
119
45
77
43
53
88
70
43
37
82
64
67
44
68
75
80
92
75
82
92
29
91
65
50
75
35
74
69
52
112
48
43
57
64
92
67
104
71
62
62
61
85
82
102
49
62
41
49
43
43
80
52
74
64
71
58
64
40
87
53
53
41
76
37
60
45
60
75
60
27
48
67
47
43
62
84
47
62
56
73
74
42
45
63
42
49
34
49
60
51
75
103
91
68
50
74
42
47
60
95
43
44
50
53
41
44
69
88
72
27
33
63
76
23
63
82
69
58
57
85
45
97
46
65
56
79
68
59
67
67
50
96
74
74
60
60
52
78
48
75
81
71
58
79
69
64
47
99
53
63
88
56
117
53
76
42
72
62
50
57
40
58
89
49
50
54
54
43
37
39
41
66
59
42
64
70
61
62
54
35
49
68
26
31
50
81
70
43
53
50
43
55
59
64
78
99
55
73
51
55
39
49
67
34
63
48
65
79
51
40
89
63
75
66
77
65
80
45
70
43
69
61
47
81
77
85
72
91
40
71
32
53
40
68
35
47
34
54
64
79
69
55
54
64
82
57
45
49
91
39
91
112
70
39
69
39
70
88
75
53
67
59
94
61
38
46
76
49
38
80
42
59
29
46
81
88
62
67
41
72
55
57
94
64
79
68
60
68
59
61
67
79
84
49
44
57
59
84
54
45
84
32
42
50
38
45
52
82
85
49
70
78
89
31
52
25
52
60
80
64
61
49
56
75
80
69
68
55
70
85
86
68
39
67
87
73
71
46
63
59
82
57
72
69
47
76
43
53
52
104
76
61
55
69
44
62
54
52
44
61
65
57
60
33
50
81
85
49
68
57
44
59
59
59
43
73
66
79
88
71
67
57
49
37
38
103
56
74
70
55
72
33
34
72
32
56
58
77
89
73
48
31
60
22
46
96
90
73
32
79
42
82
43
65
41
41
41
56
66
100
74
77
27
36
36
73
110
56
85
117
35
46
76
50
66
66
59
59
81
50
68
44
125
96
65
62
77
57
50
67
59
65
46
67
63
48
69
62
65
44
54
57
58
34
73
61
41
78
54
38
65
60
72
64
68
51
83
60
43
65
80
37
83
35
90
67
65
57
77
46
48
61
66
67
72
62
57
23
74
63
69
70
47
72
78
53
44
49
42
57
61
70
94
51
37
73
58
54
81
47
70
71
76
95
111
85
49
32
39
62
50
54
49
83
43
115
78
71
80
28
107
64
69
68
89
75
45
59
86
74
82
65
71
61
98
53
43
47
50
31
62
26
61
37
35
58
107
41
34
30
52
60
55
39
30
58
57
57
56
95
41
88
73
76
57
78
59
71
37
83
73
78
60
51
60
65
66
52
55
38
72
86
36
104
99
48
116
61
107
37
88
52
52
79
35
71
86
66
61
45
113
69
50
49
47
74
43
69
50
38
44
59
57
44
41
67
50
68
47
62
48
52
41
83
80
57
79
81
49
104
55
41
58
69
90
51
59
84
51
116
76
89
61
78
42
80
71
60
50
61
43
45
46
48
63
43
57
49
91
69
87
78
72
30
76
84
58
54
48
53
74
40
53
68
46
70
39
98
59
48
79
58
110
60
32
92
76
78
53
99
44
56
34
52
41
115
46
107
48
64
56
60
64
47
76
45
73
70
69
53
50
43
76
26
26
42
89
56
75
40
85
58
46
55
63
57
130
57
85
118
25
93
49
58
93
43
55
46
64
56
66
69
57
48
62
73
60
98
45
69
75
59
84
87
51
46
39
49
41
36
45
89
65
70
67
67
41
56
87
38
41
45
88
109
47
64
99
64
71
53
69
60
40
103
81
52
68
66
45
83
37
83
70
80
43
43
92
54
46
83
29
53
34
61
50
48
68
89
34
70
82
64
37
31
75
44
35
127
79
62
75
50
39
42
80
35
50
55
70
74
63
62
91
53
92
53
68
75
63
81
49
90
57
95
77
74
40
41
47
33
54
69
95
36
62
43
35
50
56
58
46
45
79
53
54
53
45
79
72
34
64
41
49
47
67
47
77
75
44
98
100
56
25
99
78
59
100
69
63
64
78
61
47
40
53
81
82
85
41
106
63
101
43
73
59
47
63
43
59
40
35
77
71
65
55
61
48
53
47
74
91
82
42
57
57
82
44
68
31
43
59
65
83
44
30
46
38
44
73
43
59
38
48
111
53
79
53
55
53
87
48
102
76
108
59
63
41
41
41
77
42
60
41
51
33
63
74
77
79
55
80
43
54
54
72
73
86
95
46
44
79
38
75
50
31
81
33
64
69
49
62
58
39
40
70
68
63
63
65
78
76
54
58
83
32
61
48
64
72
66
49
58
46
66
77
42
58
56
31
73
50
45
73
53
62
71
92
55
31
49
79
60
45
86
40
70
66
64
63
58
23
41
74
115
76
57
55
65
74
81
59
66
63
66
48
92
88
92
57
55
70
50
90
70
44
59
27
83
71
79
73
48
86
100
61
54
31
68
29
51
57
54
61
44
41
41
52
64
59
58
49
62
44
79
72
87
65
69
76
98
59
68
73
81
68
87
47
47
72
72
53
61
65
77
48
61
81
63
93
91
112
65
82
53
28
52
31
54
29
86
83
62
53
49
45
62
50
49
50
58
83
39
51
56
80
54
35
76
66
59
91
61
47
109
50
35
85
76
58
39
74
49
59
86
85
51
50
53
61
71
55
61
81
75
89
47
80
76
78
55
88
48
57
49
71
52
40
52
58
35
68
75
36
56
62
60
42
70
53
58
65
56
77
50
94
62
75
85
51
66
48
58
32
81
82
51
53
58
36
36
65
56
68
61
48
31
56
100
83
54
63
56
71
45
58
79
56
89
71
96
108
56
52
59
61
70
86
39
81
63
76
65
57
67
37
124
54
71
39
71
47
98
51
99
76
49
53
76
79
76
60
59
82
76
102
33
87
68
53
70
84
57
77
63
90
82
51
43
80
49
46
36
69
55
48
55
44
39
88
56
39
65
51
46
34
53
40
35
79
35
63
53
76
64
98
48
55
62
69
64
40
71
37
76
45
47
58
86
62
101
49
74
48
62
81
81
76
85
77
71
44
35
85
81
76
51
55
92
101
45
48
63
79
58
41
39
52
70
49
54
49
79
115
74
64
113
65
65
59
74
34
73
62
71
42
39
36
56
55
83
82
113
54
50
57
54
53
63
68
84
82
46
57
57
23
44
70
84
53
84
70
86
58
70
31
80
97
26
87
66
62
83
45
51
76
52
41
70
62
37
41
98
54
54
57
68
57
57
52
70
71
47
57
38
77
62
88
57
42
48
35
64
112
48
48
71
41
66
71
61
72
77
65
99
61
42
78
53
59
53
67
55
63
62
60
73
66
120
61
48
49
65
70
71
91
59
82
50
56
49
56
57
50
44
44
34
37
105
51
41
45
70
101
43
47
37
56
92
45
72
58
53
32
56
73
122
64
107
52
70
38
72
76
59
79
66
30
74
61
52
46
50
32
49
76
53
48
66
58
50
60
91
70
65
96
40
69
55
72
37
43
60
55
49
66
85
61
31
97
61
40
43
89
77
62
37
34
56
44
55
83
50
44
67
101
77
56
81
54
46
74
87
47
51
45
34
56
57
66
47
27
48
48
46
55
66
48
57
93
44
49
44
59
86
42
63
82
57
35
43
81
55
84
48
67
65
66
46
58
56
59
77
75
84
81
57
41
56
59
59
59
37
81
44
49
76
64
53
65
79
87
77
90
76
71
66
69
54
50
32
46
88
32
49
39
46
70
97
63
39
37
62
94
48
84
42
72
99
37
48
57
68
97
86
93
64
70
46
73
64
67
58
84
55
62
65
92
38
44
75
74
61
49
70
65
85
57
64
84
95
54
41
48
23
92
53
70
82
53
65
69
70
58
71
64
66
57
67
67
61
35
44
53
48
39
66
64
56
41
111
47
62
79
94
62
72
34
53
45
36
62
70
54
56
47
51
47
22
63
60
41
55
40
41
53
41
30
70
62
82
51
69
69
52
51
47
63
72
49
37
92
49
105
58
95
61
34
43
22
99
73
35
38
93
50
60
127
42
50
85
38
52
77
52
47
49
56
41
63
84
50
57
42
74
92
37
75
51
69
84
60
57
45
75
65
53
53
70
66
74
43
52
73
30
76
61
51
72
56
40
79
62
55
50
96
33
87
103
72
28
75
46
41
59
57
61
69
75
43
59
69
41
61
80
54
49
73
61
49
65
86
43
64
45
95
70
55
58
57
81
93
59
86
64
31
67
111
69
39
53
72
46
82
62
58
41
32
95
75
73
36
29
55
83
51
55
61
82
45
39
53
17
56
49
78
64
42
100
57
29
58
65
45
83
47
59
84
69
67
55
109
49
99
60
90
84
72
45
110
80
43
47
105
97
47
28
62
40
57
78
63
47
74
76
47
50
32
60
69
50
69
78
74
71
47
33
101
61
69
42
54
51
38
43
86
84
46
59
40
76
60
66
63
59
84
44
41
29
64
60
53
83
40
60
47
68
65
55
72
55
80
35
77
81
53
62
58
76
51
26
66
74
45
74
108
44
50
42
73
60
43
72
39
50
64
65
63
67
87
66
52
58
37
57
82
64
59
39
63
54
42
70
50
33
80
83
46
25
68
69
84
68
61
73
79
38
58
58
29
99
39
47
83
52
44
63
93
47
73
98
90
85
51
43
50
42
85
74
96
25
50
40
47
49
75
80
90
81
41
61
39
40
81
60
36
36
36
57
106
42
36
70
57
56
65
71
62
53
65
72
80
107
51
47
56
42
69
51
80
75
47
67
31
34
86
54
66
69
48
48
79
75
47
68
44
71
55
51
43
37
82
82
83
79
46
77
87
46
40
55
49
81
51
37
63
43
50
96
42
67
72
57
48
44
86
28
82
46
33
42
76
52
38
87
68
35
30
90
58
50
66
59
84
78
71
53
48
46
45
41
77
89
57
80
52
74
82
81
70
38
66
96
55
106
81
62
51
61
62
90
48
41
42
59
83
85
97
33
72
52
74
57
90
38
45
58
57
56
79
56
98
66
54
73
87
68
52
72
81
58
57
38
100
59
56
44
76
81
38
84
103
67
58
68
52
57
51
68
49
65
61
57
80
71
51
62
23
101
75
72
74
59
73
82
44
53
53
54
85
72
55
88
89
79
73
87
73
51
52
76
60
75
65
37
76
69
52
85
96
55
99
56
53
83
61
28
72
45
47
53
54
33
67
68
65
76
72
67
87
44
66
65
79
63
77
59
42
70
40
48
76
91
54
45
109
45
44
42
53
56
82
82
39
91
58
59
53
36
45
40
55
67
47
32
41
77
58
50
79
44
59
63
37
31
73
41
62
66
61
31
57
41
32
47
90
100
50
70
58
53
40
61
28
80
44
80
56
89
78
48
50
73
54
102
54
59
61
48
31
93
84
81
67
52
56
91
27
82
60
134
41
57
43
62
73
74
53
61
69
51
67
88
62
57
60
56
51
60
71
60
57
48
73
51
52
100
119
95
78
84
59
126
30
85
28
68
31
50
53
55
41
36
50
51
62
39
43
66
73
125
43
77
59
44
51
65
23
74
60
54
63
52
34
18
91
39
92
77
65
115
77
41
36
106
70
55
81
85
42
64
62
48
44
59
46
64
64
55
56
59
111
74
64
38
107
73
32
86
54
109
55
57
42
47
43
81
51
78
44
81
61
43
76
80
67
43
65
67
58
52
40
59
55
73
24
56
74
53
70
100
57
61
44
64
61
48
95
63
61
65
58
51
54
56
53
66
42
64
27
71
37
51
79
79
74
67
59
54
62
53
43
79
38
63
71
99
77
32
72
92
81
67
63
48
105
61
48
40
37
68
63
53
47
69
106
64
77
70
69
72
35
69
57
104
52
65
46
69
84
57
30
60
69
63
80
55
91
50
33
75
35
65
81
67
50
75
62
60
89
48
81
49
38
42
57
34
41
45
36
57
77
54
42
38
100
54
53
79
64
48
89
48
77
76
65
68
73
56
57
75
33
67
51
78
74
91
75
102
40
33
31
79
70
58
82
55
29
66
76
60
57
36
43
54
53
48
50
44
54
69
50
39
84
63
59
60
63
68
52
82
52
53
61
60
66
59
56
24
38
49
35
53
48
76
69
40
29
66
45
74
55
87
75
80
76
51
57
32
44
100
50
47
85
57
49
38
82
53
48
48
83
42
58
41
63
59
41
48
52
77
59
51
24
54
72
61
88
23
73
26
53
95
81
78
70
54
51
78
63
79
65
65
94
103
59
34
43
42
78
69
93
29
47
107
36
25
65
50
32
52
38
84
82
78
33
55
80
42
22
68
42
100
36
72
69
113
28
68
59
38
53
62
57
57
46
76
69
54
62
58
40
65
130
68
39
71
68
68
67
75
89
70
66
46
85
65
54
35
53
58
52
34
38
69
57
77
97
30
47
38
41
64
87
70
57
55
41
81
79
76
55
81
61
62
57
65
75
53
49
38
52
58
64
97
44
47
35
48
61
35
59
71
42
35
59
73
61
60
69
46
78
53
84
45
44
79
87
32
42
61
60
80
47
54
47
46
80
51
77
66
93
46
39
80
70
36
64
67
51
53
80
62
61
40
36
43
69
69
68
56
46
86
81
92
61
87
41
43
60
85
37
49
69
81
83
77
79
63
64
67
81
96
43
58
56
52
58
78
38
45
74
27
110
23
62
55
48
90
101
46
44
67
48
50
47
92
82
70
61
45
66
40
48
49
60
82
68
50
45
72
62
48
68
61
71
53
60
70
48
58
100
42
61
79
61
61
65
68
47
41
132
67
51
85
65
63
66
54
62
39
36
95
60
38
59
72
64
51
80
47
40
62
78
34
95
40
53
39
82
55
59
87
39
56
34
58
69
42
36
60
36
56
49
54
62
88
65
70
70
63
46
54
59
56
49
51
65
39
83
71
58
64
83
55
54
71
62
43
89
55
105
44
34
57
78
51
36
86
86
34
71
30
105
72
36
95
54
62
56
82
32
73
142
73
56
71
81
43
27
51
62
73
77
63
65
75
47
49
71
49
27
58
51
57
40
53
27
18
46
63
47
51
42
74
47
58
29
85
85
73
51
87
82
131
87
98
47
89
62
65
58
59
47
67
63
64
33
57
83
68
55
87
66
47
43
58
71
77
65
81
61
73
37
53
54
73
62
88
57
53
57
72
55
60
69
40
66
65
63
54
40
44
49
41
37
87
97
69
58
31
95
86
67
80
33
44
86
32
124
47
39
49
55
69
55
49
82
52
36
44
66
42
92
56
123
55
55
59
70
77
64
48
46
53
68
60
61
66
71
74
69
113
56
38
80
60
38
79
49
61
94
87
65
84
54
51
50
82
66
85
82
49
35
42
65
83
46
44
53
71
87
57
68
47
85
64
86
43
40
83
80
64
68
53
48
54
65
84
51
55
47
74
41
47
64
52
57
83
53
60
54
73
38
43
74
35
45
51
100
38
50
82
42
43
51
53
98
63
81
88
62
53
56
46
24
89
76
66
101
68
54
44
94
73
49
48
69
71
77
115
51
28
85
38
54
46
45
40
63
44
47
33
71
83
47
28
68
44
43
97
67
58
90
57
47
88
50
69
102
42
44
41
79
58
49
83
83
67
64
68
51
68
42
64
55
65
46
51
40
51
69
65
46
103
45
39
51
68
89
56
69
70
100
64
41
37
63
93
39
84
46
60
97
73
94
75
65
49
60
66
93
134
79
59
52
59
59
63
36
120
70
29
79
46
40
57
74
133
56
40
87
27
32
79
34
33
64
80
88
59
118
38
70
128
48
28
80
74
79
42
63
87
85
70
83
52
41
72
60
58
63
69
41
66
101
81
55
113
45
72
74
50
60
77
78
29
44
105
31
52
58
51
54
39
66
59
83
49
62
50
56
76
62
51
54
59
84
34
48
72
44
80
54
65
69
29
32
110
50
72
60
35
59
46
46
69
86
65
48
49
46
66
77
65
60
49
56
90
68
44
106
73
75
88
78
59
60
61
47
43
39
43
80
65
34
30
55
108
76
58
100
51
58
33
67
38
65
73
62
64
69
92
44
32
69
44
37
35
91
42
45
61
66
71
63
77
59
35
54
55
65
59
43
50
58
51
95
46
65
32
65
54
35
66
48
75
45
46
45
44
96
56
71
71
42
69
118
77
103
84
68
47
68
40
70
67
47
89
49
63
25
55
31
55
63
81
92
30
41
75
94
57
44
76
63
57
65
36
60
43
74
44
65
69
42
69
61
50
76
52
69
41
32
68
74
59
70
48
48
94
54
56
78
98
41
55
110
79
49
66
54
60
71
50
36
77
59
50
102
66
71
116
64
65
66
61
52
26
56
70
77
43
57
76
79
63
68
64
62
43
53
49
97
102
100
49
32
51
74
67
73
37
69
78
88
49
75
82
91
27
54
56
70
58
42
54
31
65
37
50
72
77
49
37
49
64
28
59
53
26
37
56
71
34
83
60
39
76
75
66
43
49
81
54
39
56
50
52
42
48
63
71
64
35
42
50
58
72
81
66
42
60
57
67
56
62
42
76
68
69
71
52
77
57
46
42
49
53
62
92
72
37
44
66
45
47
91
64
85
82
27
54
59
81
50
61
16
65
46
83
42
68
41
68
56
47
63
59
60
64
75
64
73
54
47
56
65
25
52
69
36
52
84
64
144
74
57
90
93
65
60
80
88
64
73
62
57
58
73
39
86
90
51
58
50
70
47
46
77
29
64
37
81
95
74
68
47
66
59
52
39
77
114
51
77
82
64
44
58
46
94
123
39
52
76
84
53
62
58
57
89
65
60
31
33
69
80
74
88
49
23
27
51
54
60
90
104
44
49
94
48
75
46
54
58
36
51
58
63
97
79
80
41
76
79
55
55
72
97
47
68
104
54
41
48
76
65
78
42
64
93
54
115
67
46
72
37
55
51
89
91
65
140
49
39
41
42
79
69
52
49
35
92
86
127
58
51
93
47
100
67
98
28
84
75
79
28
90
51
34
60
77
66
70
68
69
53
40
48
57
76
72
58
61
46
55
76
45
62
59
51
64
64
34
89
82
66
53
27
64
55
128
51
61
117
85
57
34
76
65
51
44
97
62
24
35
65
50
69
143
73
45
45
61
60
146
44
67
64
91
52
42
44
51
119
48
53
32
50
38
65
66
83
47
58
60
63
74
94
33
60
44
54
118
68
60
98
46
50
33
51
62
50
99
69
55
95
59
61
53
87
38
56
60
45
31
48
25
81
46
50
69
41
51
52
48
82
92
69
77
66
34
53
90
63
55
58
53
53
58
72
38
75
44
37
70
44
63
40
28
60
59
47
43
44
79
56
66
62
63
48
69
30
49
50
61
63
64
65
62
79
71
52
74
74
62
31
35
52
69
104
58
37
106
52
117
77
51
102
87
66
43
55
30
76
58
73
68
52
31
62
63
51
69
65
71
62
56
69
77
87
77
72
58
37
54
57
60
37
66
41
80
74
54
55
52
48
50
75
62
71
59
65
63
77
74
63
57
43
56
63
97
68
65
47
48
91
33
64
43
49
30
58
55
58
59
63
43
45
23
56
68
24
56
74
95
62
73
65
40
49
72
50
83
86
52
67
70
43
44
63
79
57
74
60
38
72
42
29
57
67
44
51
74
34
55
56
107
58
37
71
67
69
62
47
51
141
30
43
44
74
80
76
97
86
69
66
33
98
80
85
62
92
67
75
87
52
46
60
71
41
45
52
77
77
54
53
56
60
48
87
79
87
59
40
59
54
83
98
59
86
61
61
125
33
105
42
82
61
60
67
62
41
76
62
43
64
44
50
81
72
101
57
146
76
55
45
55
63
65
45
65
77
93
48
37
62
36
83
51
53
94
48
69
74
60
48
71
33
51
47
59
48
96
56
36
100
56
38
61
55
29
74
57
31
110
67
27
39
49
52
63
63
79
59
63
55
61
66
39
51
39
32
80
89
83
69
64
61
61
32
77
76
43
37
69
90
48
29
48
55
81
66
42
42
70
82
61
61
40
53
72
25
31
77
76
67
71
92
43
81
37
77
134
49
60
49
42
57
47
81
75
67
40
79
63
60
42
70
36
40
76
74
23
50
110
83
78
53
91
57
66
82
41
63
52
64
61
93
81
62
57
64
37
76
69
38
87
52
55
77
39
56
67
41
55
52
64
34
75
52
72
79
93
61
53
67
43
95
63
97
125
81
66
41
69
86
44
64
62
78
79
24
66
51
49
65
43
49
56
55
62
26
86
90
38
56
64
53
54
52
71
43
53
94
62
40
57
58
96
77
83
45
61
70
60
64
101
74
59
83
42
75
56
69
38
63
74
60
40
58
67
70
67
38
81
55
53
81
90
93
81
53
64
61
79
60
72
90
128
57
57
75
79
74
93
55
59
85
61
52
76
81
39
72
71
65
87
69
78
34
35
60
69
53
30
62
64
36
63
59
49
66
42
57
93
81
54
41
50
48
62
67
64
67
54
70
60
64
68
30
77
76
94
54
54
96
47
88
54
80
37
56
71
83
30
73
56
51
96
56
68
49
57
39
62
49
110
50
60
70
55
56
52
87
63
71
58
42
32
62
54
58
55
37
101
58
40
88
95
53
50
73
55
49
56
60
58
87
58
65
35
68
54
72
53
51
65
36
56
65
73
60
70
63
67
57
78
58
54
85
72
62
66
61
78
131
55
49
53
37
66
94
66
43
33
35
35
92
79
54
62
66
41
54
71
68
40
67
77
65
60
17
51
71
66
78
61
43
52
64
63
71
55
95
36
70
65
47
62
78
63
47
78
81
94
36
49
43
49
50
51
52
46
63
92
95
42
55
65
59
66
60
70
71
56
51
46
120
36
127
49
41
96
91
51
87
49
97
61
69
45
37
44
82
69
94
65
36
40
61
39
88
89
40
87
83
70
75
43
47
68
39
33
95
70
94
48
59
83
81
73
88
51
73
58
39
45
63
95
57
47
57
46
57
51
74
44
69
74
49
49
39
84
52
18
69
38
69
73
47
87
50
64
89
24
72
60
83
52
59
75
72
58
83
81
66
62
52
59
67
51
64
53
78
61
52
55
53
91
57
32
71
28
43
71
57
46
75
66
83
70
51
82
69
62
51
45
104
17
58
39
42
34
69
104
85
55
53
45
69
79
56
78
52
44
51
58
89
40
55
47
44
45
74
81
58
66
59
57
62
44
48
75
46
36
61
39
46
59
35
80
27
34
90
57
50
67
43
76
48
86
75
70
66
40
75
28
24
60
41
62
62
45
36
62
51
76
78
46
68
39
41
54
46
57
33
49
70
66
30
42
77
64
83
47
57
60
76
66
80
40
75
55
88
58
42
46
31
46
41
38
48
61
82
63
41
27
77
54
62
57
68
44
82
42
44
56
75
73
65
57
57
55
68
31
97
55
79
73
85
45
51
57
67
61
73
92
64
55
70
61
52
81
56
34
34
60
56
40
49
70
73
37
72
54
74
31
74
41
50
34
98
70
55
81
81
39
69
66
53
65
74
82
58
65
63
63
60
98
79
47
86
77
50
73
81
60
53
67
85
36
59
58
47
61
44
52
74
37
62
75
86
64
79
43
63
78
47
99
100
76
75
82
64
88
94
65
79
50
74
55
69
39
69
96
95
49
59
51
100
69
104
56
41
67
39
62
56
40
46
65
39
80
28
41
109
57
55
48
34
65
66
80
67
63
37
66
56
75
96
122
66
32
44
91
55
61
68
80
56
38
69
70
51
41
69
41
74
77
47
91
67
56
48
40
66
58
74
60
38
45
35
58
64
65
53
37
51
49
69
49
82
69
37
53
60
58
97
84
45
66
73
78
46
75
70
38
35
31
57
33
65
46
91
56
50
63
98
63
50
66
36
70
37
45
63
113
60
46
63
83
74
56
74
89
74
75
48
78
38
61
52
55
60
90
74
55
59
73
48
38
71
89
103
81
68
56
85
49
70
32
58
48
63
80
89
67
38
68
51
57
61
102
104
66
77
39
58
93
62
78
44
99
66
59
49
76
73
63
73
54
58
59
78
39
51
43
45
47
42
57
86
73
48
61
39
91
48
58
41
82
99
42
83
72
41
34
61
99
61
82
53
57
64
56
84
68
56
32
69
103
48
77
64
50
50
51
46
75
92
52
66
46
68
72
94
62
75
43
84
68
49
71
97
83
47
109
45
70
54
36
51
48
51
53
41
52
64
53
84
40
99
90
63
58
47
68
39
22
81
64
74
53
60
52
56
68
70
64
64
78
46
55
41
90
82
56
97
126
77
49
86
60
54
54
51
42
100
66
55
55
74
91
71
54
61
76
65
108
56
84
57
43
77
28
62
63
72
70
56
72
57
50
72
73
79
77
48
77
27
73
60
70
64
47
90
47
56
49
55
66
58
37
50
53
52
39
61
81
57
54
45
50
96
38
46
60
73
61
39
40
50
42
51
32
58
72
51
54
43
65
47
38
51
47
48
64
60
46
66
51
74
58
84
101
60
116
74
56
34
61
50
47
65
56
73
35
59
101
73
67
40
62
100
72
63
59
88
71
40
47
39
67
44
49
40
57
68
78
63
40
52
113
61
43
59
69
57
57
92
80
60
49
86
64
74
105
74
58
53
70
76
48
41
72
57
52
59
39
50
62
96
79
54
62
44
94
41
103
49
92
77
57
65
88
71
54
30
68
86
49
69
83
68
83
62
56
85
57
43
115
57
100
40
71
71
43
43
71
51
34
52
64
100
63
64
62
74
71
54
113
64
67
40
96
76
80
26
70
52
45
57
93
88
75
59
57
32
64
62
49
57
44
83
79
82
85
56
57
89
50
60
74
71
38
70
48
57
62
38
58
55
62
64
59
60
83
29
42
25
30
70
67
61
39
64
44
60
70
54
52
62
40
49
102
87
61
82
78
59
64
31
97
45
30
62
78
60
70
65
55
72
84
52
32
63
55
48
46
52
41
89
61
58
73
39
55
75
42
105
52
95
55
75
52
43
55
46
40
75
40
93
80
63
80
79
47
50
71
28
78
82
64
37
48
70
51
83
39
87
34
59
47
43
61
47
71
58
62
63
63
48
75
68
81
64
48
103
39
73
65
44
58
64
40
88
79
79
59
29
82
84
35
87
34
45
55
92
43
42
83
50
79
51
109
120
41
78
72
54
62
60
33
71
53
43
61
73
56
56
51
58
52
69
44
39
34
59
43
83
66
68
88
71
57
81
77
75
89
65
79
91
56
79
98
76
29
69
54
68
71
74
73
72
77
42
47
67
83
48
63
78
49
63
99
65
66
50
45
64
50
21
61
60
73
68
88
28
36
37
85
72
54
61
60
81
52
54
59
41
80
68
53
43
57
31
39
49
85
26
31
72
94
28
77
59
54
36
65
77
54
31
77
46
70
63
28
44
58
35
68
41
80
42
68
37
100
44
79
61
98
67
72
40
47
68
32
62
71
36
87
70
86
65
75
44
65
60
40
41
53
53
52
64
61
80
70
45
67
64
93
77
65
87
45
40
76
52
88
45
36
51
72
24
68
99
59
54
44
89
55
51
50
24
49
59
59
59
105
43
29
26
57
67
98
69
55
40
64
44
89
53
59
75
38
52
70
64
87
63
49
55
87
46
59
87
76
83
33
74
45
100
45
55
58
76
90
49
106
88
49
40
85
59
59
118
17
89
59
69
70
48
89
53
76
86
42
50
68
60
58
61
35
44
60
41
79
80
75
39
66
54
65
57
61
88
58
35
56
81
51
28
45
81
112
61
66
59
45
54
75
86
51
51
50
94
39
44
94
62
52
50
52
73
38
44
102
72
79
25
45
81
38
81
43
72
94
38
42
38
59
64
47
63
57
93
66
41
68
38
102
100
59
70
61
48
88
63
67
62
65
41
49
62
82
49
59
79
84
43
50
35
96
62
26
30
106
47
39
71
43
73
59
33
52
67
61
38
48
42
43
78
49
36
76
62
42
80
52
20
76
45
50
53
51
94
92
89
30
120
76
103
101
36
51
69
84
75
49
58
66
58
66
64
60
52
75
32
46
48
71
59
77
64
42
84
34
38
62
46
43
73
64
111
84
84
82
47
54
50
65
82
54
50
58
97
55
68
66
58
72
110
81
82
64
62
90
63
53
84
73
60
82
73
105
42
70
41
64
91
42
47
56
39
39
64
54
58
55
48
39
87
77
43
47
111
59
64
62
63
69
59
77
81
30
38
29
41
58
122
68
33
75
70
105
65
64
94
62
58
45
40
70
59
65
83
62
64
51
28
76
34
89
62
66
51
109
31
52
45
58
57
34
58
73
110
65
64
44
91
82
46
74
70
53
55
57
60
59
70
64
38
54
56
79
103
85
47
59
75
70
42
22
72
79
105
81
66
72
61
50
72
58
60
44
41
73
75
92
59
50
24
66
46
73
41
125
65
69
44
45
82
58
44
66
46
44
81
86
31
67
75
83
49
54
72
50
39
77
104
92
65
42
74
71
36
43
45
65
67
73
39
63
64
34
50
55
35
56
60
72
89
64
76
86
110
67
74
51
59
42
79
141
51
61
102
47
51
60
55
48
45
44
58
47
44
43
55
77
58
85
64
54
26
37
96
104
73
62
41
70
46
49
54
37
59
54
49
33
51
48
65
84
71
52
62
108
37
46
45
62
32
55
66
79
72
60
62
46
63
60
59
71
57
35
77
97
43
114
81
47
82
50
65
69
51
69
69
35
92
66
88
116
41
61
69
84
62
49
55
78
41
85
100
37
59
62
84
64
67
44
65
77
106
95
21
23
37
68
41
52
71
56
68
74
73
89
101
60
73
96
81
44
49
46
51
50
34
75
33
62
56
54
97
63
41
64
74
80
81
36
86
39
78
113
76
61
69
70
81
35
58
45
90
60
70
66
85
59
79
84
94
44
55
54
69
52
67
31
72
63
51
50
36
82
65
67
54
48
77
86
83
48
78
53
63
60
116
72
62
49
59
66
69
48
51
59
38
61
62
45
58
55
61
73
63
44
50
84
54
97
45
80
80
41
59
58
73
93
23
52
61
76
87
69
75
90
53
38
85
70
70
51
38
46
47
50
63
52
54
54
59
80
62
43
64
69
52
79
60
56
65
48
73
78
79
38
54
92
49
62
52
33
52
78
58
45
43
60
48
92
95
56
78
40
38
57
80
73
62
69
37
42
43
79
35
38
95
55
42
49
49
78
63
53
59
72
95
54
62
64
44
43
72
42
45
68
34
59
63
37
99
35
57
100
121
57
61
45
77
49
115
58
62
62
44
72
103
57
90
32
75
56
64
112
36
57
95
122
100
53
53
57
85
29
69
77
64
74
61
85
52
102
37
74
50
47
72
60
73
73
16
74
72
95
70
43
51
46
49
46
45
68
61
84
66
61
63
70
108
58
52
79
64
37
34
53
46
79
84
78
42
76
51
71
47
82
32
64
30
48
47
67
82
37
50
56
51
34
59
56
39
45
91
56
31
73
86
72
57
37
100
68
85
43
58
73
40
58
55
60
49
38
42
84
63
49
72
93
58
77
50
69
53
57
58
47
51
33
60
60
71
78
37
65
54
46
77
63
67
34
78
102
60
42
76
81
53
88
38
43
66
64
72
47
58
42
69
88
87
64
44
37
31
38
38
95
89
33
51
57
90
74
53
55
35
31
35
89
91
51
79
70
39
48
45
80
58
35
31
56
55
78
43
78
34
39
53
55
100
41
96
85
56
60
82
103
65
50
51
49
86
83
33
47
83
91
76
72
44
102
75
42
103
37
124
52
57
87
33
41
77
40
66
94
66
46
36
69
56
66
81
56
73
90
59
69
41
92
64
39
55
51
56
86
70
80
46
60
61
67
62
57
71
72
50
40
38
64
62
64
49
46
44
92
51
56
44
63
63
42
50
47
52
53
83
46
57
92
117
62
27
65
96
102
77
70
78
61
126
103
74
80
55
47
76
60
70
48
44
64
41
119
36
46
52
38
53
50
87
68
77
44
82
63
48
71
43
54
40
57
67
65
59
51
71
65
60
79
70
68
47
75
48
57
63
52
52
118
62
57
78
76
91
44
56
29
48
47
80
51
74
64
69
65
89
27
97
82
65
86
118
82
96
57
68
79
48
44
40
31
65
33
66
92
38
32
42
65
77
41
79
45
76
48
80
57
58
71
56
80
25
64
65
79
81
78
74
65
52
56
42
56
42
64
84
101
79
48
130
69
67
34
44
67
67
72
61
104
62
56
77
70
89
45
72
72
74
72
61
53
85
45
44
49
76
54
62
92
65
79
35
77
80
43
54
69
40
32
77
48
54
67
48
75
32
68
98
61
36
51
75
81
77
63
57
52
53
69
60
62
58
39
53
170
56
116
63
53
92
75
66
55
51
67
46
76
89
39
59
42
48
57
80
42
72
75
65
43
57
83
39
74
131
41
52
65
57
53
52
71
49
67
125
72
67
77
56
57
63
42
100
102
27
41
41
64
96
61
53
54
41
58
37
80
57
52
156
49
61
51
71
63
41
64
85
53
49
42
42
73
57
79
62
51
50
74
52
75
88
61
103
78
71
70
98
69
55
36
83
25
73
63
80
59
99
41
92
60
49
52
69
85
58
43
44
42
73
99
68
49
37
94
86
75
43
56
74
63
49
73
46
39
66
92
29
77
83
46
51
56
36
37
60
46
74
47
34
80
105
67
55
53
106
74
103
67
42
51
57
73
81
49
50
79
56
40
55
34
27
58
67
65
50
116
61
77
63
64
47
34
29
78
82
59
48
55
55
53
48
47
74
71
42
47
57
64
78
34
57
67
50
86
39
70
78
74
51
99
64
82
35
59
55
66
67
85
23
51
105
48
40
45
37
54
61
84
52
57
58
38
61
91
52
77
42
37
62
81
81
51
37
63
77
37
85
64
68
60
76
70
48
42
82
54
77
82
90
57
62
84
50
93
48
50
47
66
61
49
51
64
57
33
46
67
63
49
65
36
95
34
61
34
65
41
53
49
59
66
63
50
100
100
65
71
125
72
52
72
64
50
75
53
80
76
78
85
29
52
65
73
74
56
34
61
43
39
62
44
49
67
60
35
41
70
70
62
45
53
49
70
44
36
57
34
86
82
65
40
52
50
74
71
47
55
29
59
69
36
73
61
50
50
38
86
44
64
79
32
89
64
77
41
77
69
51
54
69
42
49
51
82
38
54
71
45
76
80
55
86
104
66
61
64
36
72
43
67
113
66
62
46
50
56
52
32
54
50
73
51
90
66
81
77
55
82
83
57
88
48
74
75
54
70
32
56
76
36
41
68
42
47
33
56
71
93
104
48
59
69
78
46
73
84
41
77
45
111
57
54
58
53
50
66
57
43
58
117
71
63
50
120
47
66
50
49
42
30
65
53
61
70
49
73
31
57
36
54
56
57
80
51
26
47
59
71
42
81
70
47
55
64
55
49
69
90
72
80
101
94
54
94
57
39
70
71
78
55
84
50
52
62
69
49
37
66
42
62
48
74
44
80
75
49
82
33
75
40
75
72
60
91
65
48
52
62
64
48
66
61
50
94
83
95
48
70
89
45
26
121
50
29
56
59
78
50
53
46
29
37
75
68
63
56
36
71
57
62
71
62
92
60
52
74
53
53
50
64
78
37
52
78
94
60
48
42
63
90
76
85
36
47
55
68
51
49
76
69
74
95
49
67
64
86
72
47
81
52
104
70
73
57
51
80
38
30
59
43
56
46
47
52
48
53
51
78
86
69
67
29
74
87
57
63
55
56
57
62
55
98
57
71
34
99
70
52
60
40
53
83
94
33
51
67
34
53
39
53
56
37
20
97
57
47
106
65
87
71
61
50
92
95
40
147
48
58
53
63
80
98
46
89
53
46
53
56
37
40
53
37
53
59
34
59
36
78
60
37
52
69
31
54
59
95
43
32
68
37
73
95
28
81
61
57
31
89
47
75
70
84
36
55
61
58
97
45
42
48
79
69
66
40
54
55
81
31
73
51
86
38
47
90
62
67
47
97
48
32
41
48
56
38
52
52
49
70
63
107
101
64
39
50
27
31
60
38
57
46
64
92
55
52
78
60
46
69
47
48
67
37
74
60
68
47
44
50
27
47
41
48
42
58
62
65
46
100
109
50
68
87
111
47
47
52
39
44
42
44
35
29
33
45
82
51
85
43
49
54
63
58
63
53
59
50
27
75
74
73
62
59
76
59
54
51
80
68
98
49
73
81
57
47
80
46
47
60
55
69
58
76
40
43
62
52
45
60
82
55
34
54
78
52
50
65
46
85
63
48
70
58
54
62
69
52
70
84
110
56
87
43
51
73
87
48
28
30
56
65
44
78
50
68
45
35
115
28
55
69
49
76
50
83
31
36
57
53
51
67
70
59
72
71
73
63
78
55
75
67
60
89
49
72
65
59
55
75
57
43
65
53
63
66
50
46
38
49
78
78
76
60
86
68
67
77
43
46
37
60
38
45
62
55
78
89
81
62
48
37
50
82
56
49
56
61
70
83
91
53
48
42
66
67
76
105
84
28
57
67
64
33
61
62
42
36
56
58
40
54
57
45
52
81
117
60
91
55
66
53
103
79
47
53
92
55
28
142
67
66
70
49
44
50
45
46
77
53
49
75
82
70
71
80
74
47
64
71
83
69
100
105
82
113
61
75
114
27
70
45
68
28
46
76
51
33
56
29
74
96
52
60
58
60
70
37
69
43
84
85
62
51
41
45
63
70
59
43
62
40
63
43
95
88
70
72
54
66
76
46
61
84
56
34
54
87
50
55
92
33
78
49
35
61
52
50
75
38
53
55
40
37
79
66
76
92
42
68
58
35
49
45
75
79
51
62
43
59
42
68
71
56
51
114
43
76
92
69
55
78
77
49
54
42
37
79
65
48
56
69
60
43
40
62
60
50
56
43
71
56
67
50
54
30
33
48
62
43
64
54
33
49
51
37
42
67
53
46
39
54
74
61
73
83
42
80
38
72
60
86
54
51
53
103
36
63
39
55
40
51
42
103
135
48
59
24
44
51
43
64
48
45
60
73
72
74
42
105
49
81
70
44
59
63
58
72
69
53
70
50
58
60
44
63
84
44
32
64
51
71
97
34
48
38
51
64
58
36
48
84
83
50
49
58
88
67
55
58
100
67
56
70
65
78
55
74
66
59
60
44
53
47
48
58
36
45
33
34
52
63
57
76
45
45
51
29
23
62
61
104
52
61
76
120
37
90
45
80
68
54
69
60
78
103
47
54
49
55
91
43
78
63
58
42
38
47
58
52
69
60
46
43
60
108
57
59
50
113
72
63
39
65
47
66
42
64
100
45
78
53
98
64
75
62
52
71
101
61
42
79
53
40
43
58
89
61
54
111
29
58
53
67
62
64
56
61
60
60
66
57
78
71
82
34
70
77
82
109
53
72
79
38
41
40
79
52
80
66
100
52
50
60
83
36
62
37
63
47
67
92
64
90
68
56
43
47
60
50
38
55
47
43
71
48
46
70
127
28
58
55
46
65
78
43
60
52
108
54
115
61
37
62
55
66
32
31
50
56
71
46
99
56
82
51
68
57
85
39
41
73
65
74
68
45
68
55
66
67
40
57
60
52
40
74
57
68
43
51
64
76
65
53
83
91
82
33
65
30
78
37
56
58
64
41
35
73
46
52
69
66
98
61
68
63
49
133
41
37
49
44
49
53
43
56
61
82
93
44
100
54
41
77
60
76
85
26
65
63
41
69
68
47
61
65
65
69
84
58
53
52
36
95
54
83
81
60
43
42
52
59
61
65
85
57
58
29
76
53
99
48
64
49
32
47
63
52
57
109
85
62
45
93
77
77
63
38
21
77
59
96
89
47
89
76
106
65
55
65
50
76
49
52
86
73
62
100
75
54
60
77
78
60
69
33
68
90
68
57
40
47
78
45
72
94
73
51
50
54
31
58
70
73
43
65
59
71
61
82
89
86
65
104
39
54
82
90
55
49
70
41
60
50
62
60
61
77
42
93
77
40
54
89
43
67
54
62
56
55
29
48
71
86
78
88
52
67
74
78
89
66
63
40
45
76
88
83
40
47
90
72
45
68
77
78
51
77
51
68
28
41
34
41
44
86
47
71
35
76
53
34
61
65
48
87
37
50
73
44
48
33
42
76
63
67
47
100
93
62
57
51
53
83
64
63
56
39
65
55
52
75
42
21
92
41
80
62
55
53
84
110
66
72
37
30
60
71
58
58
39
54
41
34
45
27
55
110
57
60
59
88
72
43
67
53
64
48
73
46
83
54
70
95
79
70
49
72
86
71
63
46
62
33
49
64
88
75
54
73
55
78
79
70
53
65
34
85
68
51
104
92
50
63
47
66
38
59
74
81
42
62
65
83
49
65
62
74
41
54
37
114
50
101
61
29
42
82
59
39
71
44
44
71
37
67
77
66
41
40
66
95
31
65
61
62
88
60
69
47
49
39
41
62
65
83
69
50
55
47
65
51
52
125
43
56
69
40
53
75
87
54
63
47
40
39
51
53
63
60
56
41
66
58
58
30
47
52
52
48
83
90
34
84
69
51
59
54
90
40
75
46
46
108
78
64
143
62
30
73
83
44
74
38
43
65
46
48
56
52
76
65
96
41
63
75
68
53
66
65
55
36
44
69
48
70
55
35
59
63
53
58
69
46
75
94
41
67
90
53
42
64
116
40
70
65
55
73
40
76
77
97
99
37
63
64
53
70
77
58
36
77
48
80
45
61
97
83
56
77
65
85
58
45
110
68
45
44
75
40
51
124
83
39
53
77
83
46
50
113
60
35
32
93
73
92
74
87
48
57
46
54
48
33
56
64
52
58
88
80
43
60
61
92
34
118
93
84
59
75
48
65
71
52
48
47
77
53
53
65
52
53
54
62
46
73
42
93
50
59
74
50
80
55
68
64
22
40
53
88
59
36
114
67
34
73
64
64
33
43
56
34
60
86
136
57
52
73
76
42
41
102
66
58
75
89
46
37
81
65
60
77
51
44
39
45
68
65
41
85
62
40
90
51
28
62
37
64
53
69
46
74
87
74
62
39
69
55
58
72
52
89
85
90
41
53
37
64
61
67
86
68
62
64
52
54
74
60
45
52
39
37
110
60
80
59
67
28
90
73
43
48
42
55
82
71
41
53
66
71
52
122
75
63
45
82
54
76
54
59
60
81
100
57
72
74
78
67
60
63
77
98
48
60
83
34
56
74
49
67
62
81
42
84
64
67
34
30
67
61
53
44
78
49
55
103
54
44
60
105
56
39
53
76
70
86
89
38
44
104
39
58
72
61
46
62
59
63
58
100
77
35
64
77
55
73
47
59
59
51
63
89
42
55
65
63
37
52
53
51
63
79
75
66
88
34
55
64
79
38
59
66
83
45
88
61
59
71
90
66
49
54
65
66
83
49
57
61
63
67
30
75
52
63
46
37
60
76
53
78
48
74
90
46
61
55
34
50
92
52
50
40
91
67
45
35
56
73
67
65
62
58
56
86
45
45
62
39
33
61
54
43
66
81
69
53
57
62
79
70
119
61
73
57
57
47
61
48
60
63
71
62
81
77
48
54
68
69
27
84
42
56
72
36
47
53
76
75
67
75
35
53
88
81
104
73
52
80
46
49
45
62
35
49
78
32
81
53
64
66
63
29
86
46
48
39
58
43
77
61
66
58
67
55
120
44
50
61
56
38
115
91
61
20
55
42
53
50
37
42
92
48
51
62
63
56
30
79
54
48
72
50
60
38
82
76
46
95
43
59
64
60
26
39
60
116
57
78
58
92
37
57
67
56
38
85
80
98
44
78
40
59
36
50
37
63
74
74
67
76
79
48
35
50
41
42
97
70
71
48
34
90
63
45
78
34
89
49
77
74
68
62
36
36
98
52
54
76
93
83
59
56
52
55
80
70
81
55
74
52
32
63
59
57
31
76
46
54
55
62
63
53
43
46
39
69
61
93
55
50
29
31
57
49
61
68
52
50
55
62
34
74
52
56
51
77
37
50
87
91
87
64
29
54
104
65
40
58
92
75
53
78
64
48
58
70
36
70
55
64
65
38
50
48
32
42
57
35
39
59
66
67
81
32
47
38
54
53
112
52
78
55
68
71
82
51
68
58
65
95
72
36
43
54
85
77
74
30
68
47
85
97
51
65
37
61
38
62
59
60
89
101
52
44
76
47
100
43
58
74
109
41
78
66
98
92
76
56
54
77
51
61
81
52
65
52
88
62
68
46
66
83
70
42
38
95
41
53
69
67
65
46
62
53
76
41
56
68
82
28
35
72
54
48
56
74
63
73
35
56
56
73
103
83
72
97
28
73
56
54
49
78
86
49
92
77
69
59
54
62
58
69
42
77
80
78
21
45
77
53
40
72
65
71
53
58
51
79
35
65
46
70
49
33
71
52
54
64
58
129
66
92
35
74
69
66
64
50
47
41
44
62
68
56
62
41
65
79
76
74
57
78
69
52
79
52
66
59
70
60
88
59
70
33
74
53
73
70
67
74
52
60
103
47
48
45
32
64
82
75
68
52
39
52
63
114
76
93
105
57
82
87
50
52
51
54
65
38
55
51
31
43
67
78
42
67
56
52
50
97
48
99
54
75
56
34
62
66
58
95
96
82
50
55
67
54
46
120
39
52
34
68
85
66
94
38
92
66
60
62
67
57
54
31
99
69
76
64
66
83
63
34
108
55
76
42
86
55
66
55
55
79
48
55
54
47
65
60
80
52
49
55
77
46
58
55
104
46
63
67
40
81
43
33
74
74
63
55
68
70
123
42
95
55
82
83
75
74
56
57
43
68
52
53
52
78
83
50
74
85
32
53
58
33
66
34
73
53
93
55
56
66
63
48
45
46
105
89
58
22
51
49
59
81
55
52
72
38
38
75
75
55
85
67
102
41
78
54
36
65
53
61
45
57
51
56
58
78
60
55
53
39
47
56
82
96
41
55
42
54
64
63
63
53
60
70
39
60
52
46
53
78
64
60
51
84
49
74
85
67
62
95
62
34
86
79
61
80
48
24
49
77
61
43
50
99
57
53
73
67
41
46
44
40
47
115
49
62
72
75
54
70
67
56
55
88
63
76
54
96
58
83
36
43
53
84
57
53
102
36
56
104
32
33
78
33
44
45
54
66
77
67
50
70
67
38
52
29
61
58
62
97
87
74
56
89
89
65
51
31
53
61
53
68
55
88
50
110
64
70
62
21
57
77
82
56
34
48
110
38
62
84
61
40
68
59
63
45
50
48
64
62
39
51
59
62
68
65
66
39
70
37
78
63
35
38
91
73
26
69
38
79
82
56
78
95
88
63
86
69
62
52
53
54
103
85
68
62
94
78
46
39
67
61
103
53
66
70
64
55
54
60
53
34
53
77
66
59
51
30
48
35
49
69
86
66
48
74
39
46
87
70
43
60
68
57
84
72
95
50
46
56
63
107
79
66
67
65
83
72
68
47
60
91
49
63
85
59
71
36
44
47
73
68
58
57
39
54
71
61
33
34
67
76
102
24
71
72
89
43
51
114
80
73
54
80
47
79
55
65
96
49
38
61
55
46
51
61
33
74
56
60
82
56
49
69
99
29
44
55
61
76
87
52
60
69
71
47
58
65
44
55
61
39
63
72
62
83
86
85
54
54
89
68
81
66
73
78
56
55
57
69
69
60
31
62
60
64
61
107
72
76
37
53
91
36
68
94
77
76
50
48
87
54
68
41
36
86
62
51
50
79
74
70
87
52
81
62
76
59
45
73
64
72
49
61
100
72
42
67
76
45
38
71
67
50
55
54
91
39
99
76
68
63
62
25
69
64
95
48
47
61
55
55
69
137
65
128
40
60
59
42
88
79
52
34
39
80
47
69
63
47
70
85
62
101
53
72
82
35
76
50
53
73
78
64
86
58
60
84
96
70
55
43
100
46
51
59
74
26
55
50
92
59
69
66
59
39
70
72
91
51
77
42
43
107
28
35
49
61
46
43
84
25
40
78
76
87
57
50
74
75
82
25
73
122
96
56
48
69
69
71
71
58
100
100
63
62
49
59
46
63
63
55
62
73
86
67
81
74
42
48
87
78
31
55
83
43
75
66
58
90
90
86
82
42
78
31
50
45
79
96
51
72
74
60
49
42
120
57
45
42
65
43
33
24
56
52
50
85
46
54
39
54
44
70
52
71
57
84
39
48
63
45
101
102
70
73
63
66
68
47
70
60
80
46
37
94
67
77
41
48
48
56
63
70
94
29
75
37
38
64
54
74
47
46
108
71
47
107
43
56
64
41
35
78
76
92
50
93
60
63
64
33
43
67
72
74
59
45
48
51
73
51
87
74
60
37
46
39
52
57
46
58
60
68
90
74
44
81
31
71
51
62
44
50
57
62
75
26
110
56
61
49
44
84
72
31
122
71
56
68
73
85
68
53
59
62
68
71
65
54
40
94
78
65
91
89
61
51
67
65
48
63
70
58
50
85
56
79
66
54
56
63
55
55
47
68
71
55
83
43
46
44
33
55
46
57
59
41
76
66
31
103
58
87
60
84
45
69
79
55
65
50
63
47
80
55
129
98
40
50
66
68
76
63
59
61
66
103
79
59
74
74
65
67
56
63
36
36
95
71
85
43
59
118
20
23
50
38
38
47
62
68
76
60
35
53
72
59
46
75
49
29
30
43
62
49
47
67
55
73
89
72
42
66
94
68
35
54
62
80
85
87
83
46
51
41
64
65
42
78
63
78
66
27
65
46
63
74
84
68
40
59
41
57
68
46
44
75
55
70
34
39
61
65
49
48
44
40
73
50
61
47
55
51
84
50
43
75
49
50
38
41
64
83
56
57
70
67
62
73
55
54
60
51
72
61
40
72
54
53
67
66
44
32
52
48
84
72
65
43
83
57
69
48
40
66
84
89
74
62
73
70
101
92
39
57
57
85
52
73
61
71
71
56
33
34
41
50
39
59
58
85
72
55
69
67
62
77
59
63
55
47
52
89
83
54
55
86
62
57
71
67
85
64
37
60
43
71
71
54
47
57
87
67
66
74
47
44
86
45
74
40
83
68
74
52
65
57
65
48
53
68
47
82
55
79
34
69
57
60
62
36
48
58
37
65
91
71
84
76
52
97
89
76
38
64
52
88
27
65
31
60
83
113
63
63
58
61
80
81
55
74
37
55
51
45
76
105
57
95
55
69
38
47
43
100
46
72
46
49
79
92
66
52
83
39
56
59
48
97
84
57
45
65
70
79
52
108
33
71
67
52
35
93
61
69
51
64
90
93
41
60
51
97
42
70
48
65
55
83
71
55
66
64
37
42
48
53
55
34
30
47
59
109
60
58
57
71
68
69
56
36
43
47
36
51
58
66
82
45
50
58
81
52
76
73
57
49
76
30
76
63
39
66
53
85
56
46
74
64
63
49
59
100
83
38
70
41
49
55
59
54
55
59
41
66
70
59
72
45
52
50
66
50
84
56
53
40
59
54
50
45
103
79
71
71
56
41
85
86
80
55
31
42
49
71
92
44
62
62
100
39
66
70
91
56
54
60
52
78
32
52
33
78
54
76
39
53
45
74
47
52
59
62
32
43
68
57
80
31
33
58
70
60
93
31
60
72
59
36
61
35
67
73
28
43
50
67
45
37
57
70
41
42
75
36
78
45
62
107
49
81
67
39
29
70
42
97
38
53
63
48
46
59
82
58
48
55
47
95
65
47
53
56
77
30
37
54
36
43
49
46
69
61
78
66
63
50
51
32
58
62
53
22
63
39
42
71
63
63
61
58
66
115
108
66
79
61
134
58
61
29
104
56
34
71
65
32
58
72
99
48
44
95
105
63
53
53
52
86
61
47
43
67
53
70
73
123
57
37
81
63
46
76
78
58
33
64
70
74
63
39
81
51
94
26
48
96
60
40
52
50
51
44
25
39
51
57
86
34
76
78
43
58
47
42
36
55
95
70
80
49
71
79
72
69
44
58
50
57
70
65
57
43
34
48
63
83
64
42
54
42
83
37
59
78
87
41
59
74
38
54
77
62
34
81
91
143
62
44
99
57
54
69
56
75
48
58
47
70
48
55
77
48
33
47
53
115
96
62
68
75
57
48
74
61
41
88
75
44
47
92
37
70
39
40
82
56
55
88
81
72
42
46
92
60
47
83
89
48
63
84
64
49
40
113
91
77
83
22
58
86
55
65
74
35
59
58
39
49
61
48
40
70
65
31
67
50
75
65
85
56
56
42
59
135
80
76
50
81
60
41
63
60
78
54
71
44
84
55
57
44
65
94
58
104
88
38
49
89
53
59
74
44
50
79
95
66
74
65
29
75
91
40
33
63
59
67
57
32
78
49
58
58
65
60
56
63
55
89
38
80
56
69
45
67
59
95
50
66
63
52
24
74
42
55
41
53
49
36
71
89
42
101
33
53
83
61
40
97
72
66
58
57
54
91
51
49
75
59
37
46
30
74
56
46
77
59
66
65
50
30
53
43
77
54
36
86
54
55
85
48
82
73
50
59
49
45
60
66
41
41
65
60
56
42
52
38
79
48
49
104
74
94
82
57
73
50
47
44
46
98
73
69
88
39
58
60
73
67
58
32
35
54
55
62
73
62
50
32
73
55
102
71
63
46
39
30
50
59
57
53
59
75
20
66
66
74
34
59
32
91
42
102
59
39
79
66
66
44
48
39
59
86
43
35
112
108
53
34
70
79
83
32
77
41
18
66
62
74
25
68
56
74
56
76
55
36
73
98
52
52
60
40
44
55
50
89
63
45
35
58
82
70
56
104
57
48
56
56
100
69
63
73
36
53
67
83
92
30
77
82
88
41
89
56
96
44
89
82
43
70
80
62
33
70
71
83
54
53
51
46
54
52
78
43
24
28
44
63
58
59
95
61
71
38
80
43
47
56
75
46
97
43
73
34
49
51
56
48
47
78
48
29
60
33
37
63
63
32
55
44
37
60
54
69
53
47
34
41
76
32
58
77
74
54
57
58
45
96
78
66
78
78
54
41
88
30
37
51
73
57
46
47
57
72
40
113
45
90
54
54
43
42
59
50
61
53
86
111
42
65
56
72
73
75
40
55
36
61
70
57
54
82
34
64
48
57
58
74
44
81
52
86
41
66
75
61
35
47
65
60
52
69
67
55
53
87
79
49
88
56
77
72
92
45
44
76
57
39
77
96
57
30
67
51
110
51
82
67
63
77
82
76
76
46
68
63
83
81
62
70
42
42
56
63
65
39
69
48
49
29
77
51
61
40
54
54
45
49
40
52
63
53
59
47
81
52
67
57
67
54
89
75
47
59
76
28
41
86
51
58
76
62
80
90
63
82
33
68
81
58
30
82
69
67
43
26
50
64
64
37
37
35
51
76
94
55
77
53
49
34
74
50
48
54
64
39
56
60
52
55
50
28
77
92
51
42
57
83
72
51
53
84
61
61
71
64
58
79
74
59
29
54
38
84
45
48
46
41
44
81
40
50
48
71
83
61
63
58
69
59
55
77
39
69
76
50
86
33
80
90
56
43
53
55
50
89
22
50
81
52
49
68
36
75
71
81
50
42
34
104
85
81
62
79
73
90
79
83
48
83
92
49
43
36
88
72
44
54
80
77
83
59
64
44
54
50
66
95
52
53
54
96
62
91
87
75
44
70
76
100
41
68
44
84
69
76
60
57
48
31
47
49
52
76
82
53
74
34
87
70
52
46
62
53
66
67
54
31
53
35
77
67
79
31
67
51
99
73
33
74
54
79
34
55
60
48
77
83
61
70
51
62
41
78
54
111
48
63
51
71
56
64
71
50
85
87
48
72
67
43
75
90
84
102
45
34
94
48
33
65
73
52
56
54
91
90
68
44
58
42
68
56
60
80
46
127
84
30
68
66
49
112
68
119
69
64
43
68
133
79
61
47
31
35
48
69
72
77
52
95
78
73
57
58
101
45
84
36
86
81
63
62
45
59
60
56
63
63
55
81
62
46
105
62
86
52
75
52
77
56
59
59
90
69
103
101
56
64
65
77
75
76
78
70
41
83
98
44
52
66
130
64
50
77
57
48
54
53
93
30
77
52
55
71
61
76
54
73
30
63
69
65
41
47
60
60
42
62
41
86
64
74
82
59
73
67
41
60
50
79
87
91
53
39
86
84
46
47
66
66
79
76
47
23
86
63
93
66
45
52
47
61
63
86
77
85
61
33
39
54
84
64
31
79
62
38
67
89
34
55
64
70
47
95
88
73
78
46
56
52
44
48
54
82
89
58
55
42
70
59
48
46
45
71
36
42
86
67
37
46
76
74
42
51
74
41
70
48
52
63
80
37
66
80
74
59
58
92
80
77
61
42
78
65
101
52
60
66
42
66
64
53
61
71
72
60
62
70
71
70
38
67
58
51
80
62
38
44
53
31
70
37
62
70
99
47
74
126
51
40
52
79
70
44
87
33
33
92
101
40
63
57
49
64
68
59
95
38
52
49
73
62
44
31
85
108
86
49
67
58
64
35
53
88
35
60
100
86
109
57
47
73
101
96
92
99
72
93
73
34
63
79
51
69
92
78
81
47
83
75
56
60
120
106
63
42
68
113
55
73
45
76
46
74
29
39
61
59
65
54
48
52
99
57
58
44
67
58
65
60
77
50
46
41
69
68
109
31
30
76
83
64
72
29
48
60
81
35
75
56
53
51
50
80
58
57
59
60
91
54
93
71
38
80
44
52
70
54
93
58
78
58
71
48
85
55
78
41
58
46
98
49
73
44
62
84
63
86
50
74
71
90
88
40
49
45
73
52
82
82
80
45
93
54
68
71
93
61
51
42
68
53
37
55
81
72
36
86
53
61
83
57
43
92
47
55
53
63
59
56
62
99
63
49
39
66
71
75
57
60
43
71
81
30
74
52
70
63
81
71
38
47
40
42
51
81
68
73
79
68
48
64
56
64
59
70
64
65
126
89
90
57
87
55
87
59
125
63
72
82
73
80
72
50
43
63
51
52
38
26
63
41
47
68
59
70
61
79
102
39
33
61
65
63
75
71
100
65
48
50
44
68
58
84
71
42
69
39
60
55
37
84
45
59
76
59
80
42
72
52
41
83
78
64
57
57
77
53
30
40
31
76
83
112
78
69
31
52
47
66
77
40
56
80
61
53
69
23
43
100
48
42
69
42
76
71
66
58
59
48
72
43
45
87
45
43
51
52
51
77
54
60
51
55
59
56
126
54
35
69
52
69
69
39
30
58
54
44
111
62
76
60
86
51
53
78
77
66
42
54
115
68
54
76
76
70
48
58
48
62
91
70
52
75
76
72
60
47
86
54
55
54
65
38
72
55
86
82
80
31
72
68
56
53
70
58
64
66
80
57
45
39
71
52
42
57
76
66
72
57
51
90
61
68
61
68
61
81
76
57
41
52
40
42
52
70
78
54
79
86
42
50
48
64
69
85
39
55
94
60
67
63
61
68
51
63
51
112
31
57
72
75
38
76
47
106
61
45
71
40
89
88
54
70
76
35
37
61
48
65
53
82
89
62
74
51
45
96
42
78
49
78
28
36
82
61
52
33
45
111
44
96
69
43
64
50
88
35
41
35
27
48
64
66
72
71
62
50
92
69
38
61
76
80
30
84
87
45
46
19
51
57
62
50
56
102
52
45
35
82
52
57
37
59
28
102
48
50
43
38
47
26
46
47
72
96
121
49
40
40
71
41
40
75
82
114
101
62
80
55
61
41
44
72
70
66
45
72
43
59
66
79
77
53
66
42
117
37
65
60
46
57
54
32
81
71
64
60
80
82
69
43
105
48
54
62
48
52
75
73
54
30
51
39
59
66
38
63
44
69
63
45
70
70
70
55
61
66
55
94
48
44
50
66
73
61
88
58
66
51
79
56
50
94
35
59
22
88
62
62
34
80
32
69
39
73
36
65
80
44
112
89
44
29
91
64
35
69
65
92
78
53
42
42
40
62
72
89
78
47
70
42
44
55
49
57
63
48
67
57
55
53
47
59
58
62
65
82
61
102
55
86
75
60
89
66
82
37
22
80
94
82
77
58
44
69
62
46
41
45
67
43
57
61
75
100
23
45
95
54
66
88
90
87
50
85
45
48
61
46
44
40
65
50
64
72
51
69
26
50
56
60
70
54
37
20
102
98
53
86
53
80
59
54
39
47
77
64
55
85
57
78
52
70
39
67
62
49
59
35
54
63
38
63
49
58
45
103
60
62
60
104
73
64
40
76
62
64
51
81
89
69
44
54
72
37
71
64
71
90
47
62
100
37
72
80
50
75
53
73
90
42
67
52
35
60
65
52
91
69
144
52
44
77
67
38
63
55
78
87
67
42
49
64
57
50
56
37
30
60
74
37
63
62
45
75
102
68
65
84
44
91
59
37
108
40
75
66
69
86
66
61
30
44
30
96
56
87
59
85
64
43
63
93
48
24
58
140
45
68
65
39
56
69
88
82
83
71
33
61
33
96
90
75
59
85
55
144
73
47
135
31
56
44
72
53
33
77
93
76
56
61
66
51
59
64
91
72
43
78
47
90
85
67
97
52
56
45
66
87
74
39
91
27
62
56
41
65
51
46
50
66
73
52
57
114
55
72
62
57
67
87
78
67
60
59
75
70
84
77
48
103
30
44
46
61
58
60
42
50
39
54
97
55
63
63
65
51
29
106
58
33
53
95
71
59
37
64
53
67
50
77
28
59
108
61
84
99
45
68
36
72
77
74
68
45
36
94
75
46
36
57
89
44
66
56
79
88
62
82
62
39
77
80
72
57
60
39
77
56
27
36
46
61
42
72
60
66
71
54
63
55
84
75
63
76
51
150
42
75
44
70
60
48
62
47
48
43
85
57
64
41
54
61
59
69
78
26
54
60
59
31
68
65
21
35
85
80
88
71
39
74
52
70
72
65
67
80
30
60
77
62
67
69
71
67
66
90
55
57
49
74
88
38
49
48
37
41
35
85
57
47
79
49
91
58
46
74
55
100
73
84
109
100
57
75
39
47
70
66
39
88
73
38
61
41
82
61
69
54
59
43
70
55
77
74
54
52
90
35
81
67
74
65
42
60
77
41
49
74
69
43
101
59
59
75
53
84
82
70
62
58
65
85
70
41
73
94
45
58
38
45
46
50
49
86
55
57
37
66
69
51
48
63
90
80
69
76
42
70
77
46
47
85
99
54
112
99
44
80
34
42
53
83
96
34
51
93
58
70
46
41
64
50
62
45
42
74
77
33
79
45
103
63
51
52
84
79
39
59
66
59
57
36
84
30
42
74
35
49
48
46
87
58
77
82
64
82
42
74
46
70
66
45
45
67
36
82
37
89
50
79
54
83
53
52
68
43
43
61
61
48
66
69
33
48
51
72
61
94
40
43
57
71
57
33
47
43
98
59
118
39
64
52
36
57
75
46
21
58
30
33
52
63
71
45
105
47
70
116
72
56
30
65
72
41
125
40
44
32
77
45
53
59
83
37
49
87
68
71
64
72
46
88
32
28
48
45
73
52
26
64
60
69
84
57
56
64
46
71
31
50
65
63
44
67
65
45
74
128
67
62
95
63
92
62
37
57
85
60
72
73
53
50
35
102
56
66
89
68
36
65
31
82
49
34
101
89
52
38
76
57
67
56
98
58
39
91
70
48
75
56
68
41
41
78
65
84
89
47
66
75
52
32
88
55
49
56
75
28
48
66
33
48
62
45
78
59
31
59
67
77
63
50
41
52
87
43
60
115
44
70
100
85
78
72
82
51
66
74
42
72
79
43
48
96
85
48
89
38
63
64
62
63
51
54
31
24
41
46
64
57
53
51
57
56
48
76
98
62
42
90
41
88
137
95
81
47
56
64
81
81
54
80
37
59
78
61
52
56
64
55
57
47
100
59
82
61
49
58
38
60
49
56
30
46
54
47
49
72
42
75
44
42
71
53
54
79
74
34
48
65
63
39
24
45
59
58
58
107
71
68
71
48
55
45
56
88
51
52
87
57
46
50
89
51
61
39
59
76
67
22
63
108
58
53
31
58
65
61
80
105
54
38
54
101
73
51
60
54
60
38
42
64
98
27
40
69
75
72
80
39
64
74
59
95
71
52
48
27
63
37
39
53
66
70
47
45
54
64
81
45
44
66
53
71
41
165
37
46
57
54
86
39
67
64
71
53
64
59
66
43
72
32
52
67
51
84
96
48
100
48
32
50
50
86
50
92
79
65
33
55
60
98
48
42
58
74
57
36
68
51
32
66
43
59
48
64
66
62
45
102
35
86
58
70
91
83
64
50
52
73
74
69
70
60
65
63
42
75
38
82
101
37
58
92
69
45
60
119
50
50
37
34
60
73
45
67
49
61
63
64
59
55
38
90
62
35
56
48
79
84
50
63
83
50
52
70
52
66
58
68
103
53
70
67
74
88
83
86
55
75
57
61
70
83
47
97
44
56
39
53
101
89
27
46
86
84
46
44
77
75
104
49
36
95
46
57
53
29
53
50
52
78
96
62
78
50
64
32
31
58
47
37
119
99
62
86
75
63
87
57
41
45
96
75
101
64
62
64
64
47
79
43
59
87
59
115
57
76
64
72
69
65
71
94
100
47
47
51
61
34
61
56
58
53
59
64
28
73
40
46
76
79
68
32
62
60
82
81
61
90
80
73
55
62
100
85
57
91
39
44
68
67
66
77
56
45
44
52
45
58
48
41
57
68
103
64
56
93
93
46
60
80
39
41
38
39
60
53
84
35
49
58
39
37
69
46
59
97
64
79
84
77
62
66
62
92
92
44
43
72
58
45
122
83
55
46
56
93
52
29
52
47
46
51
49
56
77
49
58
110
54
54
63
91
43
63
60
25
27
42
67
76
60
48
45
93
56
55
59
67
60
54
49
44
97
52
70
71
76
89
47
37
43
91
62
57
46
76
39
54
70
65
56
48
40
90
80
49
93
73
81
43
42
81
40
83
57
36
31
38
51
28
34
67
86
74
87
67
70
43
39
33
79
116
62
33
63
83
109
79
89
61
77
88
35
56
76
59
53
53
79
55
62
84
67
98
53
51
76
40
36
39
76
51
68
63
109
71
45
42
50
50
47
50
24
44
65
83
54
53
54
75
51
48
41
49
60
89
43
93
77
45
75
46
68
85
54
62
73
87
92
58
58
46
56
62
58
41
38
60
59
65
101
45
68
64
67
99
61
37
31
60
42
44
55
70
74
78
42
65
30
13
34
82
79
53
68
24
58
78
67
48
25
37
50
52
69
72
65
62
58
90
61
63
60
70
61
49
70
57
47
54
43
67
45
53
65
54
89
47
69
73
88
69
82
47
51
54
56
74
54
73
63
75
69
62
47
85
50
85
44
55
54
43
84
30
64
43
74
50
35
77
76
69
66
41
46
70
80
87
73
29
50
63
50
81
49
49
79
51
65
65
60
40
69
63
47
92
46
69
55
69
47
115
54
49
52
47
88
74
95
59
50
47
96
66
56
77
45
66
41
63
86
76
54
93
45
62
66
54
79
70
67
84
68
40
34
42
146
53
51
26
72
82
33
103
62
41
45
78
41
64
44
76
60
74
61
65
80
112
47
45
80
76
79
84
74
36
52
86
35
57
49
42
92
107
58
79
38
48
55
42
83
72
60
69
26
69
59
62
55
52
61
39
66
70
51
37
78
80
45
71
84
39
56
54
44
89
42
131
51
96
66
50
36
89
83
68
34
73
86
58
38
38
72
57
58
54
51
67
67
42
69
81
58
67
52
49
102
100
52
49
61
40
48
41
46
43
64
63
51
57
47
33
88
33
78
77
49
98
36
31
52
65
48
68
68
40
70
51
30
51
54
47
50
62
76
57
88
90
36
41
40
61
67
48
62
51
89
92
60
47
75
58
77
60
91
93
62
61
57
58
50
53
46
47
77
109
77
94
42
61
71
30
58
62
69
51
54
73
68
51
75
60
69
68
65
30
46
46
69
82
76
61
37
46
68
34
64
87
102
61
52
64
74
81
47
39
49
49
33
71
82
45
93
66
50
39
61
41
46
48
59
75
46
78
46
39
48
39
106
81
47
28
73
92
53
38
74
84
54
83
46
44
75
52
54
96
47
75
88
86
54
49
62
77
75
85
64
89
50
52
52
49
40
55
62
73
59
57
27
105
76
95
53
41
42
82
81
61
65
71
67
62
40
49
56
71
83
36
75
71
66
78
56
44
81
53
67
86
37
82
67
58
128
57
66
42
79
70
39
47
71
66
50
33
61
52
70
62
37
41
86
54
49
71
72
37
65
82
50
72
111
52
62
54
63
81
80
60
60
71
89
74
54
40
76
60
57
59
63
75
43
75
61
76
45
41
42
81
108
76
45
69
70
59
36
63
65
40
78
69
89
68
55
38
59
22
76
77
48
60
46
63
41
93
53
30
71
71
71
76
47
53
96
83
63
84
45
50
46
69
51
60
55
81
84
90
104
65
45
67
53
41
70
49
57
50
57
41
39
66
43
84
65
50
102
66
68
54
45
91
49
60
91
67
65
70
60
49
88
62
75
49
35
55
50
57
46
62
90
91
96
72
56
58
45
37
78
75
62
62
62
82
43
50
47
36
76
48
30
73
54
63
71
45
32
58
78
70
68
70
54
68
77
93
67
87
65
93
59
68
63
52
80
74
46
41
74
32
74
79
70
57
59
37
76
75
49
55
64
41
70
81
51
78
83
28
80
82
57
57
53
83
80
62
57
38
93
86
40
76
78
62
53
57
43
25
82
62
63
81
69
61
38
74
52
101
62
35
45
54
59
49
52
53
83
61
70
127
64
54
40
101
77
56
50
38
63
26
48
42
39
46
64
59
76
63
87
34
61
50
81
57
66
55
68
69
50
71
75
58
66
36
55
60
80
50
87
66
57
66
68
61
40
57
47
54
42
58
57
103
74
32
80
60
59
71
33
50
104
47
52
70
53
69
59
74
57
40
73
42
47
87
63
48
36
68
53
69
75
52
41
63
56
86
74
31
55
77
70
60
57
43
71
52
50
70
47
37
40
38
57
59
85
32
35
28
56
42
59
79
42
38
39
37
37
43
73
100
64
70
88
56
68
76
39
62
60
53
50
39
77
56
53
60
35
26
55
62
68
84
47
106
87
67
86
57
66
69
56
46
72
69
61
85
75
69
62
60
120
55
31
86
45
96
58
62
59
64
80
29
75
66
50
43
73
76
41
91
63
36
77
27
61
72
51
56
45
52
76
69
68
28
65
26
66
52
52
53
69
86
58
58
48
111
70
51
54
53
83
35
46
54
40
77
60
68
32
61
53
71
33
64
61
25
47
54
51
54
91
71
102
46
82
79
53
53
68
60
64
69
95
59
84
47
53
86
66
102
80
38
42
80
75
48
84
65
41
65
47
32
44
70
65
50
48
53
31
63
73
83
59
131
32
63
39
66
57
61
47
70
55
32
35
71
50
71
43
68
43
70
37
66
57
50
63
50
75
59
55
51
68
89
51
50
36
87
62
54
45
81
40
71
66
86
65
40
68
99
85
46
55
46
35
62
44
26
40
39
93
64
48
29
60
36
63
44
59
69
44
51
47
72
68
54
59
57
51
49
52
54
71
66
104
75
91
60
55
36
39
39
60
53
27
64
43
67
72
84
40
60
51
90
60
60
31
78
79
106
101
69
44
65
76
52
55
52
71
36
62
59
57
52
31
48
51
69
40
52
27
69
37
53
76
62
67
95
87
58
36
79
43
44
63
31
50
40
49
75
91
44
58
49
42
55
30
80
115
87
89
60
62
86
94
90
45
71
79
60
85
64
43
70
73
51
55
24
41
121
69
108
40
72
54
67
70
41
78
61
96
40
59
37
80
91
64
57
71
58
73
55
35
48
96
63
55
117
63
30
76
71
44
41
74
48
50
86
66
56
45
85
30
83
42
62
71
60
88
71
58
63
65
71
102
103
98
83
81
58
40
59
44
56
67
57
79
64
66
28
40
61
43
47
72
61
81
56
40
54
58
57
37
63
62
46
58
118
46
49
45
49
53
89
103
49
39
35
51
89
52
43
87
53
64
57
72
70
58
29
67
52
61
69
102
70
41
86
68
61
115
61
63
52
66
34
49
43
43
57
80
36
64
87
83
45
55
57
47
94
55
37
72
56
62
37
34
64
68
80
57
59
69
41
67
74
54
79
70
72
49
117
86
69
80
36
54
77
79
104
47
81
38
54
51
44
76
71
40
47
117
61
41
41
59
79
36
56
56
41
50
69
38
54
51
80
73
43
122
72
94
65
99
65
73
43
37
78
45
55
75
71
42
130
59
68
63
103
66
52
121
63
68
69
55
56
49
60
72
73
83
89
83
44
80
63
85
82
54
62
54
124
63
87
74
50
33
73
79
27
60
54
57
55
72
93
66
108
55
52
43
72
64
57
48
42
61
52
82
38
58
74
65
88
47
79
60
34
45
73
98
89
59
50
97
63
70
61
70
71
81
73
88
94
78
40
46
60
88
63
94
64
36
33
76
56
82
67
81
51
84
72
42
83
37
54
46
60
47
59
29
35
61
78
82
36
83
75
73
71
59
88
73
51
49
29
48
50
57
67
50
63
69
89
85
56
80
54
36
41
94
71
60
19
89
95
52
78
76
59
41
68
60
77
45
79
33
63
48
53
67
75
29
68
93
54
81
83
35
76
88
68
56
59
58
75
82
70
41
52
63
76
45
42
100
100
83
30
83
45
70
58
95
42
107
46
63
46
94
47
64
92
91
55
47
56
57
67
68
32
45
49
43
89
108
59
54
77
62
22
35
49
27
58
57
65
68
35
75
63
39
41
78
28
42
61
67
91
77
92
59
54
123
92
56
59
41
66
66
50
65
77
61
67
50
93
84
35
70
69
58
85
72
49
96
71
59
70
32
50
46
64
65
36
81
42
53
63
48
63
67
66
45
84
51
30
73
102
59
65
46
54
50
51
52
67
47
59
50
49
53
74
81
76
95
89
53
57
49
77
35
53
40
38
67
58
36
45
91
63
62
103
70
58
98
62
51
90
31
106
54
47
108
58
48
111
59
34
43
54
74
53
64
55
52
61
78
48
65
110
79
75
23
57
61
32
68
66
58
45
47
64
68
94
74
32
39
64
106
114
58
36
68
71
38
29
79
40
72
63
88
79
46
45
22
30
41
70
52
78
44
103
57
60
49
92
62
49
56
60
94
57
32
61
60
48
66
60
66
34
62
79
32
56
84
55
73
63
81
85
37
38
80
46
67
45
89
53
62
65
71
39
72
43
54
78
63
43
60
46
56
77
44
40
63
53
73
90
68
41
46
38
55
51
70
63
47
37
83
44
70
83
70
73
48
68
66
74
36
60
74
62
53
49
40
80
64
87
42
58
71
62
62
54
37
136
54
66
142
34
39
35
53
45
89
64
88
36
58
93
102
71
56
89
42
57
97
43
44
72
32
52
103
53
63
34
66
61
54
47
58
71
77
72
75
68
117
44
62
94
72
41
47
56
56
67
55
80
71
67
85
65
89
58
53
47
103
29
53
95
50
61
50
45
57
69
40
81
46
53
80
68
40
51
53
67
71
48
93
69
80
61
67
51
55
73
72
59
94
58
58
64
38
26
98
93
52
57
78
91
38
43
54
69
71
41
59
60
50
37
63
98
59
70
81
43
31
72
48
50
59
66
47
91
67
64
37
61
24
116
87
40
100
60
80
58
59
94
61
51
68
95
69
90
33
45
42
56
93
21
29
42
31
31
76
75
52
74
63
49
82
72
78
42
60
66
109
34
76
27
38
78
39
84
71
86
43
93
77
81
42
34
69
50
35
47
76
42
48
68
47
74
64
30
74
69
42
74
62
93
46
34
36
83
39
74
112
67
54
108
69
71
41
26
79
69
58
66
41
49
55
68
77
58
54
56
110
40
36
86
39
33
48
52
59
101
86
90
52
83
50
56
46
96
61
76
43
41
34
72
69
54
92
90
26
69
49
48
109
84
60
52
54
39
35
52
50
64
67
54
62
53
81
36
76
47
65
63
83
60
55
80
43
46
66
52
92
82
59
63
40
43
41
35
34
55
78
47
48
82
31
49
80
62
70
67
45
69
62
44
60
38
56
41
22
58
90
51
66
50
66
47
48
76
45
76
58
49
90
52
71
75
50
152
98
65
71
61
91
93
75
55
58
56
79
66
73
40
71
54
50
39
54
91
33
45
55
95
53
88
53
52
91
60
44
88
50
50
72
47
51
64
73
39
37
62
47
41
22
53
89
41
54
52
79
75
71
45
77
68
66
67
59
62
54
50
52
60
46
25
47
69
28
78
50
82
64
41
50
62
105
44
31
83
61
44
27
85
95
75
77
76
65
73
68
30
69
60
54
39
100
59
34
59
63
106
56
61
84
71
40
44
78
35
122
62
87
53
51
105
66
60
82
63
61
62
51
69
113
75
75
60
86
79
73
78
73
68
50
47
87
76
50
47
54
65
38
66
88
83
67
43
73
70
65
81
61
87
84
74
37
77
54
69
63
79
58
35
60
63
60
66
81
42
79
54
100
43
42
28
76
89
67
66
33
75
67
90
73
112
75
72
72
45
75
54
32
75
74
70
81
35
52
68
24
67
26
85
87
71
66
57
80
89
56
41
68
87
79
43
93
76
59
78
142
69
40
56
57
23
72
46
115
103
69
44
84
78
61
73
75
46
55
40
57
48
86
82
60
54
59
91
43
99
49
36
56
49
39
53
87
69
43
59
50
82
65
96
79
96
56
106
62
47
50
69
77
68
71
78
58
56
107
68
34
36
51
123
45
83
93
48
83
29
78
49
58
51
83
72
80
68
32
57
64
54
36
69
51
99
52
56
52
67
46
61
29
59
86
28
46
83
89
74
54
29
55
62
45
67
57
26
53
35
53
68
56
65
48
27
53
46
56
35
78
85
120
126
47
95
38
50
44
58
69
64
90
45
62
52
45
92
77
62
96
60
46
90
62
64
77
89
63
27
73
53
73
74
79
58
27
52
44
43
47
74
52
87
48
128
61
41
52
92
61
90
41
30
42
100
79
62
51
80
61
91
118
62
56
47
73
35
85
53
51
44
67
86
114
40
51
57
55
63
48
52
73
31
57
62
58
49
73
76
55
57
53
52
65
63
56
65
56
63
63
55
52
66
85
76
51
55
60
61
69
75
70
57
42
46
77
79
68
63
38
34
62
50
82
81
37
41
50
39
82
49
62
82
65
56
53
37
42
74
28
57
76
71
58
43
80
49
92
25
33
64
54
69
36
32
40
79
40
44
106
35
88
56
50
84
66
58
64
34
66
84
80
67
102
57
74
64
91
100
93
60
38
52
56
43
77
70
75
48
46
39
101
46
87
63
56
66
54
31
66
76
77
55
63
47
61
96
42
53
77
112
54
38
55
52
62
45
37
75
59
72
57
52
96
75
46
75
97
38
90
70
83
60
91
51
34
58
77
53
77
48
78
34
59
44
88
55
34
82
40
35
81
93
48
79
60
65
60
59
58
70
39
67
61
57
48
67
62
50
62
61
54
62
110
71
55
94
74
100
51
66
52
71
65
81
55
88
72
55
87
84
116
64
43
71
56
30
49
30
63
41
59
46
66
72
39
53
71
73
73
64
78
90
53
57
42
40
68
39
36
47
55
111
83
70
65
66
36
62
58
82
87
114
67
85
62
44
56
92
58
60
46
93
56
76
67
52
56
61
49
41
47
52
48
75
47
69
59
63
63
63
25
55
57
20
80
46
88
62
50
60
102
47
48
61
76
49
56
31
76
64
64
47
68
77
48
52
35
47
84
27
56
75
37
69
33
99
54
91
91
49
65
57
62
72
73
105
45
41
36
75
71
75
73
78
83
53
70
47
51
33
64
49
60
62
102
81
56
49
70
62
54
48
73
54
83
61
34
43
55
81
65
58
77
37
46
49
125
84
46
53
57
76
72
56
57
59
57
103
59
73
78
57
69
52
75
41
37
40
74
98
90
39
40
71
51
63
56
72
73
135
69
32
47
57
64
106
65
27
77
97
46
59
78
57
63
105
39
67
98
73
81
81
67
44
67
67
62
56
74
63
76
72
40
58
50
35
45
66
44
99
129
62
73
59
88
50
35
79
66
31
64
68
83
76
68
43
104
66
80
74
33
63
44
66
44
43
87
69
34
44
42
58
30
125
59
67
68
80
50
27
93
59
67
74
57
80
62
48
54
41
58
39
70
80
76
45
37
31
50
39
82
82
86
94
61
34
91
44
41
66
38
50
65
62
58
44
94
56
73
37
42
90
58
35
37
28
50
53
85
80
24
50
101
89
83
29
95
104
97
75
54
68
78
20
81
66
55
51
45
41
61
67
48
38
95
71
32
52
68
55
55
91
84
53
71
53
57
67
38
58
69
77
69
69
35
44
65
54
60
97
113
28
74
52
63
44
66
34
54
62
46
50
52
54
100
78
27
42
57
60
55
75
60
23
87
69
34
70
49
48
47
71
35
45
36
54
70
45
41
43
51
67
93
86
46
63
54
89
52
78
66
77
69
34
85
41
51
64
75
73
46
86
60
38
78
125
59
88
57
108
45
106
70
65
64
95
88
58
74
44
96
58
27
80
98
65
82
67
60
39
52
29
83
68
63
86
53
71
34
76
61
63
54
69
74
90
63
86
57
14
46
54
42
77
52
40
44
68
64
46
71
76
55
49
61
62
43
63
56
71
42
76
56
57
88
61
63
72
36
64
67
62
47
64
46
25
68
63
71
75
68
36
91
55
52
49
103
82
75
115
62
51
99
73
118
43
37
53
54
62
54
61
46
40
51
84
82
67
62
84
72
65
52
71
90
55
62
42
107
53
97
59
72
72
68
72
42
81
50
67
56
62
103
66
98
99
50
34
61
67
74
91
67
77
55
108
81
64
65
77
70
55
98
63
46
88
53
41
51
38
80
67
35
62
52
43
50
54
66
78
54
74
102
32
90
81
58
43
73
76
55
50
74
69
77
77
25
44
98
59
94
51
60
66
39
76
42
61
48
101
28
37
57
83
71
83
47
49
64
40
44
62
51
48
40
52
42
60
49
54
49
55
107
48
62
29
73
50
48
42
52
50
67
45
65
48
41
59
55
33
47
45
75
89
72
56
89
54
49
61
35
49
73
76
84
63
31
68
70
65
43
58
55
68
61
52
54
34
80
72
69
85
53
54
68
55
64
76
66
39
32
62
55
43
68
72
56
37
38
49
60
38
82
57
78
65
60
63
39
72
48
45
66
49
61
62
48
63
74
44
79
63
59
81
54
101
78
47
29
52
51
73
82
79
64
43
66
48
67
96
88
32
75
63
57
91
86
114
69
83
81
82
56
38
100
60
37
104
42
65
71
27
68
85
86
56
38
82
51
115
37
48
69
77
60
61
54
65
76
54
53
63
67
31
45
77
62
63
75
53
48
63
79
65
60
31
46
58
85
49
65
62
56
71
72
86
32
97
98
70
65
72
50
84
56
103
67
93
35
67
96
78
56
68
94
73
53
82
67
57
86
38
80
39
80
70
51
47
32
65
60
62
73
82
58
61
44
54
72
68
40
69
59
82
37
80
65
65
47
66
22
52
128
52
35
75
34
101
65
45
39
50
107
93
56
41
81
74
65
65
41
106
83
70
75
76
60
54
53
44
78
42
87
19
40
45
79
66
37
67
67
76
52
29
40
67
33
41
37
65
45
63
85
81
66
64
46
66
96
64
46
83
75
68
79
28
87
57
37
64
93
53
100
64
46
97
49
48
84
89
93
46
38
60
75
48
58
79
45
59
64
63
83
45
64
37
55
52
50
30
45
74
58
36
48
50
39
39
45
24
55
67
67
49
35
59
58
54
61
55
56
87
49
74
80
34
73
64
34
41
61
74
55
70
41
62
73
77
72
51
56
68
49
30
52
54
78
62
69
56
67
71
45
88
60
85
44
55
49
79
76
62
44
36
75
69
71
67
32
68
48
56
83
75
50
50
64
54
51
86
69
59
67
59
95
73
39
86
61
61
59
60
29
113
101
99
70
62
42
98
72
55
67
98
42
64
68
57
42
77
62
18
89
48
34
60
80
90
78
91
115
42
75
62
91
38
84
55
51
73
63
72
46
34
52
50
57
97
98
73
59
83
58
70
105
99
80
57
108
33
63
70
54
77
62
53
50
65
105
36
61
100
73
71
58
43
98
66
42
86
36
98
80
67
49
68
71
63
66
75
89
56
62
57
91
67
110
84
52
73
44
78
64
91
51
43
51
55
52
62
42
36
43
46
59
80
34
75
29
76
93
31
32
66
84
92
64
88
32
46
87
68
58
46
62
74
36
102
80
32
47
85
43
69
45
59
65
36
49
82
57
52
60
65
89
61
91
79
25
52
48
48
55
63
73
47
69
52
54
36
57
54
53
49
47
41
80
65
42
107
55
77
42
75
63
42
61
68
65
89
70
69
44
84
74
58
49
58
69
75
47
59
94
53
60
57
51
62
66
34
124
51
85
76
28
50
50
64
111
47
44
74
74
49
59
76
91
51
54
58
88
49
93
63
76
39
84
35
50
68
39
71
57
57
45
47
63
53
49
75
49
66
53
56
47
66
63
77
41
49
34
40
35
83
52
68
89
71
69
37
44
29
41
58
57
88
55
50
40
44
89
26
76
45
36
55
51
61
45
61
55
69
79
57
50
33
68
78
62
35
44
57
70
56
46
86
67
40
41
54
48
58
61
74
66
59
72
50
69
49
61
63
79
47
61
67
31
78
47
62
58
38
53
147
24
52
69
52
44
50
66
38
75
62
69
55
79
69
74
28
81
46
29
70
68
63
92
61
88
58
78
46
79
44
42
62
92
52
40
60
83
77
51
90
58
64
91
64
65
63
51
88
38
51
75
67
60
68
76
89
75
32
78
118
77
56
93
49
47
43
71
60
81
65
63
103
47
72
68
75
30
52
68
112
73
61
58
45
61
70
40
71
68
51
61
51
49
79
69
51
75
51
51
57
60
51
32
56
34
51
57
86
26
64
75
80
66
86
47
48
33
80
60
45
74
85
87
83
54
42
46
60
69
67
50
80
55
74
82
65
36
96
89
94
94
53
53
68
47
52
60
46
61
52
43
50
62
56
60
49
61
68
71
57
39
50
55
81
52
57
42
60
89
62
42
73
66
45
74
77
75
44
57
44
51
54
74
87
69
62
45
87
79
114
46
75
58
69
21
89
60
53
54
77
51
89
55
59
49
70
63
83
93
45
61
75
77
68
70
94
55
98
44
50
29
109
80
43
57
56
103
58
81
63
74
65
66
104
83
93
35
65
74
61
49
58
82
51
50
81
64
49
45
86
47
43
67
59
46
46
75
60
33
56
63
40
64
83
55
56
50
91
83
100
77
57
69
40
45
64
61
61
89
45
75
65
53
40
55
62
85
74
77
45
54
98
69
29
83
85
35
81
74
104
78
52
39
65
49
58
63
79
53
57
75
67
43
65
37
45
71
43
44
74
58
55
65
66
63
42
58
51
44
55
56
73
29
105
60
58
55
100
54
48
51
88
62
38
60
69
83
55
85
54
86
59
69
91
69
60
82
82
44
66
60
44
69
76
36
56
100
56
98
41
76
86
49
38
69
35
56
70
52
67
32
109
69
58
53
73
25
64
77
81
62
93
58
53
31
59
68
69
61
65
40
55
91
60
57
41
71
59
93
65
71
40
52
50
45
53
73
55
57
68
69
36
38
93
47
67
75
87
52
40
96
51
93
86
51
56
50
78
57
62
60
38
57
41
76
70
108
117
48
51
34
60
96
58
42
32
46
35
35
95
56
87
79
45
68
85
83
49
65
67
71
63
70
72
44
67
96
54
44
116
39
50
64
49
58
84
144
31
50
94
70
72
71
45
53
48
41
60
69
47
62
57
70
96
57
74
79
80
53
90
47
47
55
69
62
73
76
45
69
40
56
32
57
72
35
65
54
52
56
85
71
79
46
93
84
89
117
78
70
55
87
46
45
43
28
64
48
60
51
56
31
50
65
64
65
45
30
38
81
46
50
59
56
43
25
74
74
57
97
61
76
63
90
57
56
110
34
63
44
71
23
76
69
50
63
85
44
57
103
42
51
83
74
26
60
72
79
60
32
69
63
51
35
46
59
131
47
69
78
84
120
56
69
40
49
45
69
71
92
51
70
66
104
43
47
64
72
62
62
72
59
38
51
55
65
53
38
67
64
52
56
77
50
65
55
56
79
61
55
82
65
47
29
54
48
65
39
78
72
71
57
53
33
22
115
44
35
62
85
26
44
75
55
87
96
44
63
62
68
67
93
52
134
57
73
44
30
83
68
34
48
87
73
37
80
59
58
56
75
66
24
57
129
118
82
59
55
39
81
47
77
46
45
64
90
39
80
63
32
48
95
120
51
43
46
59
73
90
32
36
56
57
34
48
64
54
51
60
46
51
37
37
50
50
63
40
53
71
72
47
79
44
58
56
50
82
78
106
54
43
87
52
32
50
54
66
46
72
68
46
71
55
48
62
50
50
54
59
77
57
39
50
45
61
64
84
52
49
84
79
71
32
62
68
51
54
97
53
116
39
55
79
51
77
43
90
69
51
64
62
54
85
48
43
81
46
68
85
105
62
97
61
47
93
74
54
54
78
96
73
50
53
52
44
97
69
60
32
82
69
50
42
89
77
67
58
70
85
54
42
71
62
67
61
84
41
77
89
48
55
73
37
80
88
82
44
51
43
55
81
54
48
44
43
35
40
54
57
39
31
50
106
76
68
58
52
62
41
100
60
83
50
41
69
69
52
54
81
119
116
46
81
83
67
62
76
50
50
56
68
40
54
108
65
49
60
69
48
65
90
54
48
41
47
46
64
65
53
106
59
91
80
58
91
70
35
50
45
93
83
55
56
65
40
45
42
72
82
62
55
69
88
67
82
77
56
61
55
61
65
39
87
83
23
61
58
43
94
71
41
61
41
64
45
62
48
75
53
52
84
71
61
53
45
69
66
57
78
63
96
89
52
47
44
77
75
58
71
61
51
50
60
57
36
118
53
42
85
54
48
52
82
42
86
38
60
59
86
37
85
79
59
61
41
47
100
61
28
83
48
66
53
86
45
37
31
83
68
40
68
60
101
54
44
92
60
64
42
39
49
53
66
47
84
52
78
56
80
87
43
44
61
52
68
56
67
63
41
28
83
56
62
74
56
40
49
47
92
80
76
97
81
65
51
54
53
33
31
84
36
67
45
43
63
36
64
32
54
67
66
87
93
44
72
67
50
84
60
49
44
74
53
34
78
54
53
56
44
53
36
42
82
48
40
56
61
51
27
89
77
55
86
146
61
43
77
129
51
75
66
62
58
67
49
58
75
65
76
59
70
47
55
56
60
64
70
45
46
77
64
45
95
46
65
59
72
39
34
81
66
60
61
54
81
69
69
52
60
70
73
55
99
91
71
54
41
45
61
78
49
56
32
80
55
80
108
66
48
74
59
75
97
54
45
59
53
74
73
43
93
94
40
83
88
35
83
48
64
103
85
74
36
64
40
74
47
58
53
44
68
34
25
53
44
86
77
63
73
30
56
47
57
69
62
71
50
82
97
41
49
58
98
29
86
39
56
68
72
59
52
64
76
56
78
81
71
31
81
117
38
53
39
81
57
103
48
94
107
30
35
62
56
95
52
38
64
76
65
79
49
45
55
67
61
104
85
77
37
97
80
55
89
58
67
68
75
49
86
38
52
55
61
65
62
84
43
60
49
91
40
108
34
72
60
89
67
79
68
41
88
56
78
44
104
58
43
44
79
25
65
62
50
70
42
59
86
60
48
77
69
69
80
73
79
56
54
88
56
36
48
69
46
61
63
63
69
64
89
64
86
71
69
41
36
46
43
36
53
58
74
53
61
44
26
43
71
80
73
69
56
42
42
53
51
54
63
68
114
23
63
82
43
47
47
77
56
54
53
41
24
34
77
51
63
50
55
39
57
57
27
51
92
61
69
48
68
67
31
73
83
84
96
40
48
54
53
93
22
82
107
82
58
95
58
92
41
56
42
92
44
58
78
50
51
58
83
79
90
60
57
75
64
73
83
75
70
72
78
63
41
53
57
59
34
57
44
45
65
56
78
49
57
41
75
59
79
55
33
97
46
65
47
63
67
32
81
58
47
71
72
44
30
64
63
66
67
48
100
105
68
46
49
51
54
60
48
76
56
50
41
52
66
57
50
65
89
69
59
57
91
82
63
51
40
68
57
48
51
105
60
102
64
52
64
45
78
51
52
70
42
74
73
60
50
70
54
31
53
50
28
47
43
69
48
40
66
46
42
40
62
47
93
60
57
85
64
107
78
68
35
37
57
89
104
67
69
55
78
61
108
46
68
46
71
68
65
26
45
70
45
62
72
29
54
39
78
74
47
50
74
72
60
103
79
52
63
98
59
47
60
40
69
64
72
59
80
76
47
71
61
41
48
94
68
72
41
63
46
83
81
31
38
98
43
60
43
74
29
56
61
50
64
74
85
78
54
67
76
71
49
48
66
78
45
64
37
59
61
69
77
65
71
64
80
49
51
73
56
89
71
56
40
65
59
70
82
77
54
50
40
45
66
34
46
81
50
48
34
70
59
77
50
76
117
63
90
45
64
44
86
67
59
38
56
48
49
48
38
48
33
86
68
43
58
51
68
65
86
31
37
65
56
55
34
54
77
82
80
69
111
61
128
26
48
55
72
32
23
59
71
45
71
38
59
83
56
53
101
77
100
43
96
61
92
61
81
60
39
47
58
48
52
78
67
38
47
44
84
58
75
53
74
49
39
66
60
67
67
59
41
50
52
50
48
61
34
58
62
42
103
44
54
64
80
89
30
51
67
84
56
67
45
71
69
72
49
52
78
53
94
80
45
60
34
75
80
78
40
54
73
26
90
41
88
80
57
42
60
67
88
85
61
51
59
101
58
48
42
44
96
41
40
65
86
29
53
59
47
44
77
79
55
33
60
57
34
83
68
64
44
61
82
41
56
80
45
51
79
56
43
52
37
60
91
46
55
48
76
52
104
75
69
59
54
59
50
84
93
101
27
56
43
84
46
66
61
100
25
70
71
44
66
59
48
40
58
65
43
55
63
60
58
44
44
60
66
64
94
65
88
45
46
49
62
73
39
42
58
49
44
71
72
56
48
76
57
93
64
66
40
31
58
68
70
42
71
50
28
69
67
44
54
34
70
66
48
64
98
42
87
103
90
42
57
78
65
81
80
30
78
66
47
60
83
70
42
32
101
62
78
63
52
56
70
86
50
86
60
79
48
62
53
63
79
54
23
57
65
96
61
43
55
49
50
36
33
63
40
46
47
42
60
62
58
53
56
49
57
52
51
81
73
57
55
93
54
110
92
63
82
27
46
67
48
75
42
54
67
79
83
65
44
50
79
73
63
48
100
76
47
82
66
58
45
103
82
67
77
42
51
60
33
100
57
51
61
95
59
60
54
104
44
44
49
76
59
44
45
47
82
39
81
101
73
72
93
67
60
56
72
65
41
56
49
61
44
80
87
92
42
54
58
43
51
107
61
80
60
81
69
51
49
88
84
45
64
77
27
53
112
63
57
47
54
71
83
43
77
60
98
93
35
93
78
61
22
44
48
49
89
82
55
74
87
79
44
78
126
58
54
68
61
38
59
29
66
44
29
30
61
57
79
45
48
67
85
49
72
32
65
58
59
33
52
39
62
69
58
49
26
102
66
72
78
68
64
70
69
56
28
74
48
65
58
51
40
68
69
38
44
35
37
63
79
86
69
72
45
68
42
54
27
24
57
38
70
89
71
54
79
50
45
52
38
66
64
36
31
57
82
41
57
33
63
65
46
69
77
61
65
59
42
55
62
75
85
59
68
46
69
53
78
37
85
49
54
68
81
69
58
47
61
63
42
57
49
101
43
54
47
42
58
47
70
32
72
45
49
77
43
30
35
42
127
49
84
49
49
46
75
25
54
47
76
60
41
46
51
81
85
65
54
82
56
48
58
61
44
68
41
81
83
75
33
65
63
54
31
62
57
71
64
35
63
38
76
71
46
122
54
72
81
48
69
45
73
40
58
61
56
80
56
56
91
68
55
44
103
56
83
72
95
59
55
56
38
66
72
45
71
66
69
43
64
53
75
68
53
62
38
54
75
86
30
100
93
53
69
50
68
85
73
37
73
80
91
47
71
53
68
34
89
72
74
49
30
46
48
40
60
47
58
73
66
57
61
61
77
52
36
42
53
44
79
53
71
54
73
65
80
55
28
29
95
90
71
45
70
79
49
67
41
47
59
54
55
63
54
76
92
58
68
62
30
47
44
37
64
59
72
68
31
93
39
74
54
66
96
63
64
34
55
63
75
84
57
44
24
85
75
76
92
83
47
103
54
83
106
91
61
60
78
64
85
32
47
47
50
51
77
74
72
79
103
68
49
48
33
49
45
44
76
75
37
92
48
76
77
72
50
35
39
65
74
78
47
57
29
70
40
74
29
44
64
49
59
77
53
50
54
50
71
74
110
30
39
74
48
52
37
82
56
49
53
29
63
36
54
39
94
61
45
83
52
52
55
51
77
88
48
91
47
32
59
79
45
38
46
123
48
35
32
63
95
46
112
82
61
107
48
45
31
90
32
79
76
96
57
57
88
55
54
80
76
36
65
75
68
59
65
58
47
71
46
57
46
82
64
53
85
72
61
54
51
53
51
86
79
60
75
29
86
68
58
55
64
47
77
75
72
45
55
69
61
57
73
30
32
52
51
26
69
32
106
57
49
77
55
70
107
68
63
73
49
49
90
74
57
51
35
39
58
50
33
69
54
85
45
62
43
85
48
64
81
68
47
47
68
68
56
95
77
43
60
47
93
51
72
77
45
66
51
61
60
78
57
68
52
21
49
76
41
50
42
55
38
70
59
76
69
94
78
33
41
68
49
50
59
39
49
32
56
57
49
61
47
87
49
77
38
98
29
39
58
35
35
59
65
59
61
41
93
41
31
53
64
66
94
57
49
39
70
87
31
51
71
76
72
71
52
45
51
95
74
72
71
39
53
97
55
69
79
108
60
58
42
39
56
70
45
67
68
63
47
93
90
60
53
66
59
93
54
28
68
47
46
32
67
38
26
66
74
88
45
122
38
70
39
73
56
112
46
58
66
53
59
54
60
61
51
84
47
60
62
36
47
39
68
81
64
28
66
75
53
92
43
77
27
59
40
67
72
57
42
67
36
96
56
49
54
93
44
77
59
35
76
32
56
138
65
128
63
72
70
37
63
54
55
38
46
54
89
74
64
113
102
70
64
37
34
81
46
117
60
66
52
53
53
61
41
109
67
66
62
70
66
68
85
45
47
47
53
60
61
41
66
83
92
44
74
52
76
44
51
94
76
22
72
48
67
66
104
70
53
92
86
58
96
82
39
58
70
57
68
64
63
57
69
42
33
34
76
83
57
109
64
60
51
51
49
55
70
59
53
55
60
73
59
50
59
119
91
93
43
51
108
63
43
48
48
63
43
48
88
58
36
101
80
46
73
60
44
75
91
104
53
119
72
38
33
43
48
33
53
34
40
54
103
42
85
42
68
68
81
74
64
107
60
64
75
44
67
56
76
41
58
70
48
65
50
60
51
29
45
65
112
35
72
59
76
67
66
52
51
68
74
84
30
82
112
51
70
29
47
73
40
68
45
75
93
50
79
61
39
80
65
89
59
49
56
71
102
50
42
60
116
72
49
65
44
62
41
71
79
74
96
110
64
59
37
54
65
58
51
44
91
74
62
61
67
75
57
61
73
72
73
77
42
74
31
83
60
42
42
53
37
85
60
54
45
69
63
64
75
47
39
67
57
85
18
44
77
55
96
55
58
50
41
59
106
149
76
80
85
58
39
60
61
99
55
44
55
55
91
87
47
51
51
84
66
96
88
59
43
74
46
72
121
94
83
86
43
31
116
92
67
84
80
80
59
63
70
40
61
79
73
110
82
84
49
70
96
79
46
163
61
70
55
60
50
75
44
56
74
55
49
81
80
70
57
68
78
77
69
63
104
74
80
63
103
64
20
43
76
73
66
30
117
54
51
41
63
34
82
64
40
78
93
59
53
60
46
95
102
54
109
85
79
39
65
55
43
63
70
26
65
43
51
61
85
71
72
72
49
53
75
65
78
95
41
69
55
57
58
84
80
88
57
66
49
52
54
51
58
48
72
77
72
48
38
56
47
62
71
59
52
41
94
38
42
69
77
58
60
60
50
50
74
75
75
58
76
63
39
30
54
58
91
65
92
75
63
44
75
59
76
40
50
87
69
76
89
87
57
57
74
57
34
61
94
50
84
66
51
58
69
61
21
61
78
87
52
72
42
83
48
110
51
78
119
51
43
33
101
47
92
52
46
40
75
60
54
56
99
73
63
50
89
83
40
59
40
46
65
82
54
83
59
50
74
104
64
68
54
67
81
52
89
64
30
40
43
67
39
65
100
59
71
46
73
59
50
61
39
59
64
43
55
47
121
43
42
48
41
84
86
44
41
61
40
56
58
77
88
75
48
71
48
67
52
39
73
28
61
73
54
94
64
43
43
53
56
76
58
48
65
86
91
58
83
40
61
70
58
59
70
59
67
59
64
52
34
65
87
75
64
59
93
54
40
57
54
84
75
71
50
66
58
90
68
40
80
50
48
71
66
46
45
36
69
45
49
67
75
84
64
67
62
120
122
76
33
49
61
63
63
92
54
73
44
44
73
95
81
48
55
86
73
76
58
34
53
46
54
76
78
70
63
38
82
26
44
69
82
60
55
42
83
74
64
65
55
64
51
67
67
45
59
60
40
101
66
49
94
72
84
61
59
68
51
68
72
122
96
59
80
66
72
73
40
34
79
50
67
64
57
40
47
89
61
75
65
48
82
150
72
63
111
63
26
94
65
84
51
77
20
46
51
60
41
71
62
51
54
87
46
27
71
64
91
67
41
89
51
95
51
32
112
64
91
68
85
41
81
50
53
71
53
72
52
101
54
35
68
47
90
83
69
55
66
30
68
71
118
58
50
107
89
101
62
39
102
73
62
38
84
88
82
69
38
78
39
77
41
79
55
71
60
44
67
69
74
66
68
55
70
56
29
99
29
72
54
36
74
46
87
71
37
60
86
67
48
65
85
33
49
54
53
152
32
46
31
27
71
39
61
58
57
88
76
64
64
48
76
81
56
49
122
46
55
81
54
102
66
127
38
57
58
64
75
54
61
65
61
65
59
64
55
60
54
58
80
73
35
44
51
100
56
54
59
50
38
40
66
49
76
88
37
62
66
84
55
63
56
70
59
69
81
81
106
73
69
47
60
54
35
69
90
64
67
40
49
45
106
77
117
73
60
68
54
41
68
54
59
40
45
70
51
59
90
45
37
60
88
66
112
66
98
122
83
95
53
38
64
52
38
35
42
31
46
65
40
41
40
66
73
43
40
91
59
75
78
66
55
54
54
56
54
45
54
80
72
39
51
53
72
63
65
71
85
47
38
98
83
52
56
38
57
47
64
56
46
96
61
69
64
84
53
48
76
59
58
34
54
37
59
72
63
39
63
69
87
82
69
76
73
75
55
82
55
24
83
58
37
53
30
55
57
60
65
71
45
66
75
36
66
78
63
45
57
80
43
61
34
80
73
55
67
81
43
39
48
50
57
67
103
80
71
37
50
83
49
92
65
47
79
78
109
75
82
67
71
32
85
67
50
94
66
52
76
42
38
43
36
51
28
38
71
61
71
54
44
90
49
69
88
73
40
60
37
66
56
62
47
86
92
52
61
36
90
40
67
44
68
115
44
60
72
44
34
66
27
63
65
66
57
64
76
47
74
40
21
58
34
67
56
60
59
41
95
60
43
67
75
59
56
45
53
59
43
46
64
58
56
85
79
41
83
66
70
41
67
60
62
60
79
72
34
54
39
82
46
64
44
45
74
78
68
69
75
89
33
70
30
33
46
56
95
30
68
53
47
71
55
85
59
53
71
58
57
47
45
38
29
60
49
91
56
67
69
49
58
70
103
88
59
33
70
62
75
50
96
91
71
69
99
67
34
51
62
44
72
47
85
59
44
76
72
82
49
60
31
61
38
68
126
60
48
83
58
99
107
59
51
91
64
64
74
29
60
71
49
40
55
89
58
67
66
39
61
62
82
95
50
30
66
41
53
69
78
58
88
60
33
59
51
44
67
52
74
105
33
64
87
68
87
49
28
47
43
70
56
53
69
59
78
46
34
75
37
59
72
78
92
44
54
76
72
59
70
99
64
53
39
52
37
60
49
68
102
41
94
82
36
63
45
46
71
74
60
64
45
55
66
87
72
74
63
54
75
36
60
60
42
35
46
68
65
90
77
49
57
59
60
91
55
44
62
45
70
82
51
55
41
52
59
99
41
93
70
77
72
90
59
68
94
64
32
64
44
27
89
68
60
94
43
61
36
70
55
55
52
75
32
48
77
48
35
34
55
79
60
50
76
50
69
61
80
66
42
70
87
100
65
85
61
34
64
47
66
79
74
51
75
48
80
71
45
77
107
61
76
56
38
68
77
66
69
54
55
70
74
103
73
53
46
55
37
59
70
53
65
24
26
72
56
71
75
38
46
62
73
53
36
82
78
93
40
85
63
51
72
61
57
82
53
61
74
34
79
53
57
52
94
69
64
68
94
54
60
33
56
63
78
64
62
70
107
70
56
82
66
65
69
43
65
119
77
45
31
41
87
48
41
52
78
58
63
56
61
55
58
67
77
42
63
34
57
61
67
64
79
42
57
53
59
103
108
57
38
69
59
69
76
85
50
67
52
82
69
69
87
53
63
63
80
39
64
67
66
60
110
76
47
72
26
86
65
67
65
41
71
83
65
61
57
110
53
87
38
72
70
116
50
69
82
33
54
46
60
37
83
49
53
44
77
37
71
27
48
96
90
60
52
86
73
56
77
82
68
42
50
59
83
29
53
41
101
15
86
35
70
97
39
60
88
50
53
85
57
69
44
50
75
51
50
71
87
21
46
32
90
51
68
57
104
54
45
60
64
104
79
65
88
53
33
87
71
59
77
52
37
79
48
52
42
83
61
105
121
65
52
42
56
65
51
89
84
45
46
46
90
56
19
50
53
63
23
38
38
42
68
129
52
64
70
81
66
35
95
65
87
52
57
53
43
85
74
76
67
39
67
37
77
53
52
51
89
67
68
66
47
75
50
75
44
55
77
74
37
58
37
69
70
71
58
52
55
82
57
68
31
95
66
37
52
54
73
52
100
38
55
73
87
61
35
49
54
75
88
45
66
34
48
70
70
84
80
45
70
62
68
78
42
35
60
31
49
53
53
93
31
72
38
42
78
68
51
82
72
63
37
73
65
27
46
48
32
33
74
62
64
60
67
61
57
74
48
65
70
52
61
77
48
64
54
78
59
36
27
66
71
73
56
106
51
38
49
79
63
91
65
87
30
90
48
94
44
54
64
41
45
83
87
45
67
47
71
38
82
48
36
89
42
68
97
94
50
66
26
67
66
59
44
61
83
89
42
76
57
73
64
57
49
59
45
48
53
38
77
47
93
53
70
32
89
73
70
69
83
46
63
70
61
88
62
88
41
76
61
93
73
71
67
46
62
59
55
39
52
78
66
59
41
97
37
53
61
74
40
47
41
55
50
90
51
85
58
78
61
47
35
82
57
83
67
99
99
54
85
92
53
34
81
51
31
79
77
60
43
52
42
76
89
54
42
43
82
76
35
49
121
29
59
47
55
48
26
65
75
80
44
84
79
56
59
50
47
68
67
84
44
68
69
42
70
63
66
36
56
44
138
85
53
114
59
67
55
62
67
33
76
57
50
82
76
57
92
59
58
63
67
102
32
74
37
62
70
57
55
61
46
78
62
47
77
72
35
67
43
59
97
35
77
61
117
56
81
85
45
35
82
51
54
70
79
81
110
47
63
79
63
44
64
71
37
51
57
44
59
55
88
69
82
56
76
53
33
51
43
78
118
70
62
68
48
62
85
53
49
97
82
53
94
51
61
42
61
67
103
84
44
55
69
75
43
21
54
73
98
33
81
103
60
55
68
37
52
101
36
54
52
47
114
38
54
58
62
61
65
54
91
66
45
55
89
61
44
82
67
70
53
32
54
59
110
66
78
50
71
29
51
46
47
75
29
35
71
56
58
43
55
54
149
53
67
59
53
67
69
95
61
88
63
57
42
47
35
109
76
66
68
50
78
48
65
57
64
74
105
62
36
64
69
66
77
76
35
99
80
57
57
69
38
65
48
51
39
84
94
44
44
59
78
47
67
110
51
26
61
35
61
70
94
33
39
67
63
41
67
47
95
48
58
68
50
89
32
75
58
64
48
41
108
64
49
90
70
50
63
33
58
77
61
59
80
72
39
55
53
82
27
56
73
43
52
81
55
59
49
82
64
95
53
68
77
44
46
51
66
55
50
47
48
82
61
65
55
53
84
46
48
77
38
58
62
61
65
60
60
69
70
63
83
64
53
63
67
89
70
98
24
35
50
35
57
63
58
52
62
66
63
77
43
26
86
69
57
128
33
38
82
82
32
38
42
76
55
61
24
54
61
80
45
55
76
48
73
98
99
58
48
104
102
59
50
77
59
74
52
60
81
78
44
63
50
54
32
77
64
54
28
61
35
66
43
65
65
68
48
64
63
79
44
101
43
46
81
60
56
82
84
54
90
82
34
45
76
115
68
47
40
77
61
43
81
72
66
52
48
72
31
34
57
64
35
71
59
63
41
48
45
75
32
56
95
56
65
80
72
92
75
59
42
51
57
61
63
56
100
90
89
68
89
21
74
41
47
64
53
75
93
47
76
72
54
99
57
46
42
44
102
71
50
54
51
41
35
85
107
52
38
48
36
58
62
61
57
77
35
57
55
47
96
39
68
53
79
60
47
91
74
85
77
48
52
99
94
85
58
91
35
44
40
60
54
67
35
97
71
41
66
68
63
32
44
60
72
37
33
81
49
85
65
41
119
63
65
68
66
50
97
76
56
74
51
62
40
86
43
64
69
60
42
76
71
81
40
62
39
81
80
72
67
51
79
90
86
70
44
66
65
80
73
89
62
53
84
105
90
52
74
83
46
78
55
66
75
77
42
82
34
35
52
71
96
55
97
44
58
74
37
36
86
66
85
58
64
77
123
53
18
66
89
56
63
81
40
45
68
64
56
63
31
29
33
65
53
36
32
38
50
95
52
30
49
46
50
78
62
73
83
61
106
51
38
102
70
63
91
81
101
57
44
63
79
45
64
94
40
52
50
47
44
44
56
74
46
49
65
80
101
50
53
53
50
54
136
95
117
58
41
55
81
44
50
31
44
103
49
83
63
91
59
61
60
61
82
54
59
64
35
68
71
34
60
57
59
70
58
36
100
67
68
62
94
86
29
28
48
68
65
50
34
56
86
31
64
30
102
90
57
66
85
64
68
55
51
34
61
80
65
94
42
36
48
87
71
44
57
71
36
47
62
55
32
55
43
34
53
62
46
58
64
60
64
69
59
60
57
58
88
50
74
62
83
40
83
42
74
43
54
105
67
78
71
44
42
44
83
92
97
51
73
43
82
79
60
43
67
81
64
62
43
106
120
49
74
80
39
73
70
41
91
66
61
73
72
44
76
83
102
51
85
43
58
79
51
54
55
41
114
54
69
53
59
57
42
30
84
99
72
108
65
53
50
102
72
42
71
68
72
66
56
40
74
86
69
54
79
42
114
58
46
98
64
59
63
67
60
65
53
72
28
50
78
90
33
57
79
58
60
64
43
89
50
64
24
53
60
38
47
51
45
91
46
49
54
52
57
59
44
81
42
50
47
45
62
61
69
64
60
33
54
25
92
39
49
57
46
44
86
61
49
46
78
35
42
58
34
56
58
62
26
49
86
56
62
58
66
54
64
58
63
62
40
80
50
72
73
55
55
93
50
47
60
49
59
47
34
65
59
79
33
69
69
61
71
44
80
94
78
44
59
71
45
83
61
119
44
42
62
74
71
73
46
75
77
34
43
44
52
84
58
42
73
54
49
21
61
84
51
53
45
52
25
50
57
61
46
38
75
43
65
90
43
56
77
70
67
100
46
64
47
29
90
62
54
80
69
55
63
72
75
49
46
58
83
57
73
42
75
43
32
50
49
71
45
64
64
87
68
64
34
58
75
67
76
70
31
66
87
64
77
46
57
59
74
79
40
66
32
63
47
75
111
43
110
66
90
56
64
69
92
88
66
80
40
102
81
39
55
56
103
121
41
38
84
47
51
45
64
79
101
120
72
71
62
74
54
81
81
68
52
43
34
30
38
48
51
47
88
46
41
49
75
60
48
37
44
73
72
64
69
60
39
49
68
72
57
39
61
36
54
64
104
85
36
26
39
64
53
40
67
32
74
58
43
44
59
34
50
63
85
32
150
67
42
89
57
61
51
56
64
48
52
68
35
70
52
52
65
60
55
38
79
56
118
49
68
64
78
52
47
66
42
47
68
121
36
77
110
50
57
53
40
52
40
93
45
36
85
98
69
31
49
57
33
62
67
79
45
68
57
66
39
59
56
82
52
49
72
78
58
59
61
41
46
49
85
55
67
86
66
75
55
57
102
62
44
93
85
57
45
73
64
25
66
63
32
68
66
38
59
29
60
46
29
62
45
56
41
48
55
80
35
76
45
42
62
36
78
46
53
54
55
76
62
106
53
30
50
58
66
72
61
55
45
79
90
92
90
88
89
56
62
74
66
43
70
50
30
88
72
76
45
45
53
67
43
84
60
54
49
41
73
68
76
42
52
34
79
77
52
63
82
96
89
33
63
47
44
64
90
45
42
60
81
40
65
45
97
103
35
107
71
92
62
59
42
83
73
67
97
49
78
56
72
50
46
79
52
73
81
61
34
47
91
82
51
38
65
60
53
34
38
76
84
93
85
65
66
43
79
65
65
57
98
76
53
69
75
47
54
60
48
58
63
75
71
64
79
42
73
86
31
38
60
73
41
45
59
63
93
56
39
44
45
48
59
82
41
73
81
104
44
82
62
65
49
37
72
48
58
59
52
56
41
107
41
68
71
81
43
64
53
112
50
49
33
33
56
98
56
81
72
59
72
91
69
79
108
35
90
80
51
72
61
74
91
77
69
39
52
43
79
38
53
52
81
59
83
37
59
38
32
60
51
39
48
66
48
65
56
55
83
35
46
73
31
38
76
56
69
89
55
73
58
62
66
69
90
52
49
38
68
51
48
58
47
54
47
69
51
37
62
58
79
59
83
96
74
26
57
101
52
60
44
48
75
58
44
33
42
51
46
91
46
69
90
64
55
66
58
47
39
49
39
53
74
57
64
74
60
53
72
72
70
68
42
55
40
63
54
68
27
47
63
74
65
49
54
26
72
61
94
53
79
56
66
61
83
51
47
57
60
76
91
63
49
90
37
53
32
30
73
117
42
95
53
53
82
42
70
103
51
84
43
87
27
62
119
137
48
50
62
78
33
94
41
90
72
54
78
62
82
45
36
78
63
94
92
85
35
56
120
67
39
47
63
72
31
62
61
60
51
58
45
71
86
65
96
111
60
62
33
63
63
35
59
41
99
41
34
72
76
72
63
37
68
52
49
72
54
80
86
60
75
66
113
54
64
43
91
22
40
54
28
94
61
36
34
62
42
44
38
81
57
69
158
80
39
37
68
140
45
86
44
51
47
63
43
55
48
80
47
36
28
30
66
85
43
66
97
71
85
97
48
47
43
47
53
69
36
63
59
58
47
26
53
40
91
80
72
77
73
32
71
61
60
48
72
73
78
69
78
46
47
89
72
54
36
50
74
74
48
71
52
66
46
84
50
79
42
39
80
28
45
68
53
60
63
64
44
99
60
50
66
74
57
56
60
77
30
69
52
72
88
75
71
16
66
69
63
35
108
67
94
26
50
93
44
59
90
35
44
50
63
33
45
78
85
65
87
27
103
55
69
67
46
81
52
44
46
83
39
104
62
64
33
52
55
61
48
72
66
63
55
36
79
46
61
42
59
51
56
39
70
21
69
48
102
112
103
70
54
53
57
43
73
79
49
65
68
85
47
48
106
50
103
76
42
48
102
78
68
66
43
74
79
62
83
52
69
34
79
67
39
47
28
66
72
57
58
59
65
36
70
49
88
110
69
70
73
69
52
37
67
71
68
23
46
93
78
71
57
54
84
36
57
45
65
63
86
65
53
58
50
52
70
69
47
56
53
50
64
76
49
37
66
59
91
115
39
53
53
47
54
61
68
83
51
36
67
57
68
85
40
59
71
50
53
82
66
76
60
73
63
49
76
48
42
43
62
67
87
89
81
83
72
48
53
38
55
61
97
30
56
36
94
59
92
75
33
112
59
67
84
43
29
69
81
80
67
39
76
48
72
47
49
58
44
76
48
44
99
62
91
63
75
112
82
44
59
52
43
38
59
46
53
74
31
69
51
45
85
62
93
50
64
31
83
29
70
85
83
43
76
69
46
55
55
39
59
85
57
82
62
93
73
92
63
67
49
54
51
63
75
39
40
59
72
38
97
47
86
61
73
50
33
40
41
67
58
44
73
61
63
54
48
84
60
40
97
65
48
33
51
58
64
58
79
66
48
82
41
48
83
44
80
58
90
39
48
57
52
67
55
67
103
67
71
50
69
93
49
62
76
44
61
59
51
52
51
61
47
82
82
74
44
73
50
79
54
76
76
66
103
39
40
52
45
51
88
95
71
54
47
66
58
90
53
45
54
75
57
70
63
51
48
65
38
98
91
54
55
51
44
65
41
27
22
72
104
97
47
36
73
66
58
40
109
68
70
28
41
67
68
44
41
48
89
72
24
72
75
86
75
75
47
57
53
72
54
57
67
71
43
79
52
78
91
35
59
39
53
58
91
70
64
48
80
58
67
62
62
82
60
57
44
36
44
129
50
45
63
43
54
51
49
24
84
95
29
87
68
47
64
86
45
56
62
36
135
42
20
62
74
101
72
96
57
67
50
62
35
71
64
55
85
59
95
72
51
83
28
45
56
73
64
35
59
66
91
71
41
38
58
49
58
71
56
96
79
100
47
91
107
82
52
42
58
60
45
68
60
99
49
44
99
58
48
52
55
74
85
85
49
83
57
63
44
74
69
45
48
48
29
65
62
69
83
57
50
68
77
70
65
68
78
60
51
48
58
40
52
55
61
62
58
61
68
66
71
68
56
55
67
64
31
84
44
76
53
55
79
90
76
48
61
57
61
80
48
83
47
49
78
82
42
73
63
48
59
73
41
37
86
56
63
47
47
52
57
63
53
29
61
54
60
50
74
44
70
66
70
80
41
65
72
64
50
73
81
66
51
79
42
55
31
36
56
35
43
57
43
55
79
62
64
73
105
65
45
83
47
92
57
63
49
68
67
68
62
71
62
48
34
124
48
67
57
57
49
55
46
49
56
74
39
108
83
66
52
118
114
88
67
27
59
52
50
69
58
58
49
56
74
52
41
116
29
46
73
44
62
36
51
56
65
51
64
65
70
65
85
43
62
45
119
46
74
50
39
48
57
78
43
60
60
81
53
77
113
69
34
78
64
99
70
45
44
98
86
44
59
46
68
76
64
54
60
93
65
43
71
67
53
80
64
38
58
68
62
87
41
41
73
58
56
77
46
72
83
109
58
63
68
111
95
76
44
77
88
91
109
60
49
66
63
58
46
87
65
72
95
75
45
97
47
79
49
34
70
100
59
53
66
67
60
87
50
87
48
49
48
81
60
46
57
38
78
31
62
61
33
56
57
77
52
80
89
61
54
68
62
58
28
74
21
58
78
57
103
37
73
68
62
64
44
43
62
40
61
66
79
44
47
37
44
66
45
115
29
71
73
69
48
74
97
34
45
32
59
47
41
62
42
43
72
50
30
57
98
73
107
53
72
74
51
76
101
58
72
81
85
37
65
61
82
30
38
42
41
61
36
74
77
48
89
86
76
50
54
53
53
78
36
43
26
28
92
69
84
51
64
42
58
76
75
71
66
66
82
33
41
78
100
89
57
65
80
57
34
93
35
84
48
80
52
38
48
80
85
75
38
59
72
52
43
51
48
96
57
56
103
40
60
37
49
81
25
83
55
68
74
49
51
41
73
69
61
35
53
50
43
37
45
58
56
131
59
63
92
77
69
54
39
52
69
29
43
59
83
53
38
67
51
102
34
91
68
51
56
58
21
61
47
54
45
73
51
46
57
47
60
72
67
69
84
62
123
93
38
36
56
90
43
82
55
45
49
75
74
45
48
52
46
49
30
63
56
55
46
78
50
36
53
70
53
57
57
39
84
52
58
44
75
50
78
38
74
42
72
54
53
52
41
44
49
56
72
50
66
42
78
47
99
53
23
41
60
70
95
42
25
62
69
81
35
80
63
79
45
60
72
47
59
44
58
89
65
135
32
40
77
25
79
31
53
39
62
47
70
38
86
52
68
87
48
60
68
70
37
56
55
60
63
29
24
57
77
74
33
52
74
89
65
80
56
59
59
52
81
54
56
79
59
85
50
81
108
115
38
72
43
37
74
75
52
35
34
95
69
67
89
68
53
82
79
33
31
55
29
54
39
59
57
42
61
91
30
67
72
45
38
50
52
84
64
42
62
92
65
61
66
85
64
100
29
47
59
63
35
61
104
89
49
64
39
39
52
66
35
70
47
33
63
22
77
66
54
49
29
62
60
74
47
87
119
63
55
58
109
56
70
50
50
53
79
64
60
64
78
46
31
55
62
93
31
65
47
50
77
75
60
60
40
92
57
36
60
65
48
41
68
58
47
80
80
79
72
40
67
41
78
84
67
69
92
78
72
69
59
57
39
66
60
58
76
87
73
30
66
67
37
62
85
38
70
45
98
48
72
33
68
59
68
44
65
44
55
47
80
37
43
62
34
81
57
85
41
59
60
51
37
55
35
80
62
86
104
70
62
67
64
72
57
67
50
72
78
84
44
74
32
70
52
54
30
28
42
59
88
93
64
87
51
38
44
62
49
55
80
46
85
49
90
46
54
58
43
51
70
63
25
61
68
43
62
37
71
84
71
86
57
34
79
39
46
45
64
27
39
59
116
64
55
59
59
60
51
87
53
73
56
43
76
63
66
49
51
85
70
43
32
70
69
61
64
82
54
93
58
51
75
40
70
78
58
64
63
45
90
82
41
92
54
69
80
95
59
41
92
71
65
48
64
83
62
72
117
56
62
56
69
32
56
53
39
63
40
60
89
92
31
56
69
55
93
61
84
96
63
47
100
34
78
64
67
24
67
73
46
55
59
35
59
47
74
89
53
62
67
38
64
36
74
67
103
83
40
57
89
73
65
77
44
69
74
76
42
65
37
102
72
58
99
39
73
71
48
36
45
41
43
66
60
82
58
70
68
64
72
34
72
67
65
55
89
26
84
54
78
46
52
87
83
82
52
80
120
48
95
87
55
36
41
85
49
55
50
48
51
71
64
33
47
67
35
36
83
73
49
69
84
87
52
44
65
44
38
41
47
65
70
81
41
102
50
36
94
49
48
65
55
35
54
46
53
106
53
60
65
66
62
119
77
30
39
62
58
31
76
46
54
63
66
71
81
63
31
58
49
90
51
63
54
81
103
49
66
75
54
49
93
53
81
96
80
57
45
41
78
77
97
48
63
38
66
63
114
66
87
94
69
98
69
59
42
41
56
44
44
54
84
44
40
58
91
38
47
70
36
40
69
63
71
33
31
58
79
41
73
73
45
58
44
67
79
89
54
93
68
50
41
68
46
70
80
62
51
57
78
70
95
48
59
55
43
55
55
58
39
67
54
59
56
59
42
100
28
69
60
54
69
52
60
56
44
115
33
63
28
56
72
60
41
50
48
65
53
47
110
72
66
48
39
80
62
53
47
51
30
56
60
48
48
54
53
71
93
47
67
40
56
93
60
84
67
66
70
43
59
44
62
45
75
34
43
50
71
80
78
43
67
50
76
67
52
44
61
84
70
34
47
65
51
67
33
47
46
38
70
34
77
56
57
54
73
59
64
66
53
34
57
73
62
36
96
73
86
96
46
86
27
78
44
63
46
43
72
65
69
34
42
71
102
78
70
53
42
76
83
81
45
50
84
58
65
76
53
70
77
53
58
47
38
72
71
27
81
61
37
48
65
55
97
65
61
53
77
54
81
48
44
41
60
61
81
69
70
85
71
79
84
72
70
58
48
50
58
65
85
80
129
63
44
85
41
36
76
50
65
65
77
45
95
50
42
35
29
49
54
98
89
63
107
94
71
86
50
82
19
55
29
45
86
54
100
56
90
49
41
40
93
114
45
61
76
45
51
37
48
79
43
37
67
89
127
71
86
91
66
106
59
47
48
87
25
36
77
82
87
69
77
71
35
87
77
45
65
69
49
57
64
63
41
81
65
73
41
82
71
53
71
51
63
46
45
90
43
66
119
49
47
68
50
52
71
112
53
90
43
35
72
98
61
58
56
64
62
89
81
67
65
78
23
49
43
64
72
67
55
46
41
64
56
60
53
63
55
57
64
79
76
54
59
61
43
69
45
58
46
27
63
152
45
62
80
92
47
57
41
49
79
50
75
44
43
64
80
44
63
44
57
29
73
62
55
63
45
24
24
76
60
56
46
88
57
111
42
32
107
68
39
86
60
14
61
72
53
78
80
37
68
32
49
59
64
55
68
69
87
33
82
48
41
75
132
40
42
51
88
87
46
46
102
67
44
41
38
27
53
57
77
70
67
45
52
75
77
76
59
88
52
75
39
59
54
65
56
49
87
39
55
54
98
33
33
44
90
90
100
92
38
131
62
92
78
61
60
58
70
88
40
54
46
57
82
44
43
139
37
57
62
67
62
47
65
56
40
32
88
36
62
81
80
77
24
63
49
73
59
67
58
46
50
55
78
43
40
62
60
64
59
81
48
61
46
46
32
53
31
62
73
53
57
64
42
67
56
45
54
44
55
61
85
44
81
62
86
43
42
51
70
58
73
64
48
97
72
79
55
70
46
48
58
70
108
93
38
57
25
129
103
49
48
51
146
67
76
58
40
29
38
56
59
68
65
47
69
33
90
54
49
63
43
94
76
54
59
31
41
65
59
79
70
101
73
43
65
68
50
33
35
67
58
35
65
84
34
96
55
98
120
26
56
105
49
62
45
54
52
91
54
66
31
72
98
77
60
72
47
62
63
33
102
42
50
35
34
49
61
56
53
44
42
71
71
79
72
36
33
47
70
52
50
77
61
41
95
79
42
59
29
76
53
44
78
86
84
49
83
60
48
34
54
56
78
48
28
79
46
34
51
101
60
37
50
40
51
32
64
62
62
83
56
72
66
71
64
88
77
59
53
81
31
61
41
53
34
58
33
72
45
45
58
51
62
29
73
88
98
89
32
73
83
34
80
78
54
51
76
41
109
72
35
63
94
54
60
39
30
66
86
51
55
68
132
73
55
71
35
32
79
60
68
53
43
38
56
47
39
47
81
118
46
56
56
66
87
61
91
118
46
39
81
54
30
50
59
66
42
27
42
90
44
57
52
60
43
56
53
69
71
78
70
65
46
52
41
36
69
104
46
46
67
42
71
34
72
72
66
74
68
69
79
72
55
57
55
24
63
95
41
58
94
61
80
66
61
62
69
101
34
56
100
54
40
42
61
68
43
45
72
40
62
66
52
66
68
30
30
69
54
77
66
61
83
55
49
47
63
61
70
58
41
38
69
66
50
39
73
85
46
53
39
84
44
100
56
74
46
65
82
63
49
60
79
81
83
48
67
44
54
80
64
67
70
53
36
31
75
69
59
67
55
44
61
54
56
56
49
27
64
62
83
53
40
49
45
62
69
85
70
61
70
56
60
55
46
40
57
44
57
39
51
53
38
82
32
55
84
58
66
85
45
45
72
134
84
56
100
64
61
58
77
77
43
67
52
67
51
81
30
76
66
39
68
58
67
37
40
67
96
57
70
56
70
106
80
59
60
44
51
95
62
31
37
72
45
80
94
54
49
63
62
78
43
54
80
71
47
75
51
67
62
28
32
70
59
56
59
30
36
88
46
26
52
88
39
51
44
71
86
79
31
81
43
88
63
39
78
77
48
48
36
54
38
73
57
68
60
48
82
97
70
48
86
71
84
65
50
78
69
74
77
58
53
61
71
53
53
63
43
34
73
50
83
22
99
60
55
44
59
31
30
67
56
69
45
46
59
39
73
45
49
25
33
51
42
60
63
41
55
40
59
48
62
29
94
50
31
67
53
41
41
58
81
33
63
66
90
50
57
48
49
39
63
42
62
58
34
70
63
66
84
64
38
49
34
57
73
55
51
49
86
55
55
50
108
101
52
60
55
88
31
55
47
54
61
71
66
91
37
61
61
66
71
57
51
44
60
37
75
59
57
71
50
51
109
56
103
60
80
68
58
56
38
59
35
84
61
57
93
50
105
59
43
88
61
56
50
61
63
50
60
40
64
70
70
60
75
30
39
59
102
82
54
34
39
74
98
82
42
46
21
70
54
74
47
41
50
68
64
74
70
69
59
73
90
72
95
83
53
37
51
49
104
87
84
65
49
45
76
58
47
35
61
31
81
55
71
53
65
93
93
47
53
58
49
59
33
62
52
44
92
72
88
44
72
37
93
41
45
76
52
80
44
67
40
74
53
95
50
93
74
53
80
71
50
51
27
71
57
49
49
32
63
41
64
51
63
43
59
62
57
75
51
35
61
93
63
43
69
62
33
39
86
75
44
57
77
74
87
57
48
71
75
52
91
56
96
28
46
73
67
98
110
67
44
46
54
61
64
39
50
46
60
92
49
59
89
47
82
35
64
33
37
55
79
67
46
103
63
69
54
70
60
71
59
69
45
93
59
84
80
79
131
62
42
49
47
90
53
24
82
103
45
60
47
52
53
44
79
63
48
60
56
56
49
86
57
61
64
71
68
58
48
66
45
35
48
59
86
89
53
29
75
80
70
43
63
54
57
37
58
109
92
52
75
40
70
52
72
61
51
52
52
67
63
88
124
85
85
85
53
74
69
86
64
88
58
58
100
47
115
88
55
60
40
67
82
41
56
40
55
56
78
36
50
77
79
62
79
91
58
61
75
57
78
43
39
58
40
65
74
67
44
70
43
58
50
77
81
52
61
33
77
70
95
43
68
50
86
58
94
54
64
51
89
39
91
54
24
49
82
52
68
86
42
56
68
36
48
40
38
48
95
74
54
50
60
62
74
32
61
75
51
75
26
69
69
44
77
63
102
41
76
60
52
42
59
99
64
59
85
55
37
61
72
92
93
54
81
51
55
71
41
71
56
67
97
53
96
76
51
92
73
62
79
36
60
42
85
75
68
69
42
38
66
47
66
55
78
48
42
87
32
67
70
41
37
80
45
101
44
38
51
59
45
47
54
43
78
36
60
96
38
45
68
66
47
27
51
81
56
39
103
53
99
80
48
64
62
42
58
90
90
45
72
59
39
77
66
64
58
66
57
80
65
53
43
59
49
96
42
55
70
76
43
65
88
51
91
44
50
38
48
80
57
101
69
62
62
56
74
89
65
63
58
42
63
57
66
62
51
60
57
67
23
58
76
38
96
66
48
47
73
68
89
60
25
69
69
99
84
81
77
51
77
90
79
68
58
55
81
81
40
91
40
54
76
44
93
70
58
92
77
41
63
71
107
80
50
75
56
61
43
62
41
84
49
81
48
54
55
43
68
60
80
104
32
55
106
79
38
54
53
67
65
79
67
60
54
77
68
74
67
50
58
51
50
89
75
63
84
61
123
67
60
31
50
94
80
51
52
77
53
68
54
70
67
86
52
113
51
70
88
142
38
74
56
91
70
62
69
52
76
54
89
53
115
93
50
53
105
72
63
43
92
80
89
66
61
57
89
73
87
74
44
39
48
59
56
81
61
54
84
59
46
54
83
74
51
33
57
82
70
84
55
52
62
97
49
42
71
63
83
37
40
80
46
113
81
41
45
135
40
63
59
60
57
48
99
74
48
64
67
45
77
40
38
51
65
52
65
36
62
59
40
40
93
54
41
64
35
60
60
58
40
64
62
51
40
85
57
106
50
55
50
50
73
59
42
45
28
31
29
49
37
39
97
35
45
54
62
58
89
35
62
70
47
55
70
46
76
45
41
47
65
79
72
73
54
69
63
39
84
48
95
71
87
53
64
88
86
67
76
45
39
25
68
44
69
64
82
77
55
37
61
63
91
80
52
65
74
36
27
67
48
53
37
50
54
34
28
46
66
50
45
73
39
72
64
67
35
44
71
42
52
60
78
50
76
66
62
58
37
55
63
57
54
80
63
86
50
95
69
35
45
39
47
77
44
47
67
45
109
23
55
121
37
27
68
57
66
83
58
38
75
37
72
62
74
100
70
64
61
36
48
97
84
75
62
34
49
49
81
61
55
65
45
68
75
55
55
57
35
81
60
33
45
52
68
40
49
53
99
39
46
44
67
59
31
95
63
61
52
52
40
86
71
62
70
77
49
59
78
66
116
48
58
80
59
99
79
46
41
53
104
44
53
47
45
42
64
72
66
97
47
57
66
84
40
60
49
51
38
93
45
61
39
60
57
95
62
69
57
68
63
58
74
80
62
77
52
80
78
44
78
39
43
67
42
85
75
82
67
90
39
49
96
73
61
38
48
92
39
47
53
37
24
66
40
72
73
54
66
74
57
49
65
48
79
76
38
37
50
62
112
71
104
38
85
53
89
61
58
62
66
74
22
66
94
83
92
50
42
60
69
72
59
34
49
73
65
78
54
79
47
69
81
62
72
50
81
81
74
52
110
75
44
44
32
64
59
63
72
88
63
62
65
80
33
124
43
76
49
72
59
85
74
94
48
30
49
59
47
69
84
51
56
49
62
31
67
57
52
43
67
31
69
48
31
40
65
47
42
51
85
67
57
45
61
55
64
64
77
60
89
87
42
66
51
51
84
43
63
59
67
78
37
45
64
40
113
45
47
47
87
53
60
66
38
67
64
71
35
31
93
72
108
103
91
64
28
51
67
24
62
62
52
46
45
40
60
29
44
86
43
112
48
93
62
37
62
97
71
62
36
83
72
64
57
61
101
63
54
55
79
49
46
56
58
71
79
60
49
68
64
66
72
78
45
25
57
75
76
66
86
67
74
74
53
51
51
77
54
77
86
40
33
58
48
55
74
62
40
41
52
78
51
86
73
67
88
44
91
65
54
52
77
68
48
51
65
59
90
48
67
70
34
59
59
37
104
29
57
72
70
39
48
55
59
42
56
35
82
97
62
54
60
43
49
54
40
33
54
84
71
67
48
70
93
65
47
61
31
40
52
84
46
75
76
36
29
90
111
68
64
73
66
82
49
72
93
54
45
66
54
71
42
50
51
62
54
76
80
73
70
80
76
48
122
56
64
91
57
44
40
44
55
20
116
135
41
46
80
52
54
37
77
97
60
38
49
86
76
29
72
92
79
58
77
56
71
74
75
40
89
110
30
64
56
88
43
82
84
69
42
49
77
61
56
55
40
88
42
106
54
51
51
58
70
45
47
60
55
54
47
67
41
60
91
59
56
71
90
104
55
54
37
53
65
66
70
69
64
30
50
50
35
61
80
45
45
55
45
63
76
54
87
67
54
55
51
73
67
100
69
53
75
45
33
43
53
44
65
62
33
43
45
73
89
66
48
81
58
130
96
92
72
46
36
68
49
88
67
50
108
62
78
67
71
47
54
62
52
35
40
29
52
46
58
57
69
71
66
49
108
51
85
40
92
76
79
60
60
104
88
72
44
43
72
40
46
79
44
68
52
52
39
65
56
49
43
89
77
73
54
85
33
58
69
81
68
54
60
60
78
82
58
73
45
65
57
29
69
40
50
63
64
40
45
68
82
60
45
44
57
74
100
63
47
58
83
49
99
77
63
62
48
41
51
46
53
108
61
41
41
54
77
37
26
67
50
59
84
58
90
72
38
56
116
29
62
50
70
63
55
44
38
46
39
45
44
50
61
66
36
53
80
60
45
58
25
43
50
97
70
59
55
106
49
39
111
23
37
47
68
41
56
56
74
129
41
43
64
29
68
75
88
78
48
98
27
83
39
56
52
56
77
69
92
86
71
74
62
94
73
38
79
41
77
71
73
63
33
35
60
93
80
81
49
64
44
39
50
45
91
77
71
43
58
54
74
53
47
68
61
60
74
58
76
100
56
85
24
65
97
69
46
57
86
67
101
39
64
66
60
78
47
46
44
64
39
28
55
34
67
83
56
51
27
75
66
35
52
56
51
76
98
77
70
37
39
28
49
51
71
31
66
72
67
50
61
60
73
70
82
50
87
143
46
28
49
87
83
68
71
58
79
86
69
66
42
72
59
44
43
47
85
59
41
49
72
38
119
69
63
70
51
37
102
99
58
79
67
47
55
50
67
65
60
82
35
49
43
95
100
46
77
48
32
75
80
98
55
80
70
40
49
67
50
68
51
64
37
47
79
51
42
61
34
75
51
38
91
51
75
102
100
69
42
54
46
92
64
38
49
67
82
64
52
41
54
142
58
64
71
80
52
45
56
51
63
34
42
66
60
75
81
66
49
93
34
39
62
50
99
45
88
55
86
53
73
52
64
65
70
47
61
43
84
50
51
57
44
104
98
55
33
77
75
44
69
75
70
58
48
38
67
43
70
56
37
106
41
54
56
41
74
66
72
52
69
71
67
71
53
49
45
32
63
58
38
91
77
48
88
24
53
60
62
52
70
64
32
50
35
63
97
38
53
66
81
92
68
64
70
64
51
51
56
43
56
42
52
53
43
61
87
46
67
81
59
59
78
57
64
44
56
38
78
76
85
45
28
78
58
97
76
61
53
49
70
80
49
80
57
41
44
98
73
39
47
113
76
81
72
25
80
47
49
102
60
100
68
67
58
57
89
71
76
86
73
56
67
63
72
82
77
46
68
51
69
33
58
51
56
49
71
32
74
43
70
66
83
54
36
48
58
48
47
104
63
66
67
111
55
100
42
53
70
50
74
48
46
63
84
97
52
35
53
61
64
58
32
100
61
80
70
40
89
77
47
64
96
63
26
55
50
45
61
61
72
54
59
68
67
45
57
34
79
55
69
68
78
67
44
50
73
63
53
60
78
28
48
54
52
44
44
52
48
65
45
52
36
70
62
29
98
62
91
73
35
68
31
71
63
47
75
53
32
69
38
41
51
40
69
67
31
46
64
39
27
47
57
47
58
34
83
44
97
67
99
93
26
58
68
49
44
67
46
50
62
81
39
53
78
33
41
65
49
50
67
84
82
71
37
60
58
53
81
65
81
128
55
47
58
83
47
103
71
54
78
79
94
43
65
85
64
76
43
50
45
60
31
54
75
51
34
109
80
55
41
52
60
56
44
55
77
60
63
59
72
86
50
42
39
58
64
39
45
51
77
88
69
42
49
45
58
60
73
71
53
46
48
70
75
74
74
74
56
102
70
66
54
57
75
47
65
37
74
67
71
51
66
74
44
73
55
40
26
55
58
60
93
69
73
61
44
67
55
77
83
69
76
59
35
69
59
65
61
44
30
52
75
41
54
98
55
29
63
57
74
48
37
72
69
67
36
49
56
74
61
64
45
67
47
67
45
53
57
62
79
55
38
54
77
64
71
71
53
50
67
66
59
67
65
46
62
66
50
68
70
76
92
45
48
53
56
75
68
66
64
29
36
60
45
54
33
73
72
61
45
62
80
72
67
44
46
65
49
41
73
64
91
47
36
55
65
51
72
49
53
55
64
87
73
43
75
77
97
39
55
41
55
58
60
49
66
83
70
67
37
59
55
47
42
40
70
70
53
59
56
92
96
38
35
41
73
52
35
78
48
34
53
44
29
71
88
40
93
63
40
59
59
30
71
37
51
50
67
45
107
43
96
62
102
63
67
47
99
70
58
58
42
62
63
72
55
59
34
78
26
86
53
33
50
54
94
63
55
40
92
37
32
70
114
62
50
84
61
66
40
83
61
52
69
48
38
25
59
63
62
88
76
56
67
49
53
71
33
56
51
28
117
82
77
95
32
48
66
96
66
44
53
116
61
55
58
65
67
56
63
74
42
72
42
56
58
49
71
44
43
52
34
94
56
98
53
58
83
58
82
29
73
50
47
30
70
60
59
64
34
84
49
78
51
38
42
21
57
39
81
59
49
78
68
68
42
64
51
50
69
81
99
82
48
55
65
42
35
63
58
81
55
47
66
79
54
46
28
74
57
48
74
55
55
29
41
41
83
48
42
80
72
44
75
75
40
81
62
64
82
60
97
81
87
40
40
76
65
86
77
87
34
38
51
72
91
73
73
55
68
56
50
76
64
51
40
49
56
54
70
60
28
68
68
71
38
36
67
71
60
66
80
65
77
40
52
72
37
55
63
59
52
70
61
56
60
49
52
96
47
83
48
63
44
90
54
41
57
77
26
44
47
88
106
63
33
43
62
39
41
62
100
88
50
65
51
53
95
38
64
35
64
44
58
66
55
65
43
69
46
72
80
45
33
66
50
83
73
52
72
59
60
74
56
54
66
37
51
45
67
50
57
77
64
50
42
48
58
57
43
47
54
78
58
45
48
39
32
104
49
124
60
62
71
58
92
35
49
71
34
45
50
47
47
36
74
69
35
84
59
94
60
54
75
67
87
85
51
87
80
53
96
50
55
56
74
48
50
55
47
86
85
47
59
80
48
51
49
89
35
81
64
62
57
62
79
60
70
33
96
65
99
73
45
53
64
70
58
42
64
33
76
100
58
75
65
63
68
60
66
48
49
96
52
94
56
72
55
37
38
70
63
72
46
38
59
80
49
72
49
68
62
54
65
60
122
93
63
96
103
92
76
75
81
75
57
51
43
51
46
35
63
35
65
54
55
60
38
86
40
44
68
70
115
80
36
115
72
56
30
58
58
63
87
98
46
47
53
74
46
71
69
77
84
46
42
67
69
71
56
30
30
73
87
47
37
73
25
66
82
77
63
74
56
57
60
56
64
82
47
49
58
40
32
72
57
74
45
34
45
76
53
47
37
63
84
45
92
65
57
46
38
46
83
48
70
38
70
87
62
65
90
67
113
91
47
47
84
75
27
91
52
50
69
36
58
36
75
92
68
49
57
65
77
63
74
60
61
93
44
86
72
89
49
51
67
87
72
41
79
51
43
55
36
66
34
59
64
52
57
68
48
60
48
63
55
66
83
53
53
52
39
48
69
86
47
74
117
54
55
96
62
44
45
50
89
78
117
56
58
93
68
71
78
74
56
54
49
61
72
48
56
52
40
45
67
60
76
70
61
62
44
60
71
88
87
37
59
98
57
57
56
88
72
64
68
35
50
49
84
81
75
70
110
50
70
39
44
82
56
53
163
91
47
69
42
42
69
43
49
67
74
74
55
53
44
51
51
26
41
47
44
90
52
62
78
66
90
51
58
61
55
63
60
71
33
50
62
80
81
77
53
52
75
48
71
78
36
44
52
59
59
73
65
64
67
66
89
54
63
45
72
55
52
88
86
52
31
66
63
54
68
68
59
42
48
83
74
48
84
47
43
90
33
49
68
52
66
89
52
72
38
81
80
69
48
56
48
54
36
76
36
96
70
84
49
66
57
36
46
81
62
97
39
32
97
44
45
96
48
86
56
60
62
84
54
43
72
36
49
54
57
52
61
26
83
63
53
82
58
65
75
51
40
78
37
61
120
69
74
65
83
47
46
40
44
80
50
58
60
48
80
33
58
63
86
50
88
52
77
57
83
85
43
32
32
74
84
45
25
40
83
89
73
57
66
82
33
67
88
167
108
53
42
62
86
71
49
83
85
75
75
55
66
47
58
79
53
58
69
26
55
51
44
61
49
66
42
81
61
86
67
37
64
37
35
102
52
44
86
39
64
51
75
45
50
44
46
89
68
92
75
48
67
37
49
58
18
74
42
102
39
69
61
35
83
72
29
51
51
79
68
82
31
79
63
68
65
39
59
23
56
84
32
74
83
55
20
66
62
35
30
48
48
52
26
59
94
48
71
62
70
68
73
45
75
71
71
39
50
94
52
52
61
55
82
65
63
65
85
54
36
52
52
72
37
37
35
84
76
84
41
48
73
136
72
53
74
48
54
56
45
42
76
88
66
74
41
42
68
105
52
70
85
42
55
44
43
44
50
58
71
47
112
54
69
58
68
65
41
69
69
49
97
69
42
88
48
69
46
68
52
51
124
82
50
77
46
38
42
55
70
43
49
64
26
57
57
97
58
57
62
79
31
61
48
61
60
79
128
50
59
53
47
42
46
61
70
63
65
42
49
72
57
61
29
64
88
81
91
57
80
68
60
45
47
57
57
59
58
88
86
79
76
37
111
42
49
73
43
72
58
33
74
97
70
46
57
63
45
43
51
43
51
91
53
82
91
76
73
65
95
47
45
47
50
41
60
63
64
81
40
82
40
79
39
72
55
64
103
44
81
59
154
48
79
70
67
50
89
79
62
55
97
78
67
58
47
51
75
28
100
57
41
30
49
75
57
101
49
34
51
45
67
45
86
77
83
78
70
62
39
103
55
54
58
74
74
50
36
49
47
79
50
43
69
71
40
72
104
107
45
50
32
72
92
55
54
62
62
81
56
35
49
48
72
67
58
87
79
57
58
48
62
87
48
67
31
45
69
68
87
77
36
70
51
38
127
90
36
58
78
42
39
61
39
58
61
32
34
76
66
68
56
61
47
52
80
50
45
78
56
100
64
45
99
68
60
45
65
49
50
56
49
67
54
43
61
50
44
57
44
82
46
59
76
63
61
53
49
65
135
51
23
34
80
78
61
81
82
37
71
73
64
42
96
28
28
66
49
73
74
101
54
75
54
51
39
52
89
35
74
56
82
39
45
39
32
63
67
77
52
71
85
58
70
54
66
61
80
45
82
54
44
33
63
41
55
62
77
51
34
61
43
67
60
67
53
68
69
43
59
50
67
48
47
53
41
73
49
70
93
75
86
101
88
78
57
54
66
62
40
40
121
43
60
30
68
73
116
67
33
55
50
49
76
71
36
66
44
57
71
44
83
48
93
39
130
75
44
40
68
72
67
71
44
56
47
75
71
62
44
61
49
72
66
62
54
84
48
39
77
45
51
78
119
109
45
37
46
33
38
80
59
88
56
57
69
44
89
25
93
115
62
49
49
44
68
67
80
71
48
55
60
55
46
52
29
53
63
66
81
65
53
136
43
99
100
95
33
63
58
75
60
25
42
67
86
64
70
65
71
42
114
74
67
81
79
46
47
54
69
72
49
72
74
55
69
88
52
46
45
68
59
63
79
34
40
111
92
39
73
30
49
118
76
54
59
71
71
38
46
51
88
56
40
77
39
115
94
66
85
119
66
63
66
61
37
75
83
64
78
37
62
48
44
58
56
104
62
82
43
41
51
32
45
44
35
33
45
67
74
81
55
81
82
47
71
54
33
27
56
62
74
108
72
63
41
73
60
80
77
72
58
55
53
32
54
57
50
83
20
51
34
46
38
98
34
63
55
66
53
57
78
58
57
68
27
47
69
64
51
84
51
75
55
75
68
38
105
38
56
68
89
55
67
73
69
34
52
59
62
44
56
69
41
62
101
56
51
35
44
35
51
54
71
75
40
76
57
52
64
92
72
111
60
57
79
78
80
51
46
62
67
109
87
99
70
68
44
69
66
54
58
72
95
45
47
56
72
98
52
83
27
51
58
60
80
66
40
54
77
48
46
73
64
47
81
36
67
73
67
81
63
53
48
56
86
39
40
52
96
77
60
90
68
55
39
48
49
70
92
61
58
40
45
68
94
62
96
83
23
97
47
65
55
46
76
54
81
41
99
104
70
48
50
50
58
59
109
94
51
137
68
54
70
78
48
57
36
49
40
39
39
40
45
44
83
48
53
77
62
72
46
63
54
45
40
44
58
78
58
71
78
101
55
51
55
106
56
49
46
44
53
26
90
59
90
30
84
62
46
63
34
99
69
93
76
57
53
60
49
45
43
90
81
51
109
33
50
83
48
90
41
38
69
82
54
61
50
41
53
40
88
139
61
53
67
50
87
42
49
59
74
47
87
99
61
74
37
65
73
29
89
50
46
77
81
50
64
55
86
39
63
55
50
58
64
85
77
60
54
68
88
55
44
91
78
101
42
32
61
84
63
91
78
33
73
67
76
70
48
84
60
45
44
79
54
76
57
42
45
124
44
88
37
45
29
54
58
84
115
57
74
68
40
48
60
77
52
105
52
55
76
60
62
26
48
62
74
49
65
91
92
31
91
48
95
96
35
69
68
43
88
48
70
56
81
48
69
54
46
64
56
109
61
45
77
54
80
96
73
64
30
65
49
47
24
29
40
88
83
38
65
40
49
61
62
83
54
47
63
57
91
131
56
53
63
41
52
75
77
36
44
65
63
57
93
64
46
38
85
121
103
67
62
54
78
47
34
55
36
93
62
80
50
47
54
62
53
60
76
35
42
85
70
80
43
58
74
74
61
33
48
52
47
75
57
31
95
50
39
100
32
32
41
68
81
59
46
87
56
64
86
93
73
71
48
85
99
53
45
100
66
106
60
47
55
66
126
47
74
47
54
51
29
66
78
25
42
30
93
54
59
77
57
54
39
67
84
31
45
51
81
48
88
58
74
63
59
49
45
71
43
59
64
83
40
75
33
70
40
73
132
54
73
63
41
94
47
67
65
37
77
37
76
24
40
90
45
59
58
50
46
27
59
39
67
35
69
93
37
77
59
79
57
64
61
60
49
46
56
62
30
52
23
67
63
49
47
99
47
64
88
37
70
32
51
84
71
75
40
63
46
56
59
75
49
108
64
46
43
51
49
67
37
103
82
73
58
51
48
35
61
61
80
46
52
39
137
63
49
45
55
64
54
49
61
72
59
38
82
53
121
56
43
64
93
53
56
34
68
81
52
33
72
71
50
69
48
62
88
70
82
67
55
66
69
77
44
32
50
108
45
53
47
90
41
51
48
73
46
70
31
48
42
28
32
32
62
38
59
29
37
62
86
41
51
60
76
49
56
54
61
71
81
63
46
80
35
82
69
82
90
58
77
66
72
73
70
50
64
117
52
56
67
41
51
84
45
67
50
46
74
71
79
84
73
60
66
67
43
74
49
158
58
96
56
66
57
67
58
40
49
58
48
39
32
77
42
32
56
60
59
93
56
60
97
52
70
34
83
79
93
30
63
83
72
56
47
68
63
54
55
65
35
59
23
39
75
65
88
35
46
50
52
84
70
58
56
55
44
42
73
63
84
59
97
47
138
40
45
65
54
76
25
66
49
47
65
53
46
69
103
41
52
41
63
91
55
62
52
42
58
73
52
52
83
64
78
72
82
50
71
68
64
99
129
40
58
37
32
75
48
61
58
68
65
93
78
68
66
43
65
53
32
66
76
55
62
30
38
42
69
63
75
58
100
29
61
65
78
74
57
85
48
63
55
66
73
62
48
25
47
47
48
49
103
48
97
66
51
49
59
96
49
57
36
61
77
44
68
53
54
59
65
68
63
64
137
70
55
39
51
40
43
63
82
57
57
57
67
95
43
74
46
58
57
54
51
53
52
36
94
70
69
60
80
79
82
33
90
36
31
61
79
65
83
57
86
58
61
50
78
82
47
36
56
68
86
80
26
73
39
75
81
61
39
40
68
99
65
69
78
78
83
61
57
53
50
50
69
64
42
43
74
52
62
69
55
49
69
59
41
61
54
60
53
41
69
66
74
44
77
41
62
51
56
84
43
97
46
52
62
60
57
58
46
64
69
73
59
38
58
77
42
51
71
104
34
62
53
60
48
24
62
40
108
100
40
53
39
47
38
66
50
117
65
56
90
46
34
30
43
49
63
37
70
39
84
33
60
48
59
65
63
74
72
65
72
44
32
46
43
70
41
58
76
67
75
60
55
52
69
74
39
52
76
60
53
45
42
45
98
87
86
63
46
57
55
60
51
65
31
53
59
40
35
69
53
35
38
65
77
66
70
41
56
45
53
70
50
89
30
57
71
55
62
60
44
69
65
90
66
71
48
53
60
68
112
83
40
63
49
85
37
65
80
54
81
42
68
78
82
52
32
83
49
41
41
65
85
71
46
71
68
41
45
58
43
60
33
52
94
60
89
59
34
75
55
57
72
54
58
83
41
53
48
35
48
57
75
120
102
71
96
67
94
66
63
55
49
65
40
74
62
80
63
41
121
66
52
70
83
57
60
56
71
66
34
65
48
43
73
65
98
66
66
72
74
51
65
41
56
38
47
61
47
72
66
54
83
63
69
94
66
63
45
52
103
79
65
60
42
47
87
50
56
38
25
43
50
99
73
54
85
57
47
51
92
62
102
94
57
73
70
59
41
36
55
87
84
55
74
63
66
82
56
53
96
73
42
64
78
38
58
66
55
63
61
56
100
74
84
71
73
45
48
73
84
60
65
71
30
82
39
102
43
62
55
82
80
51
106
63
56
88
77
35
68
48
83
33
67
68
43
42
46
54
58
80
40
46
55
54
43
59
73
95
64
33
47
52
67
65
87
68
49
56
51
60
29
41
97
50
91
47
50
74
82
79
97
43
53
72
44
94
51
56
79
56
68
49
74
63
82
24
82
69
97
44
76
53
73
85
54
70
120
67
72
93
89
77
60
48
44
78
78
53
68
55
66
75
36
64
35
77
39
27
70
59
82
47
40
41
44
70
45
74
54
52
41
79
65
80
64
71
87
60
88
39
81
56
60
40
30
38
65
46
43
72
95
65
85
62
27
47
49
37
64
111
84
71
88
95
45
57
63
41
41
67
45
100
83
66
60
66
33
59
101
53
106
72
64
43
43
50
42
70
87
23
53
30
50
70
45
21
77
68
45
80
57
110
37
68
101
77
74
54
56
45
48
114
55
50
41
46
83
72
54
65
96
64
65
76
120
66
67
48
73
75
70
75
57
45
53
59
104
40
24
71
89
55
60
59
52
80
56
64
65
28
98
69
47
57
68
47
68
52
57
49
41
76
33
62
45
55
68
82
73
47
67
54
59
131
86
76
62
128
30
54
70
70
37
34
64
85
45
42
49
68
64
70
114
19
86
44
68
65
55
79
75
76
85
69
56
60
81
67
48
72
56
67
67
38
100
42
69
87
54
48
45
31
62
70
46
121
65
58
67
33
58
52
35
86
67
44
45
49
68
52
79
70
49
74
37
59
45
55
29
72
64
65
65
40
56
105
57
47
74
40
51
66
54
67
68
58
49
48
62
50
63
57
49
56
70
38
90
62
57
41
51
51
43
65
68
35
66
63
69
67
61
54
61
101
49
38
77
75
79
31
73
58
58
82
45
40
44
52
71
81
59
78
44
50
50
83
87
71
70
97
43
50
67
45
49
72
92
91
39
72
65
53
73
116
42
60
74
22
89
62
88
84
57
45
75
42
52
55
61
73
61
45
67
62
68
52
70
25
65
60
64
33
86
84
82
63
37
57
44
54
119
43
42
91
89
56
34
62
54
80
62
41
60
51
42
61
71
51
84
74
69
60
72
46
57
72
69
50
59
41
52
62
39
33
72
61
47
61
22
58
83
66
75
63
106
42
73
60
72
42
53
79
55
68
33
89
47
88
77
80
54
52
50
92
67
27
52
52
31
84
54
26
50
54
35
34
39
71
101
76
96
70
32
84
50
58
91
50
76
47
59
62
50
68
76
42
41
38
53
74
69
70
73
52
69
53
74
64
46
61
39
29
46
65
64
84
60
83
58
66
69
46
62
56
39
55
32
85
59
45
81
47
56
60
48
49
83
75
76
67
72
59
45
45
51
53
59
54
56
39
107
85
87
39
31
70
51
65
51
67
63
82
73
88
45
80
60
70
91
52
61
92
64
63
85
55
50
67
48
88
41
83
81
35
86
54
83
50
71
83
42
51
54
72
95
32
47
54
68
46
74
74
88
60
63
74
55
51
61
45
54
64
87
87
67
53
27
78
70
78
80
43
64
70
79
60
41
69
48
49
92
91
39
103
65
64
43
47
57
90
71
59
72
69
84
33
63
50
65
62
80
43
60
81
64
92
71
66
50
70
40
74
85
74
68
57
81
62
43
44
62
35
52
63
39
74
47
102
25
52
71
63
51
118
56
40
70
57
74
62
48
74
62
86
53
76
66
82
72
67
40
41
73
52
72
66
51
87
59
29
28
52
48
46
67
77
66
99
49
65
47
63
50
41
51
67
40
76
68
64
39
53
71
61
56
63
54
111
54
48
76
66
47
44
32
52
60
55
46
45
64
53
70
73
70
79
99
32
69
94
68
80
74
32
72
56
61
70
51
73
57
55
62
76
82
45
71
78
61
86
156
30
87
88
75
75
48
70
64
56
59
51
125
80
88
59
84
32
77
63
62
65
48
102
82
53
66
55
72
65
61
59
57
49
57
83
71
73
40
35
53
49
31
53
67
126
49
60
74
59
54
66
80
44
41
67
71
47
41
76
56
89
31
64
65
74
54
74
112
50
68
62
80
58
86
47
49
109
60
73
71
69
72
33
54
104
70
34
96
50
39
43
69
46
54
62
75
61
81
56
55
47
45
69
64
45
59
53
91
96
58
57
50
64
55
29
71
57
49
59
66
67
125
43
83
49
58
36
82
68
70
48
41
48
94
93
63
91
85
60
40
58
43
38
52
99
49
65
44
67
42
63
56
78
29
58
98
97
70
52
69
46
38
43
55
36
54
47
41
50
74
55
43
83
46
25
71
43
62
89
94
63
59
48
55
74
73
51
69
72
50
59
53
80
43
90
69
68
77
65
73
43
33
84
67
78
71
79
47
60
91
83
77
62
99
45
34
48
81
46
66
92
94
75
87
32
40
60
99
51
91
48
42
72
68
29
54
66
74
41
85
46
53
53
54
52
48
46
72
105
68
57
100
56
46
71
87
47
52
87
66
62
91
53
69
80
66
52
82
39
60
116
64
44
90
66
59
62
42
58
73
68
80
55
42
74
27
131
128
47
53
51
78
48
73
54
54
65
59
62
41
64
75
44
58
54
91
47
66
94
58
43
85
89
69
65
78
83
59
94
93
65
58
58
41
46
58
43
46
57
38
78
48
77
53
61
62
83
67
59
53
78
41
94
82
56
74
45
56
34
56
84
122
54
69
42
60
57
34
64
55
66
82
48
41
75
57
63
50
54
48
54
59
62
61
50
67
31
52
50
60
74
84
72
76
52
61
68
46
48
55
69
99
67
46
26
64
88
61
65
43
41
67
67
85
73
53
103
66
54
38
80
77
87
70
58
45
81
72
52
73
83
69
68
47
58
53
80
53
50
85
42
55
65
63
56
67
62
51
90
64
63
52
97
108
53
52
56
28
86
57
52
45
53
38
84
53
74
38
57
64
31
97
60
55
88
27
74
77
86
73
31
60
59
89
48
31
95
42
60
64
59
42
79
64
66
54
35
68
86
68
95
41
49
60
62
53
47
63
32
26
57
72
68
39
59
99
91
76
53
65
59
62
34
101
54
59
39
49
53
49
40
71
44
49
82
59
50
59
100
74
93
88
40
33
79
59
51
51
45
46
63
41
48
60
74
47
38
72
52
62
53
46
64
65
80
57
56
68
52
71
59
78
69
86
48
54
43
70
68
57
67
50
72
56
52
81
49
56
39
72
42
42
64
44
59
68
45
61
81
66
69
56
74
38
55
44
97
65
95
34
61
68
58
69
79
70
69
119
64
120
68
32
36
33
91
49
64
69
56
85
42
33
64
36
58
42
92
68
50
52
49
56
89
91
33
49
77
34
97
105
72
60
52
47
43
50
42
44
47
45
49
51
64
86
60
79
63
77
33
63
46
47
100
65
76
43
47
39
54
79
47
53
73
76
32
64
61
60
62
51
46
56
27
62
33
86
64
68
34
57
35
55
71
58
79
76
88
39
50
82
62
49
76
72
75
37
32
51
35
65
22
108
55
38
57
80
84
77
73
77
53
74
54
43
51
80
31
80
48
69
62
52
54
62
57
59
57
58
38
81
58
59
39
52
52
30
64
51
69
40
80
64
50
53
52
75
57
61
71
73
67
37
62
76
56
44
59
64
112
57
30
67
48
56
50
43
72
35
74
50
36
43
71
67
79
50
109
60
54
58
68
35
77
77
65
57
84
77
43
58
48
62
88
86
39
74
112
31
73
44
61
57
52
49
39
88
67
87
78
35
56
46
53
29
79
48
53
66
26
79
34
88
46
71
61
63
95
76
78
77
60
74
49
44
58
59
91
42
55
62
85
46
94
74
56
91
39
66
93
43
66
65
43
97
134
45
81
62
69
88
70
36
59
79
71
73
64
27
34
82
48
29
39
51
52
56
53
65
77
113
85
33
40
48
57
51
32
43
53
85
50
53
49
59
62
45
47
90
57
79
65
79
87
38
48
43
57
68
51
61
62
72
41
57
33
50
67
54
44
61
60
73
71
62
68
47
50
50
90
56
80
60
66
58
55
87
70
85
57
44
117
31
47
51
62
62
104
49
80
38
37
50
46
49
62
44
81
82
63
53
91
54
71
79
51
81
76
40
69
69
79
51
67
51
82
73
58
28
61
86
70
49
58
51
48
27
78
45
54
98
70
27
56
94
58
43
22
43
69
58
89
30
44
76
88
48
39
62
57
41
81
96
38
32
45
32
52
35
73
69
52
64
71
89
73
59
63
84
54
53
98
40
46
46
87
70
64
79
55
61
55
62
86
70
64
53
86
60
58
50
43
67
70
56
84
48
75
68
58
56
98
92
34
33
74
60
47
44
38
49
65
73
63
42
50
83
28
50
44
47
57
46
50
59
77
54
39
47
110
63
87
49
59
48
69
81
41
71
38
44
64
93
42
38
54
114
76
91
55
36
76
55
59
55
54
81
50
56
62
56
85
80
70
16
64
89
61
86
85
60
66
72
109
58
68
69
39
57
91
77
57
49
36
48
71
40
53
79
87
42
45
66
90
33
56
24
38
105
58
49
84
36
48
34
62
65
73
53
38
20
65
42
61
68
56
72
45
49
47
49
53
71
77
47
114
28
37
66
57
68
37
43
48
35
82
32
79
64
64
26
45
71
89
50
46
82
73
61
88
60
86
58
50
55
60
33
78
80
57
31
45
72
99
75
44
36
65
53
59
65
35
102
37
47
51
54
63
50
64
30
52
40
108
121
37
46
76
38
73
38
46
79
84
119
41
58
83
71
45
37
60
61
41
54
48
36
51
53
47
54
34
73
54
72
56
81
87
46
50
47
67
33
78
73
58
43
86
68
62
63
127
90
57
84
37
76
53
35
50
93
69
42
81
72
39
37
45
51
49
75
53
70
78
59
44
57
55
67
61
35
45
66
35
47
33
72
66
65
103
47
54
88
56
43
47
69
72
69
61
62
50
79
67
116
72
69
35
48
62
103
68
77
58
51
69
60
50
86
91
59
100
62
79
66
62
53
73
68
130
78
51
87
45
64
41
40
58
50
112
60
39
49
44
50
86
36
53
29
48
68
70
142
57
64
58
70
65
99
46
57
132
53
44
48
25
90
78
44
88
25
104
54
29
85
58
93
89
82
74
51
61
85
72
105
86
88
43
48
39
70
24
72
57
47
74
81
131
42
46
66
87
106
39
86
65
79
39
55
41
95
45
42
49
66
41
44
70
71
78
65
78
69
66
44
85
54
70
70
75
87
50
134
39
34
39
64
41
95
47
40
68
53
42
53
72
47
37
91
91
56
40
50
90
41
78
59
55
32
67
83
53
47
65
66
49
43
44
34
77
55
31
45
74
49
75
78
34
92
47
53
96
71
36
47
72
68
105
49
69
63
80
60
78
72
25
60
80
49
50
37
96
87
61
42
106
78
47
53
52
44
52
52
65
61
53
82
66
66
48
45
37
63
119
63
53
55
62
35
88
69
76
43
47
36
77
71
72
89
64
70
71
81
76
62
43
40
82
43
96
49
74
52
68
44
49
45
57
38
82
78
56
34
69
82
82
54
60
60
89
55
94
49
60
55
61
85
55
65
94
41
65
93
38
46
103
71
48
53
93
41
64
68
72
45
31
62
43
75
46
38
55
66
74
85
43
68
69
66
52
53
58
61
72
84
64
69
40
48
86
47
50
55
51
41
38
73
73
17
38
43
66
54
86
99
86
65
92
69
63
43
61
59
59
70
38
82
65
62
55
103
36
78
53
82
71
80
54
60
67
48
71
48
67
59
51
47
55
40
63
75
51
60
88
48
71
50
50
96
79
47
44
74
69
64
40
45
38
56
75
61
56
58
71
79
62
48
55
46
56
54
94
113
94
77
75
93
52
40
44
37
65
21
67
52
75
32
46
67
46
71
47
41
57
58
81
80
64
67
116
59
68
104
50
79
78
74
66
51
60
53
63
89
63
50
31
80
78
59
83
66
73
67
84
54
65
62
41
73
67
67
40
73
38
65
97
36
84
43
124
82
85
54
80
76
54
62
58
53
106
41
50
43
58
81
77
122
66
42
47
66
55
77
84
57
44
50
85
76
73
79
60
76
40
50
58
66
27
82
41
77
83
32
91
101
88
46
56
42
30
62
48
40
87
39
66
59
53
69
82
63
64
31
53
53
53
73
67
35
55
74
68
40
73
55
54
35
43
51
100
38
56
48
46
36
63
50
61
53
94
90
40
74
37
71
26
101
90
54
60
46
40
57
62
44
42
36
71
46
57
46
62
72
80
50
59
57
97
52
73
67
74
39
80
77
66
56
31
68
50
99
44
59
67
77
51
54
57
106
59
67
72
46
50
54
67
76
64
89
61
51
71
42
70
43
46
58
71
33
70
75
82
58
61
58
58
59
79
76
49
63
61
57
78
48
50
44
37
60
32
80
65
70
67
87
34
56
39
79
45
65
79
45
70
42
61
39
53
44
56
63
48
52
73
71
96
50
53
54
44
45
33
59
83
73
48
99
42
62
62
70
66
69
73
48
67
75
44
46
81
99
67
71
58
48
53
60
51
36
86
33
77
56
85
35
63
52
51
54
83
69
42
76
45
76
57
55
84
65
39
72
75
93
69
72
77
60
81
61
78
51
61
36
94
63
57
72
51
104
77
50
64
73
104
38
82
30
65
51
66
59
45
64
48
50
61
111
83
36
50
62
75
61
94
69
58
30
36
42
52
64
42
70
34
57
53
46
56
82
78
72
42
79
34
57
35
53
61
90
41
27
60
88
50
104
84
70
75
86
67
57
63
64
62
45
49
51
85
92
42
60
95
50
77
30
38
77
66
48
53
64
46
81
111
75
47
45
75
47
84
56
32
87
74
90
53
55
57
40
34
77
68
38
68
62
69
67
41
80
33
83
57
77
59
48
80
97
50
41
57
60
44
82
63
78
42
110
48
70
112
53
57
87
102
38
64
85
90
91
68
86
42
67
59
65
103
56
97
76
52
77
55
61
33
51
61
39
57
39
63
57
76
58
28
38
47
51
51
60
30
64
54
56
53
19
38
82
64
79
78
39
88
42
50
43
39
63
49
71
43
40
60
82
84
55
81
71
40
28
68
68
75
69
35
57
53
55
64
44
37
104
76
54
60
46
75
52
106
50
63
76
90
53
59
66
62
66
68
37
42
71
73
59
53
48
85
150
44
59
66
33
41
47
51
70
52
73
69
35
41
50
80
68
59
74
53
58
59
62
96
51
64
86
57
64
44
68
49
80
55
51
57
50
64
85
100
84
36
51
50
37
49
95
81
47
53
70
21
27
69
79
90
37
38
78
38
98
67
69
71
61
80
55
37
76
97
54
48
61
89
57
72
29
79
78
71
62
71
60
83
58
54
46
68
65
54
103
45
56
78
44
45
40
51
41
83
66
55
86
62
41
61
47
53
70
86
53
53
51
95
53
45
45
57
55
88
57
98
93
81
32
36
63
68
70
34
103
61
66
90
82
48
50
25
88
66
55
89
41
77
58
50
50
30
54
75
66
30
69
47
69
78
76
83
67
59
34
72
112
48
32
62
72
68
43
61
45
54
76
47
47
62
52
117
99
72
74
61
82
60
76
55
80
55
64
43
53
52
79
62
70
58
39
42
32
61
125
118
87
74
71
97
51
53
69
48
69
71
79
62
59
51
68
59
54
103
84
38
82
66
59
36
42
52
78
42
53
125
63
51
38
36
66
71
53
32
41
35
62
44
63
82
68
63
68
76
44
85
65
84
47
35
94
58
49
62
42
85
89
67
81
40
41
58
105
50
71
39
53
88
62
58
74
60
67
40
50
63
55
57
24
65
105
50
64
70
122
40
47
81
98
44
75
48
60
60
38
48
39
71
58
93
53
77
54
67
107
59
120
66
39
61
49
39
39
64
51
49
68
69
72
48
55
83
64
101
98
62
59
86
76
85
70
53
73
86
59
58
24
54
51
57
84
53
71
37
84
37
69
55
73
48
78
33
63
75
75
70
51
81
94
56
41
63
60
62
51
62
42
79
58
62
62
71
48
85
56
87
68
67
85
64
96
71
79
47
51
88
60
115
51
58
32
46
67
56
37
52
67
59
41
37
56
88
95
57
75
53
78
59
103
77
81
89
72
82
79
49
62
44
40
100
52
42
85
45
57
61
75
37
74
35
74
33
52
57
38
56
58
55
91
43
58
45
73
56
59
68
58
74
77
46
71
44
56
60
63
44
60
73
72
43
44
65
51
51
77
57
37
58
52
74
54
53
95
69
61
51
94
51
69
34
81
52
39
67
40
41
74
65
26
41
44
82
95
72
47
77
130
66
31
43
22
69
58
32
45
98
40
60
62
50
35
37
48
78
44
71
40
87
52
46
50
57
90
73
43
36
63
84
54
47
38
56
61
76
63
50
31
63
26
92
74
62
99
39
97
47
67
33
59
54
77
51
68
50
92
57
59
92
100
54
69
69
52
48
83
54
86
55
77
40
46
91
83
58
67
64
85
94
80
42
77
50
104
43
30
65
53
38
33
53
81
49
66
67
46
43
111
96
65
38
65
58
71
74
27
61
90
115
47
58
85
77
56
68
77
98
96
61
64
72
74
37
83
61
53
49
61
59
43
67
88
50
42
57
56
60
80
45
88
90
57
129
73
30
65
51
63
57
24
48
60
95
110
50
72
39
40
71
110
39
54
56
72
90
24
78
43
81
61
84
37
51
54
64
67
72
48
60
85
51
42
67
57
51
90
76
93
85
70
62
59
73
71
50
49
42
36
78
61
75
61
58
62
53
60
48
47
59
55
52
45
77
42
47
50
52
58
57
87
50
65
61
70
58
44
72
65
42
28
52
58
68
46
46
38
84
46
56
111
67
33
71
53
62
42
73
46
50
84
50
31
55
88
85
69
83
97
46
67
55
77
77
60
78
66
37
47
50
59
89
58
60
51
73
42
31
36
61
82
66
50
106
61
72
67
44
38
59
61
67
42
58
61
54
60
60
100
46
36
89
50
85
43
78
61
45
35
51
91
86
63
49
51
52
55
67
83
48
109
70
71
90
53
47
75
74
50
55
69
64
38
84
36
53
55
44
93
51
61
56
76
103
96
61
43
31
64
56
95
87
45
56
46
57
47
43
27
42
43
64
76
61
40
31
57
45
58
51
34
83
77
105
80
64
64
61
63
62
71
52
67
48
68
44
75
62
81
129
67
60
79
119
45
70
55
38
21
61
96
60
55
57
77
69
27
46
36
89
47
69
43
53
66
60
54
74
47
62
67
74
40
34
78
64
50
46
55
74
48
64
74
53
65
41
51
97
60
76
59
66
60
90
44
63
45
46
38
46
59
55
66
61
58
64
67
62
50
53
49
51
79
46
35
68
56
66
47
42
38
72
39
61
58
73
64
50
69
42
76
113
54
114
71
45
82
94
42
66
135
43
91
37
63
72
53
46
98
58
115
64
40
47
76
34
48
54
35
56
44
26
86
82
77
75
86
74
60
36
56
89
104
69
79
79
34
77
54
107
38
100
76
103
79
61
25
56
60
63
72
40
86
81
57
47
88
78
78
83
73
86
76
79
48
54
80
76
59
65
29
65
82
98
57
76
23
83
77
86
62
56
97
52
44
55
65
69
84
46
63
66
79
50
44
32
34
92
31
48
38
46
55
90
84
58
61
50
42
75
64
41
64
42
56
90
62
57
78
64
41
74
48
83
86
36
53
37
66
39
35
44
56
28
94
52
67
73
57
56
35
72
41
69
74
60
93
24
79
43
78
91
66
58
52
60
78
42
40
46
87
36
63
87
40
43
55
57
50
50
44
76
55
36
63
63
71
76
53
63
64
44
66
59
43
62
55
52
75
56
77
50
60
34
48
54
38
40
82
114
41
56
42
75
60
46
51
69
33
64
47
41
50
60
45
40
51
79
79
80
58
68
53
18
53
80
37
48
33
92
41
45
72
55
51
75
50
65
48
54
64
43
57
56
78
57
53
76
72
67
60
67
82
35
104
30
29
55
67
47
57
62
62
73
45
23
77
66
81
40
63
87
34
63
64
60
42
57
48
89
70
39
130
65
49
57
57
47
84
65
70
52
48
48
44
72
36
72
75
58
80
58
111
57
77
43
82
26
67
49
84
73
83
71
46
40
73
64
43
72
57
85
57
43
89
37
91
65
61
69
88
64
83
77
72
62
46
64
47
56
55
76
69
60
65
49
82
67
102
91
47
33
74
64
50
52
54
72
58
61
45
66
108
49
46
43
72
40
49
56
45
83
98
41
45
66
41
78
77
50
60
92
45
45
52
34
104
69
54
78
80
30
57
75
63
57
53
41
44
35
55
61
72
48
67
54
87
46
62
30
43
69
85
29
71
60
52
64
66
42
60
42
71
67
67
83
69
69
71
42
61
57
50
63
78
27
45
46
77
77
57
81
90
88
61
44
58
56
95
37
53
28
69
57
62
67
50
52
72
92
83
94
39
42
66
46
65
113
48
44
62
59
42
86
123
62
51
62
40
54
44
38
54
55
56
57
75
78
41
49
70
82
53
103
41
41
64
46
63
55
100
69
73
76
49
75
59
40
91
44
50
50
49
59
67
49
36
39
92
46
74
95
63
81
88
68
69
38
38
107
71
77
72
103
39
66
63
77
52
56
111
65
54
45
79
127
78
100
50
60
58
92
70
40
61
61
58
86
66
55
72
27
75
42
57
81
78
64
58
29
76
41
69
53
61
47
76
73
42
68
58
35
67
68
42
45
84
54
57
46
62
42
78
26
83
47
82
50
38
90
74
50
54
63
54
99
59
80
62
38
36
74
46
81
67
71
64
59
71
78
91
113
53
38
62
30
61
119
48
42
34
58
61
82
43
83
86
59
79
36
61
98
83
35
36
73
68
84
38
54
63
86
86
55
82
36
66
47
65
58
37
74
55
26
52
85
75
50
80
83
50
79
61
37
34
68
76
92
25
45
43
66
57
76
54
73
42
92
52
78
81
90
79
56
46
70
69
34
56
54
56
48
54
48
46
56
42
43
53
114
49
53
68
69
62
56
48
56
76
72
47
64
61
49
32
44
54
54
40
72
54
58
49
45
49
53
44
72
56
40
33
57
112
52
76
42
51
54
103
61
58
96
61
59
51
67
53
46
43
43
63
37
48
67
90
61
54
106
104
36
59
27
97
62
74
49
41
70
40
74
82
35
67
39
30
47
48
80
54
61
77
97
113
32
78
77
37
90
92
53
98
69
77
82
94
63
56
64
62
37
34
132
34
77
56
50
59
97
21
41
93
54
50
79
62
104
50
38
49
69
69
54
63
73
37
71
65
33
48
76
65
48
49
54
74
57
54
78
80
85
43
107
40
61
35
41
90
64
66
105
68
65
84
70
71
84
81
79
74
49
42
102
70
66
96
86
54
56
45
93
57
67
85
68
86
92
75
69
69
63
41
48
56
85
72
57
48
55
47
88
83
52
110
91
65
43
62
113
47
67
50
62
55
85
47
41
45
42
78
58
62
34
48
69
56
51
79
52
68
53
55
64
75
90
64
45
56
51
61
93
112
77
46
69
57
68
37
33
60
41
45
61
60
71
61
69
86
43
60
54
49
51
78
87
69
83
98
46
89
43
80
37
42
32
76
64
87
72
53
42
58
47
101
62
64
72
69
76
42
60
96
68
73
99
90
74
21
60
58
68
65
70
83
51
42
73
90
48
34
72
64
68
61
68
108
69
84
99
57
62
51
43
47
46
67
101
85
52
39
50
72
57
49
51
60
33
68
98
54
93
79
75
47
22
77
58
56
87
52
83
72
67
60
61
38
77
80
63
78
63
94
68
54
49
64
52
55
50
77
39
35
60
55
107
78
100
57
54
63
39
56
73
67
98
52
64
38
57
56
63
55
53
59
43
77
81
53
80
50
54
51
48
49
82
54
71
91
95
44
50
57
82
75
61
44
24
59
38
55
62
69
60
55
80
48
80
85
70
54
89
65
63
48
30
80
96
80
64
70
63
59
68
50
56
63
47
60
43
59
97
90
69
49
45
76
43
37
88
53
65
34
48
60
45
58
33
63
25
53
58
51
53
53
58
53
64
72
60
63
56
51
71
37
43
78
68
45
47
27
34
115
31
105
40
85
28
41
75
94
65
46
85
30
57
91
92
77
62
76
58
72
28
72
59
72
47
69
73
58
45
72
65
61
49
78
28
98
116
49
37
100
74
75
88
62
77
48
98
109
40
43
35
44
90
62
56
62
57
65
71
44
58
78
83
62
46
101
61
79
86
81
71
122
30
58
39
82
76
45
80
31
68
74
73
73
41
96
52
40
85
63
81
59
46
114
49
53
88
45
54
154
68
110
58
48
66
52
88
56
44
42
88
87
31
65
69
60
89
119
56
67
64
55
70
39
86
48
49
52
70
99
53
84
77
67
48
90
84
33
58
51
66
40
64
68
66
45
77
65
70
71
49
60
117
53
97
82
76
60
57
56
51
54
81
62
53
64
59
112
57
64
47
54
54
42
39
60
77
39
70
52
32
34
88
61
40
46
68
68
90
58
88
86
66
68
36
42
61
80
56
72
65
54
65
51
30
64
40
38
73
53
61
48
70
62
61
39
105
82
50
56
99
33
52
88
89
43
90
63
43
68
22
28
42
60
53
60
51
53
32
64
32
53
40
70
52
84
77
59
94
65
66
74
38
54
79
89
71
77
51
66
43
27
47
70
44
58
62
84
38
44
54
68
94
68
69
80
72
51
41
54
58
52
58
111
35
123
56
40
53
67
41
35
85
73
33
57
73
35
66
68
71
85
37
61
53
59
44
65
54
82
61
122
69
59
48
52
42
63
101
76
76
52
39
63
76
51
55
50
70
27
58
54
68
29
43
85
68
41
49
68
28
43
71
85
65
91
72
91
70
42
98
46
80
61
30
126
48
48
47
42
78
60
40
53
71
73
92
39
80
23
82
34
59
102
59
55
110
84
74
57
61
68
87
48
77
39
65
34
66
44
36
47
62
27
79
83
63
98
69
70
66
75
78
90
40
65
47
107
60
75
58
47
45
69
44
52
83
88
61
75
46
58
61
59
47
98
52
80
91
50
57
63
51
112
96
54
54
39
49
39
49
60
97
107
82
49
60
40
62
79
85
48
38
35
80
38
51
79
51
68
65
39
80
102
72
66
77
58
90
58
87
46
42
82
40
53
45
92
59
65
73
44
52
90
62
67
38
70
39
60
52
56
60
31
43
59
37
93
87
81
136
46
61
38
61
73
59
91
37
44
54
32
49
59
40
46
83
26
64
67
66
27
94
61
69
41
84
40
61
37
50
86
39
59
54
70
74
41
69
84
69
54
63
57
64
68
38
38
25
53
67
67
56
83
27
33
54
84
49
66
40
85
34
40
74
26
56
31
97
83
64
41
54
48
71
47
42
91
41
93
50
107
46
57
70
49
47
62
50
34
61
59
70
45
30
80
40
75
65
73
40
75
53
74
78
54
49
55
50
56
65
72
43
95
57
97
60
51
29
78
64
70
67
71
30
70
25
49
55
54
70
55
37
39
51
82
39
68
76
104
45
90
43
67
81
61
68
51
43
80
58
80
65
43
42
54
74
97
51
71
56
38
53
84
58
26
31
42
100
29
48
47
86
43
30
102
47
68
62
50
54
59
51
55
62
31
51
84
45
45
92
41
85
93
82
57
55
64
32
66
64
37
75
67
66
65
32
75
112
46
66
55
61
98
79
34
52
46
66
98
60
30
38
76
60
38
41
99
70
55
94
74
42
33
47
63
44
33
58
38
73
90
53
95
48
50
66
36
50
50
44
72
79
92
55
102
38
36
58
33
46
48
77
80
55
114
61
60
68
49
46
21
63
81
72
47
81
105
40
53
43
62
60
48
91
34
80
71
47
62
74
46
41
70
37
95
51
74
34
37
28
74
68
47
78
49
50
39
61
48
66
52
57
64
59
71
41
68
72
56
52
40
61
49
101
38
88
60
45
93
39
49
50
52
60
48
57
41
73
48
117
43
60
57
35
56
40
56
83
44
63
76
42
53
78
52
55
70
34
54
65
67
88
75
37
74
63
89
51
57
56
49
61
56
59
67
94
91
41
32
47
58
95
91
47
53
41
49
87
73
60
54
52
104
61
63
45
46
74
65
65
56
83
79
45
59
66
88
80
54
70
65
40
118
84
77
102
28
92
61
58
51
70
77
37
60
70
72
84
90
37
48
64
25
62
73
118
68
58
41
41
51
56
28
75
69
58
62
37
44
63
43
46
74
47
70
75
38
104
80
65
53
52
46
74
86
65
103
47
42
75
66
90
55
60
42
41
46
72
67
50
59
67
68
61
72
59
50
60
58
35
61
72
70
54
40
34
57
82
46
57
78
52
57
37
35
42
54
52
94
73
53
57
61
37
47
85
69
49
93
46
62
53
44
39
38
107
42
87
58
50
62
70
23
47
39
37
52
48
62
48
79
68
46
57
55
56
60
66
55
87
66
44
42
81
85
61
65
51
47
68
100
60
29
77
58
49
61
82
40
93
85
28
69
87
42
29
80
65
125
56
68
50
45
56
79
64
101
39
34
74
66
80
59
37
93
73
42
37
79
60
81
32
42
65
102
47
68
72
81
73
105
46
52
61
85
41
42
60
36
74
74
79
77
46
67
50
58
61
86
63
83
64
70
52
58
49
67
54
52
68
53
57
35
76
68
84
69
43
71
49
47
61
41
81
58
48
73
63
70
47
88
82
43
40
46
33
69
82
43
88
40
67
59
84
50
36
142
62
79
46
47
41
53
73
50
54
59
72
98
67
56
52
105
34
49
90
72
53
58
76
80
39
38
99
63
52
37
103
73
53
47
82
62
77
39
50
60
89
74
49
72
55
84
38
63
84
59
56
56
61
58
32
44
38
38
67
61
26
58
45
24
66
49
41
101
29
44
87
68
60
48
65
59
47
62
79
36
61
85
39
57
96
29
59
41
76
52
60
95
52
49
92
63
49
107
86
85
40
47
40
51
58
39
76
68
55
51
140
58
40
31
49
38
56
72
48
79
66
32
68
72
94
76
72
55
63
76
89
82
33
36
40
67
85
57
56
68
89
67
57
67
52
50
56
111
65
82
38
56
76
26
42
33
41
45
92
70
34
48
36
64
46
55
48
50
50
44
53
74
72
56
64
41
44
31
74
52
61
54
40
86
39
57
75
46
62
50
34
45
66
52
34
43
91
65
51
58
46
54
48
75
70
57
75
80
70
69
47
60
71
64
51
76
63
70
77
37
44
50
46
34
82
68
79
87
64
59
65
65
52
59
36
58
72
44
29
72
46
58
91
48
72
58
37
84
39
65
83
57
25
57
52
77
48
49
83
92
62
95
42
50
34
55
67
72
70
77
41
36
66
58
51
71
57
57
73
85
78
54
82
56
79
37
43
68
82
44
79
69
58
57
61
60
49
61
40
44
85
62
62
104
62
47
75
73
34
67
60
85
43
66
67
47
58
48
94
93
52
52
39
85
82
89
49
37
63
71
73
44
47
40
46
64
60
47
56
89
60
78
67
74
55
43
63
64
46
71
45
102
85
65
43
51
79
52
73
86
63
42
81
59
103
98
48
113
37
23
75
37
96
50
73
80
74
42
81
63
65
80
61
54
65
37
46
53
35
46
49
57
67
52
69
57
50
59
46
33
46
58
57
63
31
58
83
65
80
75
55
56
49
59
51
50
99
56
64
47
63
49
103
80
67
64
42
57
34
70
54
82
74
78
64
37
98
55
81
80
47
56
95
26
65
73
33
57
83
72
49
42
66
84
47
76
58
69
89
65
61
85
45
52
72
61
57
34
45
96
92
70
71
68
41
55
51
30
63
56
60
63
43
35
86
55
92
66
59
27
104
59
47
57
68
51
114
71
63
47
100
41
32
46
36
94
84
39
77
52
45
71
52
51
44
66
57
48
53
71
60
88
77
99
47
77
42
57
76
61
47
73
63
39
52
66
93
71
81
61
76
74
89
185
113
109
52
43
62
72
51
54
57
46
44
60
92
41
72
50
57
44
46
96
42
78
51
84
47
86
56
55
41
49
43
37
60
61
69
31
48
98
44
49
42
75
53
67
94
100
86
76
63
75
53
53
57
39
54
68
51
87
65
72
53
53
44
43
45
63
78
46
85
37
49
32
61
57
63
81
60
43
69
57
76
75
34
41
63
40
76
80
40
54
84
57
69
60
70
45
57
49
58
86
59
109
102
84
87
77
42
41
49
51
43
45
113
38
71
75
82
71
37
90
39
94
48
60
54
67
95
36
87
57
70
51
84
63
74
66
46
63
27
73
74
50
39
77
67
44
109
72
53
67
53
47
66
61
29
70
64
46
30
70
90
59
66
48
47
78
45
57
60
86
56
53
71
63
55
83
73
44
67
38
58
62
51
86
69
52
77
52
48
84
75
49
45
56
33
44
38
70
61
83
82
105
76
96
60
44
47
50
87
72
38
48
62
48
77
43
77
46
62
54
58
47
48
68
74
57
68
55
44
54
71
81
24
72
26
69
59
63
81
31
64
53
58
54
58
44
86
44
44
58
65
54
71
62
35
44
82
60
32
64
115
59
45
81
121
76
56
62
80
70
57
91
100
68
57
51
48
88
35
63
46
68
45
71
70
73
54
46
46
58
83
45
71
52
62
68
70
40
77
65
42
76
97
56
77
72
53
75
60
45
37
77
81
38
77
61
49
48
50
100
64
40
84
71
32
56
79
47
47
54
64
68
46
70
47
70
42
37
53
88
42
50
48
63
32
33
92
51
91
42
19
60
74
105
65
41
53
64
53
65
37
28
66
82
20
36
65
41
62
89
53
64
60
57
76
55
22
55
52
44
59
39
42
122
43
40
54
43
35
58
41
54
76
95
78
47
42
59
69
54
77
59
61
62
65
49
75
66
83
82
107
35
85
64
56
57
47
37
49
38
55
59
55
18
103
90
65
77
77
35
74
66
57
64
64
103
39
49
38
64
81
55
57
50
75
79
51
54
42
59
71
81
52
109
50
84
48
78
88
54
72
62
59
33
40
75
58
48
64
56
72
33
38
44
55
51
56
33
78
73
42
50
28
60
94
81
71
58
53
60
41
81
65
45
76
25
82
100
72
33
48
50
52
57
67
65
78
70
50
41
61
63
84
71
30
72
51
72
79
56
52
59
47
94
42
51
37
46
72
82
64
36
52
69
60
44
31
72
72
86
52
47
71
48
49
74
92
48
98
49
43
35
62
39
58
80
48
44
64
55
76
76
54
93
55
77
65
60
53
50
57
68
47
76
141
77
31
44
53
60
57
34
45
86
100
56
73
42
77
61
57
36
65
72
70
83
78
52
58
29
76
44
52
94
87
40
63
50
52
45
79
57
62
62
88
32
59
55
65
40
61
58
52
43
107
94
59
90
90
70
28
66
26
39
43
75
61
47
90
41
55
84
31
35
77
85
34
46
52
70
63
52
112
75
55
74
48
45
83
50
78
45
83
39
39
70
92
69
66
35
43
47
61
51
49
58
41
56
66
74
43
78
51
57
49
37
43
68
99
51
83
75
70
49
46
67
81
36
77
25
54
46
53
60
61
53
37
71
43
64
56
54
43
36
78
51
74
63
62
49
78
72
42
52
85
33
56
72
60
62
64
53
36
86
63
59
30
60
36
57
37
81
74
61
73
48
54
61
33
116
66
41
76
43
56
42
35
82
59
60
33
50
60
70
103
82
78
76
64
109
88
61
84
72
52
59
56
66
101
61
27
43
75
63
73
55
35
36
55
41
57
84
45
55
36
59
43
53
45
78
70
50
73
49
49
59
59
63
39
54
93
56
55
108
47
57
58
61
38
41
57
76
38
83
74
64
59
70
29
36
53
79
81
91
74
73
90
75
52
68
56
70
54
46
29
53
85
92
62
66
72
45
38
61
76
36
85
44
64
49
39
74
56
65
64
65
86
41
52
50
50
44
75
92
49
45
32
39
45
85
81
86
73
77
54
29
84
67
59
104
54
58
109
34
56
50
72
65
116
74
76
58
72
62
79
96
66
23
79
37
55
87
64
44
31
75
69
51
83
86
64
37
63
58
66
53
56
64
43
44
74
27
50
71
108
38
50
57
62
67
87
70
51
37
55
135
58
71
102
100
63
56
22
75
38
43
54
57
76
49
47
104
58
57
44
65
55
40
73
61
65
52
67
80
31
33
69
57
48
62
56
55
70
80
59
67
67
71
69
67
70
33
58
90
78
60
55
41
77
78
56
44
74
30
59
63
37
86
47
96
95
55
50
53
34
42
62
77
64
54
93
47
40
56
37
64
78
36
44
39
106
61
52
73
45
63
69
56
51
56
89
65
56
76
58
57
81
60
84
94
82
43
45
61
96
68
24
56
47
42
60
62
48
67
73
87
66
53
67
53
73
70
57
72
47
42
94
32
48
39
50
72
45
58
91
66
37
53
76
50
34
58
91
69
32
63
35
65
37
118
69
53
39
79
86
78
57
41
62
36
43
52
61
67
59
98
63
55
54
56
65
51
40
53
63
56
51
39
92
59
96
59
63
43
64
50
62
46
52
56
66
60
69
94
92
93
77
42
64
52
34
68
86
64
77
66
90
92
52
93
44
72
51
75
49
43
56
59
73
71
39
56
87
74
89
59
77
63
29
42
84
91
41
41
109
70
51
39
74
96
41
44
46
82
36
37
77
61
39
48
63
29
58
43
61
62
72
51
61
34
95
39
53
40
44
57
59
53
82
59
33
40
58
73
35
61
45
67
81
73
44
81
35
61
44
59
96
67
66
80
40
40
66
61
62
60
125
34
62
29
74
52
59
55
41
27
30
58
57
69
102
93
55
31
67
71
34
84
62
59
40
43
75
67
119
70
36
31
75
76
55
44
100
67
27
55
71
83
98
41
58
49
67
53
67
115
37
68
35
87
68
31
87
57
84
86
72
66
32
65
49
57
38
61
26
81
85
47
67
58
45
69
85
48
55
38
80
36
50
46
74
80
61
75
57
66
70
39
47
47
77
64
46
65
46
65
79
103
108
53
52
37
51
55
53
74
66
77
44
53
83
39
52
65
70
52
49
59
44
43
60
60
79
97
64
65
37
118
40
69
61
70
49
65
35
64
37
57
118
78
63
83
54
82
85
76
54
97
57
31
82
63
56
64
33
58
47
65
53
102
57
88
77
74
59
67
82
72
76
54
116
136
63
41
67
52
129
41
67
50
51
64
89
101
73
50
67
63
70
53
53
65
44
59
91
50
77
55
33
62
62
90
30
51
83
73
96
57
103
43
65
53
39
63
112
39
37
63
74
37
56
62
62
48
29
56
43
93
68
47
59
78
78
48
58
65
86
54
60
53
59
52
63
59
45
35
104
100
82
48
52
26
53
77
65
54
58
49
92
68
81
54
63
63
93
44
63
55
45
74
77
82
60
58
57
54
31
79
92
91
53
54
38
50
52
57
78
57
61
73
77
42
32
76
68
69
88
32
70
52
87
74
107
82
68
73
89
54
76
77
74
49
44
111
70
40
46
57
80
64
57
41
65
69
54
63
42
67
48
81
45
44
60
65
55
64
49
29
59
65
61
71
57
72
73
47
64
77
68
52
81
70
71
46
77
43
44
32
71
47
100
66
72
36
64
52
79
77
27
49
59
100
78
54
46
53
54
40
45
44
48
54
67
67
57
71
63
56
62
68
63
60
42
49
51
64
80
79
67
119
84
83
38
57
48
29
64
63
46
57
60
55
56
32
57
51
50
70
73
58
94
51
37
52
46
64
59
77
36
71
67
66
66
50
79
79
40
36
23
60
22
60
62
52
56
37
39
72
80
87
58
59
43
82
76
39
41
104
77
119
61
62
67
39
53
67
61
60
61
53
29
89
45
98
68
73
51
73
78
67
92
58
57
60
57
57
68
46
51
40
46
96
44
59
68
48
72
45
31
75
54
66
65
83
43
51
57
80
61
69
69
75
47
77
52
63
42
55
45
69
88
46
82
43
75
103
54
80
54
47
58
52
46
67
49
100
62
49
61
81
50
38
57
55
61
50
54
85
68
64
46
59
29
47
46
75
41
59
40
63
50
41
40
72
54
50
46
44
54
74
90
39
93
48
84
33
35
72
77
63
85
81
114
56
83
60
58
54
140
55
78
79
50
36
44
56
43
27
38
34
76
47
61
61
90
45
40
77
63
58
69
70
64
33
41
68
35
74
91
42
66
51
70
54
74
65
66
78
55
61
51
52
62
42
40
64
49
61
86
71
51
84
55
63
54
72
72
40
113
50
62
40
62
56
55
99
76
59
64
54
85
67
72
55
56
66
54
54
78
76
70
74
87
67
54
112
45
44
93
48
69
48
42
94
64
61
71
40
47
52
124
34
37
53
45
65
58
75
98
60
31
57
65
67
84
54
34
85
65
49
72
51
89
62
60
49
64
37
72
54
64
56
32
59
40
38
45
112
58
68
37
60
44
68
50
68
40
71
47
64
70
73
45
57
37
30
42
92
50
51
81
35
62
69
34
59
52
29
60
89
69
74
43
64
46
59
63
49
61
43
101
60
68
81
61
62
86
31
62
72
55
49
69
61
54
54
62
51
58
76
99
36
74
97
52
86
73
63
58
72
57
75
37
81
63
101
44
66
39
73
61
59
45
63
77
44
66
109
54
51
79
79
37
68
80
89
53
110
70
96
54
63
65
59
52
52
67
30
79
54
34
80
43
51
78
65
80
73
51
64
75
74
72
67
82
47
39
73
50
64
73
88
56
70
36
23
67
57
43
82
61
89
79
55
56
31
50
74
75
37
75
84
59
61
41
59
73
78
56
48
58
75
54
100
59
45
67
41
44
69
70
73
77
65
41
64
75
55
44
26
41
37
59
49
74
55
77
53
50
61
40
94
48
63
63
72
76
78
62
61
40
74
56
66
98
100
43
53
52
53
34
43
33
56
64
66
49
84
40
52
43
55
53
82
49
79
25
74
66
68
82
45
35
40
46
68
58
58
37
50
75
41
85
46
93
78
81
35
78
90
55
69
49
40
58
53
54
58
73
72
49
68
78
63
110
60
38
59
75
55
78
58
86
63
45
71
86
65
94
59
71
86
67
81
42
74
82
76
63
35
90
47
48
60
78
89
40
61
62
77
40
69
64
53
50
58
71
85
41
70
107
42
61
61
39
53
59
57
40
63
52
62
43
99
68
29
89
71
38
49
57
52
59
65
96
67
59
52
50
68
68
44
83
61
109
114
92
86
39
90
30
75
79
66
40
66
70
52
49
67
46
68
63
87
52
78
80
85
47
66
53
64
87
89
56
68
66
83
100
89
26
48
64
40
48
77
67
70
91
79
41
63
66
80
50
43
95
103
49
57
46
47
52
36
60
56
87
45
53
64
77
93
87
60
93
72
82
41
56
51
14
40
33
47
60
77
50
43
57
48
73
60
82
45
89
85
87
89
60
52
33
49
72
54
50
76
48
46
73
59
33
49
116
55
48
56
46
62
46
94
67
46
41
60
71
81
81
99
68
65
42
45
74
48
88
64
81
71
86
34
41
75
43
70
64
82
47
63
68
50
53
66
81
88
78
81
39
40
48
84
30
52
104
60
44
66
66
55
74
56
60
85
101
85
56
64
81
62
46
61
52
54
53
68
80
47
35
71
81
92
40
43
59
76
46
94
62
44
74
75
77
59
68
70
60
80
94
83
78
59
53
50
68
53
33
52
51
63
63
48
50
88
31
112
38
59
67
61
72
47
47
51
67
46
82
57
61
56
70
70
54
56
45
48
66
80
44
71
89
50
46
76
46
60
83
95
67
69
65
72
52
77
47
23
64
66
79
50
68
70
73
46
52
53
101
50
32
45
50
33
56
71
73
82
49
67
84
75
71
54
35
48
82
68
83
57
57
62
36
72
92
71
50
44
89
89
78
51
33
75
66
68
40
70
43
76
81
57
75
46
31
43
46
48
53
67
37
46
38
56
79
50
64
54
65
73
33
60
23
82
86
78
51
72
53
58
79
56
63
90
45
84
111
48
43
82
98
49
76
71
100
51
81
60
37
44
47
93
59
82
44
37
49
64
43
74
47
59
37
56
74
50
83
83
55
38
60
74
68
34
65
69
80
66
62
66
40
37
45
50
62
40
72
65
55
75
76
54
24
34
37
33
53
57
85
71
48
65
51
55
42
66
27
56
69
77
48
46
69
78
58
46
82
49
68
53
125
59
52
71
65
62
55
71
45
55
51
61
68
52
80
56
67
58
70
69
63
49
75
54
52
51
69
52
66
96
56
81
60
59
81
58
87
46
108
78
83
65
79
40
66
34
52
37
37
48
58
41
82
75
96
72
54
87
77
65
59
72
103
45
78
63
49
28
74
55
88
63
27
32
67
87
74
84
84
52
71
67
58
47
37
45
60
62
81
55
87
63
76
58
50
57
67
46
37
52
52
84
72
37
97
39
51
36
54
75
92
60
38
38
78
51
87
69
98
63
70
40
97
69
56
68
38
49
43
57
65
71
40
63
50
128
41
38
54
60
44
52
56
45
94
71
35
61
64
52
65
62
75
60
34
73
88
75
84
86
56
68
84
30
60
80
89
48
71
108
73
52
65
43
93
84
24
75
107
101
56
55
60
53
54
59
54
54
45
83
44
76
62
92
85
41
64
76
63
80
73
58
70
30
106
76
83
45
54
89
63
50
40
61
36
46
70
63
48
28
69
42
32
41
65
93
66
42
52
56
50
59
96
49
59
51
73
43
63
89
67
56
50
62
55
72
46
62
41
69
38
48
75
76
47
66
65
65
88
33
68
52
57
78
53
48
61
34
29
73
64
55
77
33
94
61
65
76
58
54
56
80
94
87
79
84
81
56
69
36
49
83
81
64
37
43
45
50
68
127
95
71
60
52
104
88
58
55
28
49
57
61
72
69
77
112
65
72
39
113
40
54
60
94
45
63
49
36
44
87
44
68
106
34
55
58
72
55
71
49
90
53
73
75
45
59
68
53
48
70
56
63
75
47
61
92
88
63
61
71
85
52
43
88
30
85
44
63
59
38
64
49
40
49
47
40
64
91
42
34
52
79
76
70
44
44
37
57
68
39
48
34
79
29
90
81
49
96
34
71
60
44
57
56
68
64
46
69
56
48
66
68
59
38
73
77
97
58
74
79
98
89
103
63
62
27
39
62
59
57
47
57
70
56
38
57
74
24
55
28
75
49
82
103
69
45
42
64
61
61
59
63
103
68
32
55
39
65
76
71
76
62
51
55
71
44
56
48
68
101
66
57
72
45
56
43
56
77
70
68
86
71
82
53
26
55
50
62
35
49
90
34
65
60
37
49
81
40
65
65
59
39
35
93
47
62
58
58
58
55
53
47
79
41
67
70
55
46
63
61
98
66
69
71
114
119
44
35
52
65
76
38
52
111
42
49
33
90
62
46
100
58
53
57
56
40
109
45
63
75
101
72
37
70
32
66
79
88
42
73
51
98
42
66
86
68
42
52
104
70
58
27
61
76
55
70
77
55
49
93
54
53
75
40
64
46
35
74
55
65
56
96
104
35
56
71
81
63
55
45
45
59
38
67
57
55
25
59
60
32
65
54
65
58
42
54
36
49
54
67
57
79
78
73
40
70
45
55
48
67
60
63
52
56
84
48
92
70
103
79
65
80
84
48
79
31
37
48
59
74
66
80
58
80
51
83
94
75
62
146
115
94
51
37
76
39
73
46
52
44
110
51
77
53
79
60
49
60
62
67
73
72
74
35
47
63
101
97
47
63
60
62
74
84
93
89
52
59
46
53
38
80
56
82
72
74
70
45
82
93
67
37
54
80
76
79
76
72
66
93
77
52
51
65
60
102
30
35
42
96
50
85
78
72
91
45
37
67
83
68
76
79
57
57
41
77
53
51
76
71
83
83
58
52
71
47
52
81
61
87
60
46
56
54
61
62
88
49
79
56
34
73
72
50
98
55
50
64
71
80
52
73
55
75
62
57
49
49
42
48
48
102
66
59
61
41
32
69
45
66
65
52
87
55
54
94
45
99
63
66
35
63
75
71
64
77
56
61
79
36
101
74
43
58
86
61
56
48
76
53
69
89
53
48
51
67
67
71
67
64
74
55
60
55
48
67
76
44
55
78
84
88
70
63
40
55
57
72
49
62
65
30
80
57
80
41
69
63
56
106
66
51
72
47
71
93
86
144
78
65
46
55
61
58
72
45
34
45
44
37
79
72
52
72
61
84
85
40
57
71
36
59
55
49
42
72
72
51
59
32
41
68
47
61
55
28
97
85
79
33
110
43
86
48
44
79
46
85
64
66
45
49
53
74
49
28
69
78
77
84
59
135
100
73
71
27
68
92
51
50
78
51
65
63
91
75
67
63
43
70
51
56
29
86
61
38
46
88
32
30
61
85
72
42
40
67
79
37
52
98
60
32
48
58
65
51
21
47
54
61
61
35
68
63
66
95
47
52
88
85
72
82
54
85
67
81
50
56
26
82
47
68
48
79
61
38
51
63
94
53
79
56
119
55
86
86
63
62
66
68
54
82
90
45
34
33
66
64
50
44
56
84
78
63
59
58
66
83
44
62
48
43
83
30
51
58
77
52
65
49
72
78
72
50
40
52
43
56
24
73
41
58
103
70
54
43
44
127
54
56
60
41
46
50
48
56
76
43
102
54
50
66
56
78
69
41
71
56
40
66
87
90
61
105
52
47
62
60
74
47
77
65
20
57
81
49
41
72
78
59
60
38
47
47
32
50
52
87
57
49
62
82
48
51
78
108
50
49
69
75
68
79
69
40
57
85
53
112
68
52
24
69
58
66
45
69
53
71
72
69
63
55
58
51
49
54
42
47
50
60
55
62
104
82
92
70
36
53
36
77
36
65
73
26
85
40
44
88
47
79
57
32
74
57
33
75
56
50
76
60
68
75
77
56
60
30
39
43
24
53
49
52
66
70
67
44
27
71
36
58
120
29
55
40
50
26
77
73
53
55
67
60
72
38
57
59
54
60
100
44
65
61
66
78
60
57
93
65
55
48
86
54
95
59
59
58
67
60
77
41
40
43
39
73
62
48
64
81
84
50
82
98
55
81
89
84
66
87
37
45
50
41
47
49
64
43
73
74
51
32
88
58
71
41
24
91
36
52
101
73
62
57
70
45
42
61
68
67
43
44
78
56
86
69
47
83
50
81
64
61
76
58
71
54
58
89
34
45
80
34
49
31
70
35
48
49
67
59
86
53
52
73
85
51
53
88
64
106
44
43
73
77
64
76
78
69
77
40
62
70
80
43
53
55
57
47
48
70
91
71
52
54
53
71
48
71
55
40
64
54
46
61
67
82
64
69
41
78
39
57
57
48
46
56
78
106
55
75
92
42
39
67
61
47
64
67
55
61
73
65
65
72
55
48
61
62
91
53
47
48
56
47
79
80
63
94
62
60
40
59
70
39
78
51
81
59
48
73
55
79
78
69
48
43
63
94
74
49
66
49
53
140
82
54
56
38
48
57
44
52
65
53
56
49
85
74
84
54
88
72
47
24
57
75
50
61
44
38
54
54
42
66
63
44
77
57
43
94
68
94
108
84
57
87
66
47
49
51
62
103
59
66
81
51
57
98
75
68
110
59
59
58
64
52
77
68
85
63
46
78
50
64
33
47
79
73
19
66
74
29
72
54
61
39
66
33
54
84
78
53
68
68
66
44
53
53
30
65
72
55
48
41
83
35
63
86
79
51
43
48
44
50
69
42
37
58
54
58
50
82
106
147
52
57
49
44
47
67
75
69
79
56
53
42
39
64
51
64
73
58
40
109
54
78
60
69
55
30
65
73
72
35
65
59
62
83
80
101
37
61
36
39
39
51
60
28
69
52
86
69
79
80
91
77
55
78
118
31
91
50
55
101
53
37
73
62
51
70
47
73
42
56
73
38
40
47
35
80
68
58
50
68
50
81
57
41
30
63
44
40
54
47
39
54
44
43
96
84
41
86
74
22
46
58
73
56
73
54
60
64
48
58
72
62
29
62
46
75
35
81
55
94
59
81
88
61
25
69
55
52
43
124
73
42
74
68
82
46
46
37
48
33
48
66
60
82
61
67
109
75
55
42
104
77
73
82
52
101
59
109
62
44
42
68
46
48
66
30
49
72
63
46
71
50
49
31
96
59
64
68
54
82
71
67
46
73
19
41
64
94
45
81
64
62
59
101
36
60
62
74
83
47
64
47
57
61
29
59
86
105
88
99
63
69
61
38
61
67
77
33
84
63
53
79
32
31
80
70
76
42
50
82
78
57
65
35
69
55
45
59
54
56
102
73
75
41
67
59
41
70
41
47
55
51
77
81
69
50
57
52
49
66
77
46
93
86
53
50
59
84
64
82
55
68
53
47
65
32
44
30
83
61
83
74
75
67
66
56
54
60
105
87
68
83
49
39
87
60
54
55
69
50
65
47
77
52
58
41
51
53
34
56
92
70
60
52
63
45
72
49
45
55
41
66
81
82
50
52
78
41
51
50
65
39
52
66
65
65
56
57
112
46
26
60
61
66
75
47
99
61
59
49
56
73
94
66
51
55
76
65
76
47
61
49
56
53
84
71
82
71
75
41
67
37
51
66
93
68
48
45
49
90
35
93
46
33
55
76
81
51
68
64
53
57
39
67
31
42
55
72
81
32
72
68
71
49
60
87
75
70
68
48
85
60
42
59
75
71
81
79
48
84
42
45
60
53
57
40
69
36
68
89
95
58
66
58
56
78
37
49
92
49
39
73
57
69
49
66
99
62
46
93
39
59
124
94
67
76
62
35
33
63
58
81
45
35
64
41
74
54
23
49
25
47
46
80
77
43
56
50
38
66
38
76
64
55
81
72
46
86
53
65
73
64
65
74
35
82
93
41
65
79
51
53
69
88
30
91
80
45
54
63
51
75
44
56
94
80
106
63
51
92
54
68
51
38
77
50
34
52
89
60
22
69
84
89
39
103
77
62
74
78
84
53
48
61
34
69
62
92
71
77
55
79
52
73
106
51
51
44
32
39
70
38
44
81
79
93
68
68
73
74
52
52
69
39
45
57
53
59
43
150
41
35
69
47
47
45
45
64
38
38
74
59
60
56
56
48
81
96
41
49
56
51
59
48
84
83
48
33
49
71
81
42
48
46
45
39
66
54
76
72
89
71
64
69
86
24
79
61
95
66
59
54
56
102
69
71
72
80
86
66
86
39
40
35
72
66
60
49
104
67
86
46
38
63
89
27
72
66
73
59
76
55
80
39
44
61
131
81
78
49
79
87
38
29
39
124
65
33
65
69
92
46
57
48
85
38
55
81
83
81
45
87
54
69
57
76
104
34
47
38
117
71
49
45
59
25
77
53
66
41
82
30
66
49
39
60
29
54
65
77
43
39
32
86
96
75
47
74
65
120
86
49
55
89
68
30
76
59
62
46
56
41
69
70
41
39
22
61
63
55
73
83
63
93
54
59
42
121
38
62
78
41
78
90
81
91
41
57
31
41
55
34
44
126
138
87
53
48
66
61
74
97
79
57
42
41
75
46
80
41
60
80
36
63
74
55
98
27
74
67
60
95
51
35
58
73
74
40
89
72
72
78
45
85
77
39
50
55
46
62
68
57
62
78
42
41
88
62
59
32
48
49
96
82
33
57
33
45
63
98
56
48
38
86
45
33
67
53
68
46
89
48
55
65
43
47
61
41
71
81
36
64
42
45
76
68
58
58
36
45
82
68
106
63
70
44
68
83
63
57
90
50
80
35
76
49
33
54
70
63
67
86
60
38
45
101
45
57
36
31
52
72
72
83
43
53
70
44
46
63
76
81
99
46
61
60
65
42
66
29
62
43
42
55
58
83
49
74
70
64
49
43
32
78
57
65
66
47
109
48
45
95
44
57
65
34
105
64
64
92
60
65
51
122
49
75
95
73
83
60
90
54
69
27
47
64
58
59
85
75
56
45
30
61
57
51
46
115
76
27
49
65
51
74
98
115
64
48
51
61
86
98
41
68
52
61
51
80
110
58
78
56
32
80
48
62
78
44
71
58
72
50
64
74
81
105
87
46
59
68
41
65
35
62
73
70
34
83
67
73
44
63
75
40
76
113
66
60
100
83
38
57
50
71
33
53
60
83
76
107
53
72
66
50
55
47
77
38
99
40
93
57
35
74
60
53
28
71
105
76
79
47
88
78
80
77
68
40
73
37
38
80
36
25
57
78
68
103
54
48
96
52
44
60
70
83
37
55
108
89
97
76
54
54
87
58
54
33
56
81
56
80
44
69
97
75
51
61
64
51
46
73
69
71
25
59
64
59
58
73
82
55
61
75
80
86
67
47
73
42
87
43
65
60
28
78
38
72
60
72
95
55
63
77
77
50
59
72
74
85
102
97
49
30
60
65
54
71
39
65
62
70
63
76
35
87
51
54
93
84
76
38
94
78
81
53
105
63
57
60
68
54
40
42
60
71
88
80
44
47
45
86
74
87
54
49
62
67
77
49
69
79
71
62
39
84
53
60
56
38
63
91
47
53
58
48
65
89
28
41
67
64
68
36
67
83
72
63
42
56
45
72
60
70
51
72
67
56
77
91
61
27
58
75
67
97
111
35
23
64
79
82
39
51
66
54
83
65
54
55
56
74
53
35
46
100
23
59
97
36
110
131
95
57
66
96
33
52
55
72
51
69
56
35
71
82
75
57
78
65
43
60
36
31
50
61
99
72
35
74
38
54
54
36
52
92
23
36
64
55
78
59
71
53
65
56
63
72
63
55
45
27
79
54
40
59
74
80
45
67
87
51
75
33
48
73
67
45
78
50
76
33
57
88
53
64
69
65
82
54
73
64
88
73
37
65
46
69
73
77
38
98
76
68
58
71
65
60
74
58
43
96
53
74
54
35
45
78
51
94
46
55
36
39
106
41
45
49
61
28
55
62
42
67
34
76
66
59
86
70
59
47
34
84
50
63
89
37
63
36
27
66
59
68
98
48
75
24
74
33
68
62
49
78
58
47
77
58
51
57
104
73
77
55
32
87
94
83
73
82
57
60
46
80
74
73
46
44
59
79
57
60
51
81
86
49
68
71
50
78
41
58
67
59
32
84
66
63
42
84
47
62
67
47
38
41
89
68
76
56
56
61
82
76
42
74
68
41
55
62
53
64
47
26
54
34
32
52
51
36
34
38
51
61
74
64
59
57
64
80
92
50
70
67
33
52
38
113
67
60
70
81
106
37
59
81
45
77
58
86
69
79
30
38
79
94
68
68
68
61
30
50
93
52
54
92
72
44
59
37
35
54
36
78
45
88
47
51
51
57
68
68
76
31
51
40
97
58
78
74
35
79
37
45
54
53
43
27
90
74
52
62
44
77
160
48
71
44
66
47
48
40
51
90
36
72
52
75
109
65
57
64
58
29
37
80
64
63
48
56
41
45
50
52
38
63
77
62
70
69
70
60
64
48
78
67
42
46
74
120
54
54
61
34
60
63
65
46
80
77
37
72
40
80
58
48
84
39
68
50
96
56
75
87
38
31
68
95
46
43
75
66
39
44
41
55
53
46
49
50
105
47
55
57
30
112
66
45
32
51
100
49
68
98
52
57
21
70
73
49
68
92
65
61
44
70
54
63
75
70
60
89
81
48
74
76
52
71
21
72
42
80
38
40
39
53
68
81
85
49
41
82
67
57
52
89
41
62
64
49
116
31
59
69
32
60
60
106
64
45
66
77
31
77
33
49
58
83
88
48
58
70
73
40
48
89
48
30
19
58
83
77
74
44
52
37
65
72
47
62
74
37
66
83
113
60
80
54
39
99
22
55
69
52
73
75
58
47
38
66
33
54
90
76
41
63
42
74
64
38
69
58
52
61
42
37
50
45
60
53
71
61
73
97
64
45
53
86
39
68
34
83
40
33
34
75
46
70
41
36
82
77
63
50
99
71
52
75
48
62
135
54
99
34
55
85
53
78
51
75
52
40
79
92
98
29
35
88
71
61
54
98
95
68
76
37
66
76
104
42
73
44
69
76
51
82
117
58
50
60
31
50
75
66
49
45
107
61
77
86
38
55
128
42
80
53
64
50
77
56
72
60
50
42
47
68
33
74
62
58
68
72
63
63
73
90
81
78
77
49
119
38
55
71
69
61
55
53
89
55
73
51
66
77
51
78
40
75
53
66
40
42
47
29
52
72
45
44
84
47
58
53
29
58
79
49
43
88
42
64
55
52
51
34
53
83
55
66
59
35
52
78
75
36
53
53
54
48
73
90
86
38
79
74
75
62
63
36
82
85
58
62
61
44
76
57
80
63
48
34
73
55
90
71
54
27
75
66
82
33
71
66
30
60
119
65
58
63
81
58
40
44
35
63
60
82
71
40
55
104
67
36
62
63
69
83
85
89
47
76
69
64
66
56
56
76
90
62
60
50
50
88
53
62
62
98
71
58
61
61
40
37
57
51
66
86
58
49
87
52
63
50
34
68
73
78
58
99
64
82
85
82
41
92
55
42
46
60
34
34
63
69
85
87
47
41
96
57
79
53
60
38
51
59
65
32
44
100
43
66
64
46
86
93
86
70
55
61
55
80
62
46
111
32
63
34
51
82
70
30
83
47
68
40
83
54
70
29
68
48
38
71
59
54
80
88
71
47
34
59
58
91
57
85
69
63
64
121
111
56
79
64
58
76
46
71
56
47
58
91
53
52
114
70
71
64
100
39
50
62
60
68
34
68
40
88
69
65
58
67
63
64
72
56
63
90
76
86
80
60
71
128
59
38
76
58
69
70
39
72
42
92
77
80
41
71
61
69
92
57
51
34
51
69
32
61
77
60
89
47
65
101
43
57
50
49
57
49
78
59
64
49
77
40
61
65
44
65
48
61
84
45
63
30
106
57
71
84
56
47
48
95
68
75
50
64
33
63
48
43
54
106
68
100
50
84
71
39
57
121
91
99
67
55
45
57
59
61
47
51
41
37
66
57
53
43
44
43
44
49
71
54
81
76
101
57
55
69
43
44
70
76
66
38
68
50
56
66
53
70
61
70
56
92
49
71
68
28
59
61
76
75
45
43
68
59
72
30
38
61
108
75
45
80
82
24
102
88
53
63
117
67
63
74
60
76
41
70
72
50
84
60
32
60
86
61
89
81
62
42
77
63
99
60
31
48
39
85
36
52
86
58
92
41
36
89
77
44
63
81
40
53
65
57
91
52
79
62
45
69
68
46
66
82
91
64
69
69
58
27
69
50
53
75
45
42
53
57
94
38
70
61
50
63
47
55
71
58
56
65
86
58
67
80
39
112
89
36
35
44
38
32
45
44
73
71
57
38
81
48
74
102
46
64
126
44
38
48
53
59
97
50
92
44
43
71
59
56
59
59
55
86
80
94
68
67
61
81
126
43
85
50
62
82
64
86
36
35
31
82
65
84
35
119
45
68
36
61
67
101
39
69
79
52
62
78
82
69
55
59
78
31
43
87
50
78
64
43
38
67
43
84
64
51
45
90
80
72
55
55
90
51
124
26
104
68
50
54
91
41
69
50
81
79
78
65
63
56
52
53
45
50
51
36
44
67
52
50
61
54
67
36
83
63
67
38
87
63
86
40
92
106
42
44
18
51
52
56
51
55
64
41
54
60
99
84
68
66
39
49
65
47
32
52
55
66
58
46
47
44
67
71
94
69
45
62
80
32
49
58
78
55
62
40
46
55
67
59
45
32
24
58
80
43
40
112
59
43
69
67
56
79
62
38
59
83
48
51
85
81
58
45
56
72
51
97
43
55
54
67
66
48
72
65
100
42
53
92
52
71
29
55
61
64
42
42
28
30
42
57
58
80
36
39
50
59
81
90
92
31
50
62
37
71
40
102
53
59
25
45
57
103
112
42
67
92
88
44
52
62
71
59
120
108
59
50
111
41
24
54
74
50
75
43
40
64
36
49
65
64
57
89
70
42
59
74
81
35
44
97
63
46
59
68
69
65
25
94
109
49
61
44
73
43
70
86
71
84
56
47
68
44
43
80
89
42
68
36
57
81
32
57
63
59
61
65
47
80
43
61
56
42
92
89
105
81
69
61
48
48
84
114
79
67
103
72
70
42
86
70
83
83
69
77
80
47
43
71
57
57
90
64
63
51
50
82
53
105
51
75
71
59
37
74
50
69
58
84
96
82
75
97
66
41
65
58
78
58
102
90
35
72
61
54
70
70
41
62
60
94
44
69
98
85
65
71
58
76
73
53
63
65
50
85
61
50
58
33
66
49
71
73
41
26
60
66
66
77
66
97
34
38
79
50
99
57
51
44
46
71
57
117
106
29
61
33
62
20
26
77
64
53
44
92
61
80
54
62
88
52
65
43
43
31
98
59
64
71
85
85
58
69
52
72
38
59
82
41
34
48
66
37
52
63
82
50
107
25
40
70
73
56
52
68
82
43
49
39
64
50
53
55
68
70
87
69
104
76
61
61
46
50
50
40
72
50
66
33
60
60
89
52
47
43
64
65
89
45
45
60
39
82
83
79
47
74
54
97
40
89
58
89
64
91
60
53
69
34
38
75
55
37
65
98
38
93
46
63
64
63
75
41
60
62
56
50
66
69
85
76
59
71
50
80
54
51
40
92
65
97
56
77
72
90
48
60
62
99
65
72
39
73
58
66
78
65
49
67
27
63
67
58
38
71
74
35
62
81
65
86
57
64
82
67
63
48
75
85
38
44
70
74
46
34
77
45
62
69
65
38
54
57
51
53
126
47
66
54
55
93
38
60
29
54
49
78
93
70
55
82
49
36
70
32
66
52
69
47
72
47
69
103
38
58
59
41
61
103
65
100
44
93
45
116
38
61
105
49
56
39
65
50
94
33
52
43
55
27
61
77
55
92
40
54
55
74
65
49
47
63
73
100
31
89
45
93
31
59
84
79
74
42
65
48
67
63
49
40
42
49
69
79
37
91
28
70
50
74
35
145
32
133
30
36
55
72
58
65
79
41
55
79
63
74
58
120
63
123
58
63
106
80
44
72
71
48
38
54
118
61
45
53
95
63
62
94
68
63
70
55
58
36
62
62
97
48
52
34
40
48
76
49
60
82
60
80
52
75
65
48
80
57
40
70
48
76
79
68
33
62
67
48
42
53
52
82
69
66
86
62
83
49
93
46
75
77
65
26
41
86
89
62
58
61
82
124
74
39
41
54
30
65
91
59
83
77
44
59
80
71
59
35
62
31
79
67
59
73
115
79
40
72
72
52
44
42
45
60
70
20
103
45
81
64
48
83
48
48
52
86
48
67
45
61
65
75
68
104
54
62
71
74
21
62
82
27
53
70
91
52
79
77
77
62
39
41
59
90
69
43
102
87
26
57
95
67
53
77
48
77
74
59
76
94
81
52
51
37
55
50
124
44
62
60
61
87
53
70
54
67
73
65
71
58
76
52
51
57
47
68
48
93
54
67
51
66
37
106
79
63
53
68
74
52
64
62
36
95
44
55
98
59
57
55
54
95
58
61
51
56
53
75
72
33
49
55
71
81
38
64
69
46
48
75
63
37
44
59
41
44
83
47
90
48
44
53
72
66
96
31
57
68
61
61
51
103
36
47
59
56
52
56
107
35
63
48
50
41
57
60
30
55
77
52
72
62
61
38
104
46
40
67
42
75
48
68
42
58
54
55
113
99
50
68
81
54
51
40
58
59
127
96
89
51
52
50
62
70
43
63
61
54
70
67
56
47
78
51
44
40
72
73
40
35
62
68
83
48
48
48
68
73
56
89
87
31
64
40
63
80
84
52
81
33
73
88
54
48
75
121
42
55
90
71
40
44
65
38
83
89
51
61
69
42
103
54
33
64
39
66
89
87
59
58
27
67
49
53
71
58
51
81
58
71
53
57
68
77
48
68
30
77
64
60
79
36
54
32
48
92
71
50
26
37
41
54
48
49
60
61
44
41
53
43
71
68
55
95
54
64
70
57
79
42
28
85
66
68
44
63
89
57
68
58
59
70
78
65
43
41
42
33
74
52
84
58
85
61
50
60
59
70
118
47
88
49
103
73
49
40
79
53
38
59
74
60
87
68
69
60
71
99
75
100
51
71
41
78
69
39
44
66
72
65
63
65
82
58
40
68
36
58
75
62
53
50
119
45
62
53
41
43
53
49
44
41
33
66
56
45
68
66
64
114
93
72
54
56
58
52
53
61
31
58
84
66
70
54
49
87
54
50
68
76
81
97
27
68
77
54
53
47
48
44
53
84
68
45
44
91
62
62
62
45
26
57
54
74
41
68
62
61
61
74
45
50
103
44
78
42
57
105
57
69
71
76
55
57
38
84
69
69
48
73
69
67
72
37
61
75
73
63
78
77
27
68
58
51
42
63
61
77
93
56
74
68
100
66
168
65
81
54
44
47
66
58
60
53
64
53
73
43
59
95
90
42
78
54
80
37
102
100
77
96
63
38
63
77
81
69
64
58
70
42
72
58
99
76
55
56
61
65
77
46
51
67
76
60
67
67
59
47
62
61
45
57
35
96
64
46
76
62
60
48
57
54
50
20
58
59
48
74
82
61
56
77
52
66
57
50
49
68
75
59
59
35
65
81
64
60
75
64
66
64
58
70
71
58
63
99
48
77
111
51
46
72
44
33
51
68
66
63
59
78
92
70
46
81
60
65
63
37
93
38
57
48
116
65
81
64
68
75
49
55
36
48
65
51
58
42
70
85
82
64
60
75
50
98
57
60
39
29
46
69
37
48
72
67
65
56
58
57
73
37
67
50
106
32
53
48
59
39
45
38
63
61
52
50
70
47
46
31
70
69
41
58
52
49
65
68
78
75
39
51
129
59
99
49
42
69
76
39
53
64
74
46
63
57
59
44
78
52
44
65
93
56
79
57
29
41
37
67
49
60
40
61
47
74
78
41
72
47
47
47
62
89
83
52
85
93
38
51
51
85
60
40
128
43
89
66
68
58
48
56
51
71
48
61
87
47
80
85
38
41
33
49
75
63
68
75
53
45
87
64
33
75
62
44
78
91
52
98
76
62
69
70
67
100
85
94
66
44
66
39
58
71
74
56
45
71
64
56
93
48
72
50
74
81
51
53
91
78
70
82
90
100
60
88
67
78
72
42
59
74
71
65
58
60
88
91
49
69
91
74
55
80
75
62
64
77
44
80
59
94
81
71
40
60
59
72
27
110
43
86
37
47
40
95
64
55
60
45
69
104
59
50
84
60
95
66
78
49
77
78
58
45
27
97
37
72
89
61
90
62
41
76
38
74
40
71
34
45
44
54
80
73
51
37
63
69
58
47
74
50
60
98
59
37
55
71
44
80
66
53
42
52
89
87
82
31
91
48
78
73
50
62
54
38
63
42
123
40
53
31
56
82
72
54
59
57
62
63
54
94
53
69
84
75
55
38
78
48
70
65
64
61
70
118
42
39
40
68
72
52
64
50
87
47
64
77
66
47
54
73
59
50
58
40
78
49
54
46
56
32
57
51
89
46
88
70
58
59
58
34
48
69
68
43
38
81
72
61
75
105
60
111
69
59
63
29
34
63
59
61
93
58
43
41
62
61
80
84
51
57
33
61
64
67
34
82
59
47
46
95
61
61
74
53
68
45
46
76
39
50
39
47
99
96
52
44
53
40
59
54
74
40
63
34
83
58
72
52
71
105
39
31
36
54
59
54
45
86
50
60
48
76
129
70
42
65
51
41
81
70
81
60
80
91
46
66
41
61
38
47
41
43
48
71
69
95
84
76
73
55
57
91
61
104
51
52
44
94
69
51
72
42
36
31
82
41
62
30
67
29
60
79
74
59
83
72
82
41
68
59
101
39
62
46
58
40
95
34
29
30
50
69
61
84
53
33
42
67
65
62
75
59
57
39
65
73
53
56
65
83
82
55
51
43
60
55
52
66
51
107
58
130
61
60
81
85
74
86
95
68
43
85
70
43
47
60
49
52
50
34
81
62
54
90
82
90
83
51
95
62
35
35
79
57
86
46
91
58
49
87
40
86
54
51
42
59
58
42
47
56
39
39
51
41
59
47
62
71
88
61
52
58
60
57
62
87
89
75
60
55
34
76
39
65
75
42
64
46
72
79
61
77
55
52
80
67
94
47
63
86
117
83
58
35
28
62
79
76
72
74
38
64
71
39
78
66
32
45
58
66
77
53
41
73
58
41
79
83
65
83
77
48
48
67
47
52
29
38
65
45
59
72
33
92
71
32
69
62
71
48
48
47
34
65
44
60
52
81
86
75
44
49
43
61
87
87
58
62
68
45
44
56
73
52
63
71
27
90
99
39
38
98
74
62
56
29
65
64
70
37
64
62
79
95
39
89
94
96
70
103
72
51
42
90
60
70
94
68
47
67
64
106
82
47
43
57
43
32
53
58
27
32
64
60
48
47
40
53
52
85
72
38
90
56
55
58
64
57
59
47
37
67
32
43
65
54
49
64
94
47
81
79
35
58
48
46
100
84
48
61
66
60
73
81
26
37
27
51
54
51
80
67
92
95
37
38
36
81
98
56
32
56
91
64
46
47
76
82
59
47
38
72
46
73
42
86
82
56
32
59
83
36
56
109
94
62
104
40
56
73
42
68
89
67
99
93
87
63
68
70
70
64
79
39
32
57
67
43
80
72
60
102
58
73
55
34
90
53
74
86
61
85
29
59
79
46
53
63
65
43
50
62
74
86
61
85
40
68
84
80
93
76
79
104
48
38
83
78
65
86
87
57
71
43
38
66
56
63
33
58
78
68
50
67
69
63
56
58
58
92
32
61
72
79
45
73
138
87
58
43
36
49
53
46
55
51
71
66
27
76
81
83
74
55
68
64
35
93
47
67
77
33
73
41
81
80
40
27
56
54
34
35
111
56
70
60
71
67
34
40
82
59
69
56
43
72
42
55
73
51
53
85
56
69
54
83
46
28
54
56
70
55
60
53
79
67
44
77
76
56
55
41
77
76
53
44
61
59
68
62
39
80
55
76
85
68
52
68
79
65
54
45
54
86
60
53
80
44
35
31
106
68
59
56
76
54
52
64
55
32
62
95
66
60
48
71
92
98
81
38
51
68
38
60
37
43
62
47
30
55
40
61
37
71
80
65
100
75
58
68
56
25
69
75
72
50
57
76
54
61
92
49
85
84
68
41
81
50
61
83
65
72
59
64
54
114
86
126
74
65
80
75
65
90
56
64
52
32
74
47
40
65
54
81
96
123
23
112
44
70
52
42
62
61
59
49
49
42
71
53
42
59
50
36
49
47
98
61
47
54
65
64
70
39
42
77
56
36
60
101
81
56
70
73
79
61
105
47
30
51
54
43
59
44
50
54
76
88
75
63
62
50
60
52
110
47
72
65
57
67
43
28
78
64
55
44
71
79
69
58
62
71
47
30
75
31
62
75
120
32
68
31
38
52
84
44
94
49
124
49
73
67
93
59
94
45
39
43
124
95
97
53
57
87
76
46
88
39
61
82
70
73
59
80
89
39
48
64
42
65
41
55
80
55
56
76
48
44
127
38
73
60
57
29
70
39
42
32
58
72
38
57
46
44
56
80
75
53
56
100
65
50
64
69
33
54
86
43
56
59
49
25
103
56
37
83
93
75
54
76
59
43
53
54
69
43
66
87
64
58
91
35
58
60
62
38
45
56
50
71
88
88
86
50
67
81
42
82
68
63
77
89
50
92
59
48
89
77
59
75
55
35
67
49
43
39
30
49
73
42
84
38
78
72
40
80
28
152
67
61
69
71
79
48
29
77
68
63
70
57
62
49
41
30
56
21
57
65
51
75
60
70
66
91
57
51
87
60
71
64
36
60
38
66
94
80
50
63
36
40
60
44
29
68
10
62
47
76
74
81
56
80
50
85
88
65
29
89
41
68
82
65
84
74
95
50
70
77
69
40
76
51
87
90
45
91
51
46
101
51
83
34
40
87
88
71
61
41
69
56
34
82
44
72
72
45
71
46
64
114
50
71
58
64
48
38
53
73
112
53
57
60
54
27
56
57
62
37
56
78
54
76
88
44
98
76
61
62
40
90
61
63
71
71
65
70
85
39
40
61
64
66
44
75
46
85
59
78
21
41
42
58
81
41
64
57
52
89
56
51
43
54
54
93
27
23
99
57
63
59
80
89
78
64
45
41
99
56
42
64
100
88
87
73
78
64
92
65
67
67
48
44
85
69
66
98
66
45
72
55
41
55
90
52
111
76
49
18
59
102
38
60
40
79
50
70
42
51
86
58
68
61
65
77
61
53
43
51
57
51
122
67
83
30
47
162
43
61
67
60
65
58
76
82
63
27
45
60
27
99
55
59
42
71
53
38
72
43
57
103
77
72
53
51
86
60
60
29
71
39
44
39
70
32
69
46
52
70
42
77
84
25
57
67
106
75
74
37
71
62
91
100
72
108
80
46
80
64
64
49
52
66
63
73
59
30
82
34
61
99
61
59
24
33
46
41
70
53
37
78
40
89
51
68
21
70
49
102
57
52
64
73
88
91
68
46
62
40
37
60
49
78
58
51
70
79
43
53
69
51
106
94
39
54
99
51
69
83
60
55
48
43
67
58
67
70
62
33
74
53
86
67
101
50
59
57
78
67
60
46
115
41
113
60
42
81
75
29
57
67
80
66
63
31
53
69
43
53
109
39
81
59
58
48
37
46
70
102
62
89
67
76
50
91
52
84
82
54
73
70
24
46
43
56
63
34
91
38
89
55
78
53
58
91
86
57
59
62
69
61
29
89
46
57
50
32
89
77
80
93
55
60
66
56
60
66
52
84
73
62
70
65
52
47
66
79
55
64
79
69
49
62
48
46
51
61
62
84
43
80
77
38
69
74
111
75
73
48
67
69
54
28
104
80
71
57
44
48
80
36
83
53
72
60
79
69
94
70
57
100
59
58
38
46
68
45
60
37
43
40
48
25
64
57
78
52
48
73
93
73
31
101
108
83
45
28
55
44
68
42
79
49
49
48
45
86
72
105
42
59
92
57
85
41
48
41
56
80
61
58
34
97
57
50
62
79
46
77
69
38
46
54
44
50
59
59
44
85
60
116
43
78
89
61
68
60
59
56
75
63
71
58
59
58
53
44
85
63
39
67
52
59
40
52
42
77
58
62
55
83
44
64
55
33
36
57
54
69
66
51
37
92
58
62
39
75
35
36
43
63
72
70
81
87
77
28
74
65
51
98
56
49
84
62
55
62
38
47
41
91
43
53
75
55
53
77
43
59
32
67
65
38
30
76
57
92
44
67
49
70
62
56
69
55
79
53
43
59
29
143
49
85
52
102
71
91
28
55
81
71
48
38
91
41
42
66
41
58
108
67
37
54
81
90
38
43
48
63
42
52
42
61
37
73
31
56
43
113
24
73
61
52
73
34
80
30
28
61
50
54
64
68
62
86
100
61
68
41
42
57
49
54
99
71
55
78
65
33
64
89
63
96
61
49
66
54
41
67
49
98
74
65
67
74
64
57
84
59
93
97
60
37
53
62
54
80
62
53
39
61
100
57
100
34
68
73
61
43
101
83
44
48
85
80
93
64
41
49
43
61
68
90
85
65
79
58
63
46
55
45
69
66
60
33
47
76
84
54
63
62
59
89
78
77
37
49
43
24
57
59
84
95
65
60
85
33
21
31
112
64
48
98
82
61
47
77
104
57
50
46
61
40
53
44
34
53
42
62
81
36
83
37
81
42
85
27
64
61
51
48
64
80
91
74
49
80
81
52
60
84
50
81
60
80
62
51
53
50
85
53
53
37
49
71
66
75
46
39
82
62
76
70
66
67
87
70
65
97
52
57
42
73
71
54
79
66
63
101
57
26
47
59
102
73
63
55
91
77
85
86
35
47
59
45
39
49
84
26
55
61
97
74
102
42
55
33
30
62
54
64
108
98
52
46
38
60
38
46
31
74
61
38
57
63
102
48
75
37
118
30
76
70
54
48
68
62
76
39
102
43
51
61
80
61
54
85
79
76
53
52
50
65
89
42
94
110
68
37
42
67
57
83
77
32
85
78
70
68
79
49
89
60
40
87
81
40
57
33
25
55
55
50
60
40
51
71
43
34
71
84
86
40
85
73
67
72
62
44
36
67
41
55
67
39
50
45
74
58
63
59
69
48
83
62
61
79
60
52
67
73
69
49
87
75
65
32
48
63
76
107
94
52
83
57
117
56
52
125
41
63
85
38
72
54
40
65
102
75
21
51
59
52
81
75
84
64
74
73
62
63
50
74
45
39
63
65
38
62
30
73
72
62
78
55
51
41
43
74
60
72
72
72
61
75
56
37
65
96
70
55
109
55
87
80
47
76
43
51
83
51
69
73
81
58
58
50
44
124
69
64
57
70
52
50
122
67
88
62
48
46
85
60
36
79
47
68
50
62
43
59
67
79
115
59
72
51
86
38
78
56
109
77
75
76
90
44
72
34
39
67
71
44
53
88
54
31
57
52
57
76
80
70
66
57
78
41
74
73
67
63
90
67
44
55
32
76
57
69
78
58
71
96
94
63
70
43
31
67
88
80
89
39
91
39
70
92
39
62
83
36
75
68
70
98
58
38
69
39
53
89
103
81
57
35
67
57
60
64
67
106
55
85
44
63
77
94
68
70
87
57
55
62
51
48
60
67
25
63
47
81
72
76
52
79
40
62
67
88
50
73
68
80
114
92
36
73
34
30
46
38
42
61
52
83
61
43
76
71
53
77
61
35
52
70
64
72
24
51
58
79
60
50
100
91
59
92
50
31
87
73
64
60
59
39
82
60
73
36
22
61
76
85
60
114
73
40
39
50
87
68
61
43
51
47
42
63
69
68
63
29
124
95
59
42
40
89
95
52
56
30
37
37
37
104
33
62
78
64
43
40
104
54
54
74
68
82
70
37
71
55
45
54
58
32
58
52
50
56
46
76
39
56
70
54
57
61
108
51
51
64
31
64
79
76
103
64
74
63
57
82
67
48
43
36
43
51
43
108
36
71
79
88
58
86
34
114
71
32
85
43
64
77
38
73
46
34
62
65
84
51
61
78
68
74
84
51
71
48
43
47
82
41
53
26
55
42
88
64
40
53
74
68
60
79
100
64
62
37
86
53
75
82
66
48
64
67
58
101
37
70
72
76
81
63
87
64
42
60
61
67
50
58
54
34
60
42
77
73
77
48
71
62
115
40
60
61
59
51
46
45
62
51
45
71
51
54
50
68
102
77
53
36
110
58
49
82
57
82
53
78
77
47
52
59
36
52
46
58
33
38
40
104
97
69
52
80
56
31
55
82
60
31
70
45
75
93
69
34
59
43
31
73
44
88
31
51
62
64
46
62
38
99
48
52
47
52
89
69
52
64
50
78
119
59
55
52
60
65
42
65
55
82
44
68
38
48
73
44
60
42
46
31
79
62
87
73
49
106
63
64
113
56
70
48
56
52
86
35
66
53
56
66
64
55
37
45
38
99
49
33
87
46
34
77
35
46
59
50
70
43
75
80
97
55
101
89
58
59
54
58
60
63
43
80
65
62
82
64
57
116
46
52
60
51
61
43
56
63
49
30
47
47
76
30
137
58
56
133
59
102
80
85
70
42
71
71
45
62
57
39
82
73
46
51
56
54
69
62
36
57
73
62
57
108
96
56
73
32
58
113
52
74
42
76
81
59
52
58
134
76
56
57
53
73
46
71
43
79
77
67
75
66
68
74
83
69
66
50
56
74
64
56
50
49
88
92
53
73
27
56
70
69
52
70
56
78
48
55
37
70
61
36
56
66
44
46
81
58
53
41
80
43
106
35
68
76
91
64
48
60
23
65
79
56
48
69
54
52
62
63
76
73
48
60
18
97
65
86
33
39
43
43
61
38
29
46
52
43
52
42
76
33
43
72
67
29
62
51
59
57
64
30
38
81
75
58
70
80
65
45
44
82
70
38
65
62
44
47
54
54
48
62
80
66
100
44
64
59
52
75
43
56
87
56
57
39
53
92
78
67
77
96
66
106
69
50
71
47
79
44
40
68
41
48
82
43
47
59
75
130
93
43
69
73
88
65
80
91
90
70
66
94
65
55
58
42
56
76
60
37
55
49
55
85
35
63
76
48
57
70
49
97
46
62
54
45
36
56
76
45
90
61
94
69
43
53
64
61
49
38
67
78
75
42
62
61
45
62
65
58
70
74
55
120
51
80
48
97
110
67
60
54
46
46
51
87
70
84
56
67
46
61
47
121
49
108
19
44
113
50
31
82
43
56
59
75
57
73
30
42
56
62
95
81
29
80
58
79
92
110
67
76
29
118
36
62
83
50
44
66
32
81
56
42
64
39
48
44
40
44
48
35
94
69
46
53
67
50
74
103
89
70
54
58
118
72
77
57
34
91
96
53
86
37
34
82
26
63
41
92
69
80
73
68
63
46
49
72
56
102
62
54
60
38
55
102
34
56
65
56
52
40
39
73
71
74
84
30
102
66
46
63
58
61
60
81
61
91
68
45
72
90
47
53
69
43
79
86
37
59
50
39
61
40
47
67
51
60
42
50
41
84
44
69
60
53
51
69
50
79
43
34
45
47
57
40
53
70
79
63
49
73
51
70
79
82
32
73
51
131
54
70
69
39
74
81
65
56
78
49
29
55
40
38
119
28
38
40
88
80
45
69
72
69
63
160
58
51
78
36
64
61
54
82
60
94
65
76
85
34
76
52
40
80
75
59
100
67
53
72
70
58
48
67
53
65
63
64
53
68
59
55
67
103
39
47
43
87
80
100
90
86
42
54
61
71
52
54
63
44
66
50
102
49
16
42
55
64
50
46
49
56
41
82
61
35
104
55
50
63
79
79
54
73
80
64
74
86
74
80
66
57
54
29
83
54
52
59
49
85
43
38
52
25
57
74
76
58
32
50
73
103
104
87
49
74
52
35
75
61
44
35
62
74
94
85
43
66
96
60
52
49
40
63
69
47
87
87
41
60
37
67
79
82
52
80
76
56
57
58
34
40
68
63
60
62
39
60
87
64
65
86
36
56
89
63
39
123
49
51
61
58
59
70
94
40
54
75
47
59
70
64
65
43
51
48
46
87
66
68
51
58
48
44
60
57
44
41
100
92
88
63
61
35
72
69
71
48
44
35
118
100
52
29
43
61
84
50
55
67
65
79
62
46
70
72
71
94
66
65
51
67
45
54
66
47
62
52
92
66
56
34
70
76
96
50
67
98
95
46
49
46
69
63
57
61
60
38
65
74
44
79
75
66
57
85
54
61
47
73
57
82
73
63
21
40
44
59
41
43
56
53
68
84
46
88
62
55
47
58
35
78
67
88
29
67
58
58
92
101
37
76
74
73
44
88
84
63
77
40
68
84
71
62
67
90
29
52
45
34
47
55
67
57
74
42
54
78
67
67
83
103
44
65
58
62
62
56
51
98
63
82
62
46
64
50
99
100
87
88
54
65
73
62
65
81
69
62
61
58
64
68
49
18
59
68
49
58
92
49
48
32
58
65
45
80
62
66
40
60
46
64
67
77
47
53
94
101
54
34
42
53
73
33
68
82
58
71
68
49
53
73
73
69
47
85
43
88
83
57
51
52
56
78
73
98
60
108
86
55
52
50
53
48
67
60
52
78
42
65
53
52
54
79
72
55
67
72
52
41
51
54
71
60
50
67
49
70
66
58
101
113
64
71
71
51
31
44
50
66
36
47
68
62
63
102
68
68
80
39
64
41
38
78
49
61
64
89
57
73
45
41
39
34
60
82
56
72
56
80
69
64
89
43
39
60
45
38
37
38
44
60
46
74
61
72
40
105
37
39
73
61
91
44
53
42
25
84
66
71
81
87
93
73
57
59
89
47
68
39
76
113
98
45
81
44
73
45
66
61
57
36
55
41
63
50
55
44
40
76
37
29
39
66
60
114
52
81
81
63
51
68
57
96
29
69
74
71
60
55
33
38
61
41
47
55
52
54
61
53
55
39
52
34
55
70
59
50
56
86
76
60
69
118
63
55
117
38
96
64
33
106
78
33
42
52
78
76
86
46
36
51
46
61
44
71
77
72
69
75
67
79
52
53
78
33
136
82
61
42
76
36
53
48
43
32
69
59
56
66
64
42
51
75
79
69
72
88
92
68
88
47
73
45
53
63
53
55
63
87
64
41
74
41
57
41
75
53
50
37
50
76
47
31
63
65
63
71
40
45
62
43
69
86
57
67
63
48
66
50
106
68
64
38
50
57
53
64
91
80
65
54
79
108
77
70
27
77
36
53
79
33
53
50
55
49
57
74
61
45
63
82
63
97
87
69
28
40
107
20
59
63
101
49
59
71
58
40
42
65
46
69
45
77
36
65
73
96
56
128
59
72
62
80
66
44
71
58
49
63
64
59
85
68
61
63
110
55
63
32
42
28
60
68
49
66
60
62
36
68
42
60
44
68
60
73
33
62
38
71
79
66
60
70
91
79
48
82
99
69
77
54
62
41
34
79
59
54
45
58
46
83
64
51
98
79
48
43
104
71
39
73
54
69
89
41
49
89
69
71
42
54
58
37
75
30
63
57
49
58
41
47
39
47
65
36
93
65
77
69
45
98
70
48
61
50
60
67
57
57
37
41
41
72
63
63
56
54
53
25
61
58
79
83
78
35
38
68
61
80
50
98
54
67
92
39
39
71
55
50
56
47
78
38
26
52
65
67
73
51
63
67
43
65
71
52
87
41
63
33
37
88
73
34
78
55
51
43
53
40
62
34
51
54
65
55
40
60
83
35
61
64
42
57
53
87
68
48
63
66
86
87
70
45
38
48
41
80
42
80
118
59
82
39
80
62
66
65
54
37
40
69
104
74
50
74
71
48
40
73
74
68
69
72
70
80
28
77
34
68
51
55
92
80
38
27
89
61
53
68
91
45
63
94
30
98
64
53
59
50
71
64
35
56
80
41
48
49
64
41
48
54
34
49
47
42
29
50
72
62
86
55
52
85
46
63
70
19
42
43
47
61
52
58
58
57
65
44
62
84
51
52
32
87
38
63
63
47
68
43
68
70
47
72
83
39
59
62
80
84
67
38
49
51
65
66
69
67
75
23
73
41
97
77
48
45
66
68
35
86
76
111
70
37
71
74
54
32
66
33
82
71
94
63
81
72
70
74
64
60
47
48
61
49
36
30
59
41
28
37
80
65
50
67
99
50
44
77
67
55
92
48
49
57
66
77
87
57
59
96
95
32
52
62
64
87
64
83
59
42
40
54
58
58
94
45
49
31
51
41
37
116
78
49
70
50
29
69
62
54
57
53
72
75
109
76
61
59
49
59
45
27
55
94
47
51
73
42
44
52
90
65
62
68
78
58
57
25
51
57
89
49
55
67
46
41
64
133
70
53
62
74
39
66
56
46
48
39
46
58
44
91
72
84
96
52
48
57
67
94
50
45
68
98
70
80
64
72
61
74
59
70
59
75
58
86
62
72
67
73
61
71
64
48
45
42
49
62
78
55
49
76
32
83
64
38
48
45
63
70
52
89
97
53
66
114
69
60
51
54
43
70
56
64
55
37
91
26
36
50
47
79
54
49
93
75
68
113
87
71
47
54
52
105
82
50
76
78
53
61
56
76
47
89
54
53
43
50
64
54
64
40
59
81
64
54
81
28
59
80
55
65
34
70
67
103
43
59
66
61
52
77
65
76
55
43
44
84
71
43
93
47
77
78
79
65
38
56
44
32
68
73
71
74
64
78
93
54
28
100
58
71
54
61
27
52
35
80
87
58
69
59
100
42
85
85
41
57
120
60
47
52
68
67
54
63
52
70
65
78
45
50
31
53
56
76
53
53
75
83
79
70
76
46
57
84
81
92
37
72
57
68
67
42
52
59
74
121
72
33
56
58
69
47
75
64
98
33
59
35
61
77
90
47
22
80
51
42
58
60
66
73
34
63
36
53
50
54
108
64
88
69
66
39
87
86
74
64
75
24
80
39
80
51
59
103
57
37
45
98
65
61
73
43
57
58
75
32
44
43
50
49
71
84
93
66
53
40
50
61
40
49
52
60
60
62
64
40
61
56
39
74
39
74
93
42
68
65
65
52
69
90
83
76
71
86
73
69
105
83
79
56
32
80
65
71
45
65
64
43
53
39
31
84
79
85
68
45
84
43
85
110
40
66
80
38
56
42
40
73
61
41
60
51
37
54
48
77
26
57
45
49
57
58
82
58
63
44
92
44
74
53
60
83
51
73
66
36
65
44
102
62
46
44
91
48
42
75
65
57
32
75
74
37
68
77
50
62
57
48
72
56
36
46
63
65
47
80
56
53
18
33
41
57
70
81
61
29
62
32
62
41
32
43
64
52
41
77
53
97
50
59
43
45
68
32
54
55
58
89
48
38
62
62
38
54
62
42
43
30
59
57
44
22
56
74
56
84
72
90
59
93
58
51
77
59
63
60
40
69
33
54
38
91
94
40
35
58
59
56
85
68
55
74
54
55
90
83
65
58
39
21
60
77
52
97
82
52
48
72
40
39
71
38
79
69
54
42
51
76
46
72
67
79
53
46
45
43
76
73
69
37
68
89
52
66
38
26
52
71
88
73
75
91
38
97
92
81
53
36
58
56
48
63
55
56
44
55
40
47
44
32
54
38
104
67
46
53
64
88
50
68
70
106
67
51
78
41
41
103
57
60
93
67
80
46
58
54
51
40
66
47
59
47
99
75
60
62
56
35
59
54
44
80
90
62
40
72
77
69
114
62
35
70
68
73
68
48
53
66
34
53
51
37
72
60
56
81
60
38
68
79
43
30
56
27
78
71
84
96
70
65
71
78
51
74
73
60
82
88
64
35
91
69
57
22
58
71
96
48
59
58
24
44
70
49
54
52
54
47
42
100
49
72
47
77
66
73
63
48
34
33
79
66
66
48
94
51
71
76
71
40
49
61
73
71
60
44
77
81
77
43
28
42
81
99
35
46
68
51
65
62
59
47
47
21
53
58
79
55
45
44
59
65
58
74
29
92
60
79
36
69
60
29
83
37
44
72
62
76
112
103
67
59
43
63
43
101
80
50
69
84
34
63
32
53
37
68
47
86
61
79
46
38
67
39
61
47
63
64
46
55
47
70
52
112
72
39
22
64
42
66
106
49
68
63
114
111
59
49
69
45
48
47
48
59
42
73
67
75
72
40
63
98
65
47
88
40
49
60
49
59
38
74
55
63
57
90
66
77
41
62
60
48
50
52
44
58
77
73
51
56
106
59
47
68
76
39
60
130
71
78
84
30
86
48
101
52
83
55
65
33
52
64
106
57
58
76
40
77
83
67
64
56
64
62
77
102
60
79
100
64
61
65
76
72
66
76
60
64
63
58
54
75
44
70
46
54
94
48
51
55
34
86
65
74
70
64
63
53
31
40
69
42
44
57
81
62
94
81
48
74
55
87
46
57
48
50
82
67
89
70
50
40
28
46
72
89
65
83
53
89
56
46
27
60
30
43
82
64
117
41
23
103
53
71
45
32
66
115
68
82
50
66
59
56
60
69
72
40
77
75
58
48
64
80
34
31
33
41
51
60
90
44
74
24
33
51
71
32
67
59
68
42
59
124
30
52
45
36
105
51
44
47
71
50
59
82
38
70
60
98
49
53
59
32
83
45
43
41
124
64
40
68
106
43
30
68
84
82
65
88
61
100
64
71
56
51
85
63
66
87
29
45
32
68
68
40
87
41
85
60
62
47
40
72
43
40
59
104
73
87
54
34
43
46
79
89
43
80
69
99
125
81
74
72
59
31
95
34
59
56
96
95
50
69
70
54
51
75
106
72
58
33
44
64
75
61
78
80
48
63
82
57
50
85
68
58
43
77
66
77
44
41
47
56
59
64
51
52
68
47
43
90
46
80
38
45
41
81
54
24
40
53
50
96
72
53
78
54
70
98
45
57
73
66
76
70
61
61
56
65
70
49
62
64
36
93
69
43
51
81
38
66
58
61
53
88
48
31
73
27
42
46
58
42
67
64
86
65
62
62
58
75
71
62
66
68
62
53
77
76
43
74
59
31
49
45
47
55
65
36
81
52
73
75
55
65
38
40
46
70
64
32
55
41
60
88
90
49
53
100
58
39
35
68
51
66
42
54
69
65
55
45
83
87
56
71
60
75
61
35
96
53
42
62
55
97
80
62
49
83
46
60
62
60
70
75
45
45
72
46
70
59
48
41
95
47
70
69
99
40
54
55
70
43
69
46
76
62
58
84
58
53
49
46
68
71
57
125
90
61
79
57
68
58
84
47
83
77
54
65
55
76
54
54
53
95
72
55
54
66
39
46
67
70
56
56
92
53
48
44
32
83
49
57
54
47
26
64
56
71
48
40
76
109
43
58
61
50
59
83
39
55
81
51
46
79
52
59
59
67
58
48
85
36
45
72
64
46
74
68
45
37
40
54
53
38
70
37
29
44
52
75
68
87
36
85
62
92
55
52
73
38
60
45
55
49
40
63
72
93
53
74
73
54
75
53
70
69
52
65
85
57
67
48
42
69
64
57
41
38
78
46
30
79
51
82
61
52
52
60
38
78
59
111
81
42
61
54
57
55
60
68
99
62
69
38
86
59
53
77
38
69
54
90
67
94
49
85
52
73
42
35
76
46
48
64
64
46
85
43
41
46
82
47
41
77
57
36
64
77
80
92
81
54
78
90
53
54
79
53
38
59
59
127
80
49
60
50
81
69
29
82
39
63
102
68
51
72
104
36
58
42
51
70
89
70
59
133
41
36
71
61
59
62
51
47
55
27
48
50
41
46
58
55
43
65
97
80
96
74
50
79
55
31
73
70
53
68
64
82
45
86
91
35
79
53
89
58
71
75
67
132
49
57
98
58
36
123
60
85
72
95
31
78
49
40
81
92
29
65
68
70
64
68
82
52
69
86
59
75
74
54
46
58
49
52
109
67
61
74
60
29
41
94
48
42
60
53
84
52
51
52
89
67
51
81
41
78
54
75
48
51
24
37
69
64
21
63
41
79
64
39
41
42
90
62
49
46
88
68
47
98
85
75
44
65
72
38
55
52
67
100
79
77
85
67
48
50
65
85
75
102
47
67
78
69
54
70
56
57
90
64
52
85
89
85
74
91
52
52
73
83
60
32
52
78
42
49
63
60
53
46
52
59
54
69
39
56
47
50
66
80
41
67
61
65
40
89
25
59
49
101
60
34
87
69
57
56
38
61
86
39
95
61
93
33
54
45
46
66
33
58
71
45
37
42
55
48
38
97
25
78
67
64
84
46
42
53
51
83
61
63
50
109
59
40
102
103
66
88
85
43
89
156
36
109
69
58
54
76
46
42
82
83
80
50
110
42
47
49
66
66
41
76
64
45
63
65
89
105
39
41
52
67
58
48
32
85
49
99
64
49
108
55
36
51
39
76
41
33
39
64
84
41
62
47
52
56
70
82
96
49
56
55
65
58
71
38
23
67
95
61
66
50
57
50
101
88
116
38
58
44
61
92
145
73
62
41
46
57
62
91
30
110
61
71
105
95
43
34
45
89
46
68
80
84
53
73
39
42
48
68
45
41
71
51
37
47
54
57
35
64
39
38
66
82
54
87
66
60
42
66
60
96
100
49
40
57
43
65
58
99
78
77
48
54
66
119
60
69
50
72
64
45
48
60
65
72
100
52
41
53
68
87
71
74
55
49
38
71
79
78
61
101
80
109
38
63
40
90
72
83
72
13
64
35
50
64
62
76
69
47
63
45
65
44
64
94
76
34
59
62
38
88
59
89
68
54
42
54
57
80
48
84
61
65
39
78
53
64
48
55
73
38
40
78
61
45
70
58
50
41
71
74
85
82
67
46
44
72
77
44
49
82
87
77
83
30
59
48
57
56
41
54
59
64
37
65
54
47
63
59
60
67
105
43
51
72
72
74
77
58
49
65
132
79
66
48
67
97
49
34
39
49
49
43
61
98
38
66
68
47
58
50
56
76
46
62
81
78
40
55
44
46
75
92
62
46
48
66
47
37
76
74
47
59
91
44
37
74
61
38
43
48
78
27
48
68
50
46
81
51
60
62
73
43
58
68
54
70
94
65
69
57
60
40
41
77
36
37
57
42
79
51
46
60
75
66
144
71
55
108
74
29
44
54
74
80
57
79
81
45
38
80
69
66
46
51
58
67
78
77
55
45
43
34
64
49
93
74
89
50
39
46
51
115
68
76
65
63
54
57
46
73
66
56
47
31
92
53
60
77
88
56
66
66
32
41
28
47
42
94
72
91
68
82
45
38
107
36
34
52
62
72
40
65
49
76
81
78
27
40
42
111
55
85
86
41
53
55
58
45
69
58
69
73
78
44
79
83
27
61
66
68
55
52
60
58
55
74
110
84
60
80
70
50
67
49
54
85
79
69
78
82
46
66
60
53
67
70
52
91
43
82
60
92
30
67
29
61
54
57
69
53
51
57
73
84
50
58
99
43
68
36
24
79
58
52
51
48
57
51
69
40
61
61
73
83
74
90
45
99
73
71
56
107
46
54
82
56
67
65
43
60
70
62
82
66
66
66
70
48
60
37
58
48
64
54
37
78
35
65
67
75
82
44
71
50
49
88
71
48
72
54
58
45
69
68
25
43
30
60
73
47
68
74
35
74
59
48
88
61
28
36
44
57
64
54
43
58
71
29
52
45
98
76
41
41
119
66
55
47
50
56
76
82
45
54
67
58
43
56
50
64
76
104
74
94
46
52
54
71
69
35
54
63
95
78
52
70
86
69
49
54
82
78
52
35
90
78
48
43
37
90
94
52
66
64
74
47
41
61
82
65
19
76
51
135
73
46
44
73
69
53
110
68
55
85
69
79
58
83
32
65
63
96
89
77
38
57
50
82
92
57
40
67
73
74
73
39
71
84
46
64
60
62
59
73
66
44
79
62
82
59
38
73
53
79
58
53
33
53
46
40
53
63
78
26
40
48
53
70
65
57
92
92
70
55
43
65
71
88
58
122
34
54
67
50
70
39
89
67
53
63
55
62
77
38
55
48
51
36
48
59
51
53
29
84
49
31
32
124
82
33
67
60
55
85
40
66
70
46
81
63
70
65
71
61
45
36
60
55
78
76
45
34
65
57
60
44
71
66
85
33
43
56
44
58
63
32
63
68
48
65
56
59
74
41
71
40
62
52
46
39
55
21
79
71
46
53
39
48
60
52
76
49
34
45
92
68
63
89
59
68
54
58
58
63
67
78
79
74
66
84
30
67
59
71
65
66
62
45
88
63
47
49
64
46
32
62
39
93
74
84
93
32
71
68
66
57
87
58
83
128
47
71
38
56
48
64
79
68
92
77
75
30
48
54
75
76
65
69
58
89
35
56
34
112
56
73
58
60
63
51
90
84
30
42
70
43
41
51
61
71
111
81
70
79
42
110
64
100
87
47
66
65
47
63
48
39
61
78
62
82
54
47
35
58
111
75
58
64
46
80
83
68
72
78
70
89
29
51
69
92
56
58
64
78
91
55
44
59
103
88
30
90
71
78
64
44
66
98
79
92
30
52
87
57
53
67
40
89
94
74
48
81
62
73
46
50
69
56
77
56
59
43
40
72
64
66
79
42
43
95
59
52
25
44
44
84
62
103
86
51
62
69
61
39
40
57
51
107
74
70
86
150
66
66
37
84
42
72
48
70
51
74
54
57
62
89
61
75
74
63
107
52
86
60
142
79
68
56
40
75
31
60
65
80
69
51
49
76
56
46
67
60
69
51
52
61
73
96
76
53
86
40
79
55
44
50
44
60
42
34
64
83
135
27
71
46
86
73
65
72
106
77
62
40
43
48
53
73
50
70
64
63
54
72
71
50
87
66
67
111
88
57
42
92
64
41
32
63
69
64
62
58
44
47
53
85
60
87
49
48
68
68
65
72
51
57
70
50
58
40
86
65
55
51
73
43
65
43
47
38
59
43
53
68
56
71
48
40
58
52
39
37
56
36
87
57
88
73
94
43
53
64
72
107
73
35
110
58
70
34
95
99
34
40
64
87
47
62
94
44
48
46
59
65
70
51
52
28
71
55
81
71
59
47
47
66
65
39
117
73
67
57
81
48
77
86
64
60
68
41
53
111
31
77
78
68
61
63
71
86
70
31
87
55
33
73
65
74
75
68
60
58
116
61
74
46
49
55
61
62
51
25
56
40
58
36
105
78
58
44
42
41
73
66
50
71
47
45
93
41
68
79
67
42
64
86
78
82
49
84
67
67
40
35
122
44
77
49
50
51
64
42
85
48
41
61
82
67
80
36
95
45
66
102
27
34
66
65
51
39
82
51
63
85
68
56
71
76
31
73
56
97
65
38
74
96
39
71
54
37
38
72
76
30
40
122
53
74
68
88
53
52
65
62
68
41
81
48
99
36
82
58
73
73
38
42
40
36
53
78
60
58
32
85
76
59
92
59
56
66
37
59
94
49
79
75
57
76
90
57
43
67
62
66
73
64
96
57
61
56
54
59
59
51
33
34
74
48
59
75
73
34
22
75
61
86
58
50
58
46
45
45
74
55
66
70
82
52
24
75
86
40
78
58
93
62
45
62
34
98
42
80
76
59
42
63
69
51
69
105
67
49
43
45
55
68
114
69
64
84
65
83
31
57
111
72
84
54
64
66
62
60
67
71
86
64
53
72
100
61
68
69
58
74
75
62
102
48
44
85
29
37
32
60
68
59
74
66
50
91
66
61
51
39
52
73
61
74
65
68
57
76
49
88
55
36
80
66
54
64
77
74
51
30
89
49
58
92
83
75
84
81
61
72
66
96
69
53
44
70
77
70
56
82
86
65
58
40
77
100
59
73
58
83
49
44
77
74
49
89
32
54
43
68
59
37
87
57
96
48
63
40
38
57
68
112
58
80
96
47
57
40
101
68
46
69
78
34
76
59
61
129
28
75
68
52
42
132
48
84
43
68
44
73
61
102
56
42
52
75
61
63
100
82
51
45
64
36
63
46
56
64
37
47
88
57
121
64
38
70
39
68
57
87
71
70
57
67
59
78
69
44
73
51
54
57
50
96
62
64
54
97
60
37
46
29
58
62
82
45
51
78
88
54
65
35
33
61
80
37
57
62
68
52
101
49
72
49
55
30
51
59
66
87
70
91
59
73
29
81
61
84
86
56
98
80
47
60
40
95
55
94
66
65
53
40
49
61
50
61
65
48
101
56
119
53
50
47
89
49
79
66
57
46
55
37
79
71
64
48
62
60
59
40
51
58
75
57
65
88
58
59
67
41
57
83
60
80
86
40
72
80
63
82
54
63
68
43
40
54
94
81
64
59
65
62
46
22
40
85
60
67
92
59
31
49
53
70
117
121
63
80
44
79
122
83
39
66
65
59
60
50
26
72
57
39
46
74
73
73
68
65
65
80
43
54
63
50
44
40
63
50
46
68
51
82
64
130
52
75
66
57
88
67
97
69
40
57
69
63
80
41
52
59
44
92
27
44
67
47
57
101
47
75
73
75
45
77
47
44
67
33
54
46
64
98
72
63
71
72
79
102
51
40
80
61
107
76
42
64
66
79
32
62
93
85
65
42
64
84
70
34
46
47
54
63
78
32
42
81
76
60
79
77
53
55
93
76
88
41
64
39
74
53
60
71
37
58
61
80
30
86
79
70
49
64
58
71
83
55
84
46
51
61
66
65
49
67
67
51
72
64
56
44
68
79
34
57
79
72
78
50
69
67
59
59
39
51
50
34
65
59
70
89
65
90
85
78
30
49
54
90
38
33
80
84
52
68
54
66
57
57
39
58
54
50
64
92
42
53
102
47
55
92
61
95
52
31
50
73
73
68
57
69
75
83
73
51
55
73
58
84
78
65
73
79
45
79
72
51
37
40
46
63
83
44
58
92
60
70
72
77
58
111
49
37
83
56
53
45
48
69
44
88
38
34
71
46
45
36
71
41
42
45
69
66
62
74
56
60
69
76
53
77
30
96
40
44
35
83
73
28
80
72
27
31
42
73
49
63
60
62
54
51
70
50
69
57
98
80
59
139
78
51
77
68
61
40
91
34
65
35
64
56
79
63
19
92
76
84
73
49
69
58
81
67
53
62
33
80
51
60
64
74
53
67
42
63
42
51
41
41
60
78
35
42
79
77
43
49
63
51
50
48
91
52
63
65
65
114
67
100
81
43
51
59
60
46
68
65
49
78
81
77
56
55
63
33
27
75
67
34
77
62
60
67
41
87
61
51
42
46
44
31
68
69
61
53
48
53
51
53
49
73
45
63
44
90
83
64
39
41
67
55
64
62
46
72
42
56
80
37
73
64
58
80
57
56
46
42
43
105
50
71
49
63
25
55
38
31
36
50
38
60
56
54
56
53
75
48
39
79
79
68
40
84
60
42
31
37
60
64
49
40
60
62
77
81
67
46
53
53
66
31
71
56
84
90
41
76
33
75
44
89
69
96
72
89
38
91
45
48
42
84
48
77
81
76
38
40
58
51
80
58
20
70
67
60
27
28
110
86
66
53
77
71
47
52
55
85
39
41
33
78
56
55
51
67
82
45
57
54
51
55
56
38
49
54
62
38
65
69
67
66
57
105
40
42
59
141
61
54
69
74
142
70
43
55
95
57
55
63
51
55
46
51
39
51
34
71
118
78
72
62
90
68
73
58
83
64
42
43
26
42
32
73
54
84
64
24
46
37
47
63
40
86
89
54
60
62
106
62
52
45
74
73
51
112
34
39
43
88
70
43
73
80
65
63
57
67
49
46
92
79
34
48
26
78
51
54
51
92
76
66
53
67
82
69
49
31
96
66
75
93
47
49
79
54
54
45
63
60
44
76
66
74
62
87
88
76
80
62
64
70
78
32
51
31
61
45
40
78
79
46
71
47
40
96
64
41
74
67
70
91
41
65
50
49
49
43
36
69
41
62
78
92
43
91
53
34
42
58
53
125
67
72
63
56
72
62
51
74
44
74
62
44
69
87
57
57
53
80
68
76
45
52
61
50
54
49
69
62
39
57
37
66
65
100
54
76
43
60
61
75
77
66
44
60
62
42
78
32
53
50
61
45
60
51
36
56
70
28
71
45
48
76
72
78
93
41
78
56
91
74
73
81
60
85
84
55
61
82
38
71
45
26
68
46
55
68
51
67
86
40
40
41
60
53
43
78
54
55
66
48
78
65
50
95
75
60
45
40
23
42
78
30
62
92
101
80
49
50
61
67
54
29
35
46
69
33
78
62
60
59
67
51
67
96
54
40
58
32
48
80
94
54
67
36
64
58
37
62
67
34
80
97
83
85
109
91
46
61
101
85
75
52
67
54
60
52
36
64
68
102
46
76
44
87
64
70
77
47
91
98
50
61
69
74
83
54
60
92
76
67
72
56
68
68
38
78
96
73
72
66
67
53
82
52
74
42
62
85
47
59
80
104
57
64
80
69
56
69
27
66
94
51
35
56
44
73
41
56
76
44
56
80
68
86
54
88
69
37
81
29
58
64
55
100
78
45
53
38
40
96
68
111
47
52
85
76
84
46
40
60
59
59
37
72
76
53
35
61
44
31
86
51
77
81
51
50
37
47
54
52
88
62
59
84
43
54
86
73
62
37
69
51
53
60
35
63
76
70
45
32
54
63
56
29
96
39
47
61
55
65
70
48
83
77
87
69
61
40
101
64
57
67
62
48
42
80
44
81
94
69
64
77
65
33
22
83
73
57
61
48
94
25
51
57
72
85
113
93
95
79
49
74
19
95
44
52
33
39
49
48
56
57
72
56
61
96
53
60
50
55
108
59
55
51
42
63
70
36
85
64
79
62
62
67
83
57
46
100
28
44
61
59
54
56
48
57
47
63
78
55
67
41
54
80
65
91
105
95
45
41
85
61
46
55
73
35
75
50
68
67
38
41
42
131
70
86
98
56
96
19
54
44
51
59
50
48
79
68
90
39
37
59
64
74
79
74
52
49
73
64
42
36
47
76
96
71
54
101
41
71
43
79
86
48
45
69
75
50
37
26
53
74
35
59
57
58
33
75
77
63
68
59
96
62
72
31
44
39
72
89
70
98
76
104
93
74
83
102
67
78
98
82
72
77
35
46
66
78
35
66
54
104
30
59
57
34
24
60
77
36
66
59
55
122
76
51
53
88
43
87
71
60
66
55
79
33
65
48
42
41
45
65
40
94
38
46
53
76
68
63
56
73
52
38
55
46
64
56
72
81
36
84
33
59
56
67
40
70
81
88
75
80
43
24
64
28
58
52
63
59
47
73
46
80
52
22
95
65
59
54
136
49
59
86
73
78
62
42
58
39
65
50
52
51
72
89
63
72
28
64
39
77
60
51
33
68
57
41
70
71
74
78
51
39
59
43
98
71
89
43
40
46
38
59
62
92
89
69
79
78
81
38
56
57
59
63
60
82
71
48
70
63
59
51
51
48
52
47
34
73
68
38
60
79
73
68
67
48
53
107
40
29
68
51
79
120
40
62
49
61
45
51
37
61
58
60
61
49
73
79
77
49
60
82
78
62
110
47
56
77
72
62
55
62
88
83
71
73
50
64
79
73
54
76
33
53
58
58
55
61
37
43
90
58
53
82
43
48
29
36
75
66
76
75
39
64
63
66
84
75
63
45
40
61
39
49
59
66
119
50
34
72
48
113
59
69
75
66
50
63
69
46
60
56
72
68
71
65
91
62
43
23
65
72
56
77
82
69
36
41
51
31
48
63
55
53
69
100
53
57
44
51
65
101
32
43
65
74
45
73
71
40
40
30
64
94
75
50
51
48
59
62
63
58
46
57
86
64
72
39
59
77
63
55
82
103
79
83
80
36
46
36
93
72
56
80
76
58
55
54
70
70
93
34
57
72
62
26
59
47
45
46
57
81
45
48
76
56
55
55
76
35
34
78
30
34
47
86
72
59
73
42
83
68
27
60
73
30
74
94
71
79
70
24
65
57
79
67
47
76
52
62
75
62
64
117
55
71
46
92
35
66
48
56
48
36
41
44
53
48
43
54
53
55
73
75
50
67
61
49
62
50
115
31
46
61
74
37
66
60
88
81
83
52
39
71
45
55
52
74
74
41
83
46
36
54
70
65
56
52
33
81
40
42
36
49
52
53
87
53
77
82
71
49
52
28
59
53
66
38
66
64
57
55
71
65
44
63
59
74
68
93
77
90
30
36
95
34
64
78
66
63
76
84
55
47
91
101
121
45
63
44
89
75
55
38
45
25
60
89
32
59
81
67
83
43
62
75
63
67
45
57
75
63
72
76
151
75
43
74
74
62
86
27
34
89
60
46
53
94
55
31
52
55
35
54
87
78
51
63
48
60
46
42
65
71
70
42
56
89
48
45
38
69
59
56
101
63
61
64
66
80
66
80
77
126
76
78
70
31
43
74
47
67
70
90
61
72
64
65
52
28
69
53
60
55
37
44
55
20
53
55
60
91
44
90
62
70
52
55
54
80
76
94
73
54
43
48
62
55
76
85
81
32
39
62
118
90
27
91
78
93
54
106
78
54
42
62
77
52
52
66
60
30
55
57
47
64
40
55
73
52
59
52
46
75
66
45
41
55
53
67
57
58
52
36
56
49
50
76
63
77
53
40
67
58
44
95
24
66
91
90
46
85
59
86
43
81
69
56
55
45
71
55
72
69
79
69
48
73
73
88
39
58
82
32
86
55
53
77
107
52
59
95
35
62
41
58
51
25
99
37
84
31
63
90
71
55
117
46
81
81
78
48
48
65
70
35
41
89
93
40
59
41
68
41
43
37
90
41
69
70
93
32
53
53
42
72
66
68
45
44
103
82
63
47
47
75
72
40
76
37
67
34
43
82
90
73
60
45
33
77
64
51
47
51
32
33
39
64
60
78
56
54
37
58
46
63
58
43
78
40
46
90
41
98
74
40
86
86
42
34
78
80
41
56
58
49
74
63
58
54
89
42
60
76
45
45
82
81
47
58
31
42
69
64
40
62
46
48
82
32
56
63
59
60
68
130
41
65
76
49
53
56
53
59
56
53
31
54
46
47
61
82
67
51
38
80
75
53
60
67
71
35
77
41
106
59
82
59
79
62
41
77
63
51
75
44
81
76
90
50
34
61
63
64
25
80
64
62
75
54
41
71
83
61
49
60
46
124
45
55
47
73
68
70
30
39
49
46
36
88
46
43
73
53
32
57
75
57
43
37
27
78
46
45
40
55
49
54
38
45
66
74
42
35
61
57
49
68
41
55
70
73
90
67
59
52
82
62
56
83
44
27
63
54
43
64
45
71
65
75
47
83
41
125
31
74
77
57
78
33
50
58
40
74
31
36
67
77
46
37
103
67
57
75
54
79
36
52
40
50
60
38
84
44
70
40
47
69
27
30
80
72
75
39
93
89
62
69
65
37
50
62
63
56
37
56
33
65
49
42
85
31
64
58
100
63
104
65
63
52
59
87
70
90
74
56
35
49
92
85
77
79
50
91
74
42
67
48
64
42
55
64
43
75
40
65
42
107
36
56
96
62
56
52
65
47
44
56
51
72
118
74
44
33
67
36
46
66
84
125
64
79
69
67
59
72
74
27
57
54
74
67
79
59
56
70
48
65
82
62
76
50
67
112
59
79
46
77
51
35
48
78
76
94
26
66
96
59
69
56
64
45
57
54
93
39
69
64
114
71
50
36
74
98
58
131
34
43
57
73
54
57
80
69
68
64
67
58
55
50
50
72
56
63
54
58
82
52
81
52
62
63
92
68
35
71
49
72
69
47
102
25
80
121
61
79
59
45
66
71
41
82
62
56
50
75
86
87
52
54
78
38
58
51
80
66
53
67
47
47
74
47
52
70
68
46
69
34
51
36
83
59
65
75
59
53
54
38
64
101
31
59
64
54
53
37
58
68
55
71
46
76
67
56
66
46
78
47
62
36
61
96
69
95
83
42
53
60
52
56
77
53
67
59
30
80
54
58
38
59
42
33
49
128
44
84
52
46
56
94
36
60
71
77
93
71
87
56
49
47
85
70
64
67
65
60
37
42
38
85
66
45
42
42
35
61
59
59
46
72
101
104
71
57
52
37
42
74
89
66
40
89
48
51
63
73
72
45
40
76
82
54
49
72
55
42
48
52
118
41
76
84
74
57
87
81
35
100
63
84
58
50
81
65
46
57
62
72
67
60
73
85
82
57
20
82
76
56
67
30
42
76
86
96
40
97
35
88
27
26
62
47
66
54
49
62
64
52
70
44
64
59
41
23
54
61
60
63
40
56
49
55
58
60
68
77
71
38
55
66
65
79
42
102
53
66
114
83
128
68
35
57
61
31
57
69
35
70
100
50
66
49
29
56
69
63
34
61
34
110
50
88
45
57
53
53
39
63
47
88
74
36
54
60
89
80
45
31
59
89
79
58
62
62
36
51
61
87
85
98
38
54
88
79
36
58
51
40
72
41
49
74
67
63
78
81
58
65
46
86
55
53
43
121
36
49
59
58
69
56
79
47
71
73
45
64
47
58
27
63
79
61
69
35
56
48
64
74
43
79
35
73
39
64
50
56
39
56
42
70
66
39
69
83
72
52
55
66
78
60
78
60
90
45
65
91
53
104
51
61
58
73
38
64
68
44
37
62
64
97
98
49
74
56
61
66
60
86
93
70
78
49
50
38
69
55
60
49
89
65
82
72
44
79
90
71
58
62
49
75
59
64
87
44
40
53
33
63
108
41
76
63
66
82
39
101
67
50
46
60
33
54
26
89
70
68
81
56
30
83
40
81
32
58
55
51
88
46
118
87
43
41
91
96
60
53
77
34
74
85
101
62
64
52
65
68
52
58
43
45
57
51
81
41
77
79
63
79
30
79
64
131
55
90
49
36
66
47
29
37
32
58
108
59
46
52
70
57
51
78
43
71
70
62
53
112
57
89
109
105
90
50
39
37
71
77
34
94
59
41
57
52
92
97
67
38
78
51
67
74
47
74
65
48
67
55
52
99
46
69
65
83
110
87
43
37
82
100
80
60
64
72
47
44
86
75
62
58
95
65
38
68
67
76
72
55
126
37
32
60
88
34
49
63
55
51
28
65
75
43
92
46
86
59
125
106
56
89
82
117
62
49
60
64
56
94
51
53
56
67
65
64
62
99
87
64
48
58
76
82
37
92
58
68
91
37
36
66
44
84
77
57
50
56
105
60
82
24
36
57
69
56
63
66
62
29
34
95
74
64
47
61
73
43
79
64
62
46
52
40
64
52
23
47
27
69
74
71
101
99
76
73
93
75
58
42
70
52
102
52
41
55
43
68
73
65
68
57
54
60
62
65
82
52
75
50
58
70
57
27
51
42
60
92
48
70
79
77
97
71
50
63
30
71
58
63
59
71
59
60
28
48
41
48
49
52
67
58
53
60
40
70
46
35
99
40
48
47
48
57
84
40
66
71
57
50
81
57
32
56
94
83
68
58
65
76
69
64
53
42
42
73
42
46
56
84
30
148
59
38
51
67
48
47
50
87
50
67
30
73
85
58
79
58
63
60
60
93
46
45
50
77
50
47
56
118
50
99
79
53
59
59
52
72
37
54
37
57
57
62
62
47
75
63
51
57
47
49
71
49
28
46
62
52
32
32
60
82
86
43
50
57
68
46
59
48
91
123
101
29
53
72
62
68
61
40
68
51
62
58
69
39
57
44
73
61
61
98
65
112
46
98
132
58
92
85
100
32
73
74
61
59
47
44
53
39
61
112
64
46
61
34
47
109
68
66
91
59
78
75
45
81
56
58
44
49
51
43
43
83
74
50
37
46
48
73
73
64
57
77
54
50
59
96
53
70
65
62
115
43
57
37
38
76
43
57
66
58
45
73
82
71
64
63
80
39
74
104
43
49
73
65
87
44
35
43
64
76
99
96
35
57
74
77
50
52
51
83
66
75
47
84
50
79
67
68
90
38
46
73
86
64
70
73
54
86
56
90
70
40
62
67
54
50
49
80
69
59
62
64
34
79
65
48
64
39
81
49
83
49
35
24
76
92
61
58
69
62
96
72
53
108
51
69
66
51
59
42
67
74
77
60
60
55
54
77
94
74
76
63
75
52
33
47
33
104
39
47
63
107
53
81
87
34
42
69
38
51
68
73
45
52
40
51
79
38
54
37
43
41
33
68
38
42
68
82
110
47
66
83
43
70
60
62
80
57
56
40
90
46
52
56
62
69
37
62
37
46
88
96
53
24
60
77
43
60
84
67
38
43
40
31
94
43
43
83
56
81
70
44
35
83
74
79
50
91
82
62
39
62
51
39
58
62
50
80
51
99
41
88
76
50
45
29
50
67
62
41
41
88
106
46
47
82
55
73
46
60
73
30
76
68
102
71
65
44
98
43
65
71
34
72
65
45
54
92
67
43
73
69
79
33
63
45
72
63
88
71
50
52
79
36
54
65
38
81
87
40
53
66
86
47
51
40
59
43
59
67
72
56
54
37
102
59
60
41
52
85
74
70
96
24
67
66
68
50
50
61
43
29
87
66
39
45
48
62
70
30
46
84
65
63
73
77
79
38
59
115
60
61
61
85
84
53
50
57
83
85
67
117
80
65
47
48
43
116
86
90
44
62
91
71
41
70
62
67
47
41
53
32
88
80
85
58
37
87
71
88
55
98
54
67
38
35
36
78
42
61
55
64
48
29
43
72
38
45
31
72
60
47
55
68
85
45
64
44
40
52
39
63
152
92
66
35
53
71
63
67
60
102
65
66
71
56
68
46
28
117
68
49
75
79
47
55
80
81
84
65
73
77
60
67
35
55
48
74
103
75
34
35
50
64
56
56
76
40
41
116
43
90
87
61
109
79
42
78
86
65
43
44
93
86
35
48
36
63
50
57
40
71
56
62
69
39
88
68
57
52
51
68
83
70
57
65
60
64
33
75
85
77
41
60
59
41
89
114
79
52
40
84
75
38
86
45
82
93
69
56
41
65
35
81
86
46
48
52
62
82
70
72
71
70
93
45
53
74
79
76
63
66
33
27
76
54
55
59
82
48
48
30
24
35
56
64
71
43
76
72
35
46
87
44
110
50
59
77
41
56
47
54
53
58
72
56
65
65
49
102
69
57
43
32
48
47
81
71
66
39
26
43
37
78
59
49
59
86
53
66
35
39
59
66
81
81
79
51
61
93
68
47
67
54
30
64
35
30
87
64
60
34
54
69
53
41
73
53
64
60
44
59
79
78
84
48
65
76
38
56
42
54
138
66
50
56
53
55
50
81
85
59
84
75
49
52
71
58
59
48
77
43
92
81
58
91
51
81
88
71
53
77
61
54
79
115
40
45
72
72
53
33
34
58
54
50
68
65
60
80
48
73
52
64
54
85
55
30
37
85
49
43
57
49
64
60
79
55
64
66
80
39
77
74
56
58
57
61
68
92
32
35
44
68
26
77
78
27
85
50
69
53
74
56
39
60
79
67
50
39
47
62
65
79
69
92
59
38
43
70
99
84
27
61
39
74
63
54
80
50
78
49
55
118
42
55
65
25
78
50
46
73
51
47
45
53
87
52
75
120
61
64
75
58
56
63
36
55
62
48
40
82
44
81
82
65
50
54
72
34
48
39
36
65
82
33
106
57
45
32
55
30
53
47
61
77
60
104
82
78
63
53
66
54
54
54
84
52
61
60
83
51
61
32
46
54
39
49
52
54
50
57
37
73
67
33
59
36
33
63
46
96
70
75
37
90
66
45
68
62
44
55
74
62
82
92
41
124
55
91
95
42
56
50
79
50
65
71
68
40
27
52
56
46
86
71
48
91
59
101
70
41
52
48
52
119
72
62
57
50
60
60
51
75
43
54
62
85
64
54
69
64
43
96
62
61
39
81
55
82
38
28
75
45
70
77
77
61
55
54
80
36
36
88
89
82
54
33
79
107
76
94
30
34
30
35
41
25
132
43
62
75
38
69
44
102
94
83
36
101
51
56
39
62
60
54
28
63
55
85
34
72
60
63
87
72
58
70
94
69
53
47
84
34
39
67
76
77
56
31
70
70
40
56
43
32
78
57
56
38
63
58
56
50
48
72
77
70
54
61
74
49
41
82
33
83
81
96
62
57
92
50
63
73
61
63
47
61
66
49
57
98
98
61
138
51
78
53
96
80
55
73
80
22
74
63
41
57
75
85
85
68
37
60
61
33
41
51
51
47
59
47
30
73
31
96
52
51
34
45
57
70
103
55
124
62
62
59
44
54
72
72
58
41
68
128
52
67
97
65
63
77
94
48
87
61
54
63
77
75
122
70
59
77
62
47
60
55
50
58
64
70
75
78
40
106
99
79
48
99
23
51
80
89
38
32
78
47
56
120
78
43
50
67
78
61
98
56
51
34
46
69
49
73
58
50
39
68
65
42
36
94
65
56
96
79
71
76
57
38
71
44
54
95
66
83
35
33
56
74
72
52
57
82
54
54
26
88
93
68
49
56
59
89
47
73
61
47
56
71
38
65
75
45
60
77
44
36
72
46
33
83
57
54
63
62
67
60
48
65
29
51
53
81
70
97
42
38
77
56
58
54
66
75
54
55
38
51
51
51
71
39
66
79
66
55
92
50
72
111
34
77
32
70
35
60
49
68
44
53
58
70
73
93
44
54
48
30
46
39
37
93
40
60
29
55
60
46
77
46
66
79
29
72
77
57
47
102
66
74
51
45
57
51
59
69
62
95
82
61
63
87
28
54
81
54
66
53
70
142
65
48
67
80
42
68
46
57
56
51
49
31
34
77
35
67
86
77
42
104
93
62
60
34
59
34
70
70
35
43
100
31
46
86
61
45
95
29
41
58
90
51
55
74
53
38
79
83
81
47
80
49
81
50
48
68
56
69
74
68
29
72
32
112
25
87
45
40
72
53
107
80
85
76
44
54
39
76
58
76
82
30
130
68
94
41
58
75
27
63
47
34
74
105
74
70
25
43
78
41
69
58
37
66
79
50
81
62
65
54
90
83
81
48
39
57
84
62
76
61
75
68
58
42
47
57
69
38
59
73
66
78
71
81
82
39
72
50
46
50
65
69
74
55
51
59
68
38
55
43
52
60
80
56
58
70
75
44
58
44
72
39
52
51
40
51
89
30
93
55
90
63
49
80
36
64
64
71
67
60
52
55
72
74
113
75
59
30
70
61
67
60
55
106
88
57
110
55
62
79
42
77
71
38
67
73
66
42
71
50
69
59
48
36
41
54
66
56
88
65
22
53
120
32
46
57
74
64
88
52
69
39
91
69
26
33
61
78
77
73
86
93
112
71
62
94
45
59
57
68
76
46
43
58
47
115
75
54
71
30
51
55
45
78
67
42
39
76
63
39
44
66
74
30
31
59
71
70
77
49
61
51
48
73
64
125
104
105
79
47
57
102
72
49
66
66
56
62
89
47
102
72
56
71
81
104
86
65
40
72
69
62
94
84
65
76
37
81
62
48
81
66
62
60
82
61
37
84
78
58
73
39
73
46
72
94
69
47
41
77
50
48
28
25
93
67
71
86
69
74
52
41
59
77
73
50
69
48
81
32
50
39
89
69
60
85
44
53
66
75
53
68
52
52
41
53
69
93
76
58
47
70
62
80
42
56
71
43
49
64
50
77
50
55
78
68
58
63
84
59
57
58
65
83
47
39
64
70
35
55
65
54
73
81
66
66
78
76
89
49
65
35
59
47
52
49
45
44
53
59
57
78
49
103
49
59
60
53
84
69
40
92
52
54
78
59
65
62
77
60
80
75
91
60
50
53
61
39
54
34
57
53
62
61
34
35
45
50
63
32
42
26
48
23
71
44
71
75
42
73
50
27
56
76
61
57
45
75
51
55
53
23
50
49
70
42
78
72
62
77
56
73
90
50
88
59
54
41
68
86
90
26
61
75
67
71
54
48
93
67
34
55
91
68
96
31
42
45
34
71
74
33
89
82
51
53
118
49
40
95
87
121
66
56
29
60
92
58
65
88
82
53
38
36
56
70
58
82
44
30
57
48
36
67
65
46
46
78
57
86
44
50
88
43
51
63
78
47
70
49
83
84
103
29
54
70
60
112
96
58
68
56
73
93
58
41
75
55
95
88
41
48
81
27
68
45
67
73
46
60
65
61
49
45
60
62
34
80
45
87
89
78
57
47
61
53
64
60
45
93
71
36
77
80
30
50
67
53
64
72
74
51
74
40
87
68
88
58
86
21
52
80
55
66
55
67
39
73
53
44
74
40
74
56
104
44
72
65
35
74
40
65
87
34
35
60
52
79
59
62
56
58
37
53
56
105
69
94
76
45
41
85
49
40
37
67
54
78
76
42
81
100
53
56
47
70
60
45
79
45
49
78
88
61
57
68
84
55
53
71
61
50
47
43
37
78
51
73
74
78
52
76
59
32
90
42
77
75
42
42
36
53
49
64
72
32
79
70
59
81
28
53
65
80
90
47
58
38
37
49
82
54
58
63
72
67
120
64
47
43
63
66
58
54
36
51
71
62
51
35
87
131
30
62
86
80
64
77
54
45
73
66
55
59
56
51
50
60
53
57
37
66
50
38
66
63
35
93
56
128
54
64
46
92
74
42
59
54
66
67
56
31
58
71
85
57
57
53
41
75
66
66
60
70
73
117
94
60
76
77
63
61
54
76
79
72
57
52
103
61
61
38
81
45
69
58
51
66
73
31
62
55
87
65
95
57
65
91
48
55
40
72
80
81
75
68
57
49
45
71
73
50
74
79
43
52
69
76
62
81
54
38
48
68
48
52
22
78
69
50
73
93
81
90
28
47
63
47
46
129
81
42
37
65
48
39
38
48
85
71
56
59
85
34
84
76
62
64
60
66
48
45
27
77
56
47
44
27
82
65
49
45
46
71
83
65
45
34
50
44
28
46
52
87
59
34
51
140
61
41
73
62
90
79
59
59
53
66
57
48
132
74
33
59
47
56
115
53
71
58
47
77
58
73
64
37
34
68
53
51
55
48
54
46
37
71
59
107
51
96
69
47
101
19
44
58
92
45
81
42
53
39
41
50
43
53
41
55
83
35
66
53
44
55
65
25
58
48
72
51
46
52
55
58
56
48
36
46
34
71
58
67
76
45
65
82
78
42
71
84
71
58
57
66
38
58
27
39
66
64
66
23
56
80
65
59
66
75
65
52
48
49
80
45
78
91
66
55
58
85
104
63
60
53
57
53
61
56
92
45
46
31
39
50
70
66
75
61
56
73
68
95
83
71
55
31
40
28
59
56
58
98
45
83
111
47
81
59
47
72
38
66
71
56
67
52
72
45
33
76
37
42
60
98
79
62
87
50
69
99
52
42
56
45
66
62
58
71
49
47
42
43
34
64
80
30
61
46
66
49
72
38
48
80
53
66
71
45
59
73
85
46
46
46
95
104
59
50
52
70
88
31
50
78
71
64
31
55
59
67
55
63
72
81
74
50
33
54
89
38
71
57
98
49
57
69
85
81
78
28
59
46
60
72
51
38
54
67
64
59
104
52
63
48
71
81
104
62
59
57
67
85
79
79
57
67
40
41
77
75
63
80
49
26
27
50
39
49
75
44
59
48
83
65
51
65
65
65
107
78
41
108
55
86
82
39
39
30
45
106
65
37
34
45
41
76
51
49
51
55
49
81
39
40
57
31
74
28
71
53
118
39
97
32
44
101
55
62
76
41
95
49
63
117
90
67
79
48
65
67
51
79
45
57
51
63
41
47
74
67
92
61
80
76
95
66
58
51
74
133
49
33
75
62
35
59
65
50
62
63
55
67
57
76
49
72
74
56
56
74
46
54
59
53
70
54
28
54
51
61
38
78
26
106
56
50
53
39
101
68
38
65
68
68
55
74
75
77
37
80
74
94
80
38
70
26
79
77
84
63
71
55
75
76
96
61
26
71
121
34
71
62
46
41
54
64
48
65
35
49
79
73
58
49
80
72
70
47
52
58
35
73
75
55
51
81
62
54
61
26
42
22
93
76
62
70
50
66
56
88
72
64
51
70
67
36
123
60
67
54
90
62
30
78
49
70
69
40
96
33
60
75
73
81
78
39
37
23
64
62
60
73
34
46
65
55
54
50
68
111
43
53
31
27
57
62
56
46
65
46
100
52
58
65
48
36
26
103
68
82
75
49
68
78
77
72
74
90
34
64
104
40
93
86
55
60
42
67
45
30
58
62
55
64
64
83
55
81
114
46
53
114
32
49
46
78
42
31
53
71
86
72
35
64
60
32
95
37
59
41
69
36
71
35
33
78
81
83
25
56
38
65
43
80
73
52
75
42
52
38
79
50
88
101
63
33
79
92
62
63
59
56
52
38
57
55
92
65
36
49
43
63
103
42
63
42
68
91
56
60
61
53
47
45
82
77
74
67
63
30
51
101
34
39
66
102
59
44
65
57
31
34
63
57
104
73
53
45
81
84
59
72
50
64
83
61
56
81
60
98
56
77
60
51
43
37
68
50
31
69
65
64
81
65
56
64
59
67
61
74
53
61
87
96
58
59
95
45
42
50
89
61
127
57
65
60
43
65
57
30
31
79
54
53
62
64
68
44
38
100
75
111
29
56
56
80
99
45
78
75
68
55
62
59
48
103
41
46
71
48
80
69
42
54
56
57
69
41
51
64
47
65
72
84
75
60
68
43
81
56
36
101
41
26
69
64
60
47
40
60
63
70
60
51
47
89
67
65
58
65
35
54
40
82
69
56
80
31
61
26
64
71
54
82
69
76
59
81
74
57
50
56
60
98
47
52
46
51
33
53
168
72
68
81
39
61
44
66
48
49
72
77
61
53
41
64
78
50
48
56
57
74
44
69
32
40
46
48
28
48
60
42
58
64
29
85
53
66
53
57
74
80
39
43
45
69
61
35
51
80
57
80
67
73
68
41
41
25
54
60
59
84
100
90
65
57
55
58
72
60
117
82
67
49
105
66
31
54
66
70
62
45
27
75
55
64
47
33
68
65
83
80
80
40
57
46
78
45
71
48
51
66
150
61
84
51
101
77
98
54
45
71
74
49
47
113
60
73
43
34
66
56
84
75
53
62
60
85
75
101
63
68
70
48
80
51
59
92
66
78
32
53
101
45
67
64
37
34
55
77
39
64
79
59
66
78
92
81
36
52
89
77
55
67
71
72
57
58
46
68
53
69
25
66
97
71
53
59
42
73
60
49
106
90
41
32
37
97
81
68
46
53
51
57
88
65
72
64
74
96
60
87
73
58
98
47
51
22
69
86
53
66
58
62
55
90
46
74
54
67
50
38
48
24
63
55
63
49
55
43
46
89
52
89
65
47
52
132
72
36
74
52
74
64
40
68
69
55
57
55
47
63
66
44
52
53
47
46
63
82
65
42
72
64
71
43
49
73
52
37
63
42
91
58
34
75
58
77
44
54
83
64
69
79
158
82
73
73
58
53
40
66
44
51
89
60
54
85
29
94
35
39
57
73
69
42
66
59
61
71
91
69
71
62
115
67
93
47
38
63
41
75
37
57
67
65
77
78
90
49
72
32
89
39
27
91
74
73
72
79
67
49
82
41
42
51
55
59
62
46
88
43
81
98
50
77
69
64
24
47
40
81
64
73
99
50
50
50
55
49
45
79
70
67
51
51
48
43
69
93
50
141
50
56
74
52
95
83
53
44
67
51
57
30
59
53
52
63
77
71
63
81
55
34
56
63
88
74
89
86
37
79
48
65
74
61
72
44
47
62
53
72
64
69
60
59
58
94
89
46
38
54
43
64
113
81
109
74
39
45
38
54
60
53
50
63
77
60
95
41
138
43
60
36
39
54
68
78
26
71
27
56
52
53
43
69
57
70
36
44
82
56
61
54
60
60
55
60
49
65
77
43
56
56
56
84
49
108
76
56
82
38
59
68
72
55
54
59
77
48
65
70
53
66
93
89
39
59
58
64
61
73
50
22
38
51
58
47
104
46
51
58
43
71
64
61
79
39
27
91
67
37
70
49
73
68
48
75
68
84
96
34
72
60
62
39
65
90
42
59
44
53
37
66
66
71
65
44
62
50
46
55
52
44
62
37
60
39
54
47
27
48
61
63
40
79
57
67
45
59
53
62
58
41
39
73
59
41
59
84
74
36
69
84
74
65
57
43
100
39
61
40
56
66
67
70
35
78
39
71
71
26
66
59
51
49
123
78
71
67
66
63
48
31
88
77
85
67
38
67
76
63
47
44
83
64
43
47
68
47
59
34
73
33
42
39
47
51
77
54
62
94
37
54
53
59
64
53
57
39
63
52
72
53
71
44
63
31
49
80
50
31
84
60
31
79
69
34
75
64
55
60
69
36
55
54
34
64
46
93
70
83
75
45
66
42
60
53
88
37
64
57
58
57
61
47
86
85
27
31
67
59
60
86
58
75
52
69
51
84
64
57
74
47
41
86
64
68
57
64
58
43
61
53
84
60
56
55
81
69
80
83
53
41
49
32
65
64
94
62
63
91
59
45
96
46
75
61
50
68
69
48
83
71
41
75
52
63
51
71
67
68
44
79
79
41
49
63
39
75
37
70
76
63
120
72
55
51
56
60
75
49
43
76
56
58
65
62
57
61
78
48
72
49
51
57
86
68
46
31
40
38
45
80
62
51
50
60
59
122
67
61
140
74
61
71
84
47
82
48
67
22
48
63
61
48
84
57
93
75
43
76
72
59
44
129
54
51
59
48
111
75
42
104
61
132
87
60
61
78
59
99
69
56
44
77
67
65
84
65
46
74
73
39
87
45
86
59
69
64
34
85
87
78
53
61
68
75
54
62
35
77
57
46
52
60
57
86
43
60
71
56
74
55
103
63
59
51
67
50
43
55
72
67
64
41
104
65
60
109
80
49
59
78
77
50
50
72
71
42
102
34
71
66
64
70
56
101
106
59
52
26
65
60
161
45
74
39
26
45
73
67
51
68
40
94
83
63
63
46
48
51
35
87
49
67
40
36
58
40
90
58
28
65
77
66
73
57
58
79
62
57
39
120
74
58
64
111
82
87
29
54
54
75
90
77
25
38
36
51
63
48
87
28
87
53
75
55
72
49
64
45
60
61
66
51
72
45
97
46
33
105
73
64
63
69
63
49
50
56
82
68
55
40
48
70
82
64
59
60
64
75
98
69
63
79
35
83
58
42
64
37
75
80
61
87
54
39
60
87
40
75
20
59
64
60
51
72
81
55
68
31
50
103
58
54
65
85
56
25
70
132
40
49
58
92
106
50
62
48
61
36
66
79
37
64
30
91
71
36
49
71
56
57
48
55
79
54
68
65
58
44
59
38
61
96
48
79
51
72
66
65
104
53
75
65
82
53
43
45
72
86
45
90
46
50
115
62
33
60
42
79
45
82
35
56
39
50
34
59
84
57
48
54
75
65
88
108
62
50
88
48
67
65
48
43
33
69
74
79
69
55
64
42
43
73
77
36
47
63
106
65
134
49
49
36
59
82
62
61
76
78
99
50
56
71
67
32
75
51
39
55
77
39
74
37
46
45
66
68
69
60
65
52
68
55
64
63
53
39
26
55
67
91
49
79
71
55
54
117
49
38
39
91
105
81
46
103
49
78
51
59
51
40
51
64
41
74
54
51
60
47
84
94
70
60
86
57
68
43
68
69
70
89
46
85
64
49
75
53
62
52
46
59
86
49
65
17
36
58
49
62
58
56
73
90
40
68
59
67
50
52
49
56
82
44
58
62
68
60
74
43
68
48
43
62
43
42
43
32
50
49
62
56
75
80
81
58
40
50
40
41
45
98
38
97
42
47
78
43
89
72
64
79
63
58
48
31
41
68
86
64
42
64
45
77
72
132
24
52
63
61
49
82
81
63
86
26
55
59
46
46
59
73
69
67
60
43
38
49
75
92
82
49
56
61
59
30
83
72
44
63
80
93
53
57
37
60
95
58
43
69
79
45
54
48
74
118
49
60
76
73
67
83
97
95
65
84
49
28
60
43
66
64
45
73
83
58
44
77
44
37
74
54
65
51
75
54
73
56
52
43
67
52
63
56
76
53
56
48
38
79
77
68
104
63
92
62
55
44
65
65
67
52
51
50
75
33
42
44
31
24
39
63
91
54
96
71
62
62
63
65
138
63
54
42
71
74
32
42
38
52
40
56
79
84
59
121
93
47
47
65
63
64
64
84
77
32
50
54
80
56
47
66
83
102
52
53
65
79
43
63
92
68
68
72
34
66
60
49
48
71
61
47
60
64
83
79
49
51
60
59
59
50
82
49
55
99
75
112
37
65
75
33
67
67
87
82
60
86
110
62
88
73
62
85
65
75
40
37
83
53
62
72
60
59
56
93
45
86
60
43
75
58
63
33
76
58
59
48
57
84
39
55
51
43
52
48
52
65
50
84
52
72
60
71
81
66
16
32
65
40
76
46
45
50
84
78
52
42
49
41
82
58
53
82
47
67
57
50
78
69
54
80
58
59
51
49
96
44
54
39
55
60
39
75
44
78
40
71
32
44
57
56
64
93
45
62
101
67
92
85
77
54
54
32
58
59
73
47
52
59
64
64
61
102
64
123
87
74
58
75
50
41
45
106
39
50
66
58
83
53
84
39
58
45
77
38
98
77
62
40
83
66
62
86
46
76
64
35
63
45
59
57
56
67
40
47
83
57
65
57
90
76
68
88
55
73
53
45
63
76
65
36
46
60
92
73
58
43
31
87
59
41
88
80
63
50
53
57
114
63
36
53
44
68
58
33
45
50
73
20
67
44
68
71
71
45
42
39
90
24
82
58
63
47
64
52
114
61
71
79
74
67
100
47
73
57
52
76
42
52
76
56
59
81
78
114
102
60
46
101
83
60
46
49
70
64
128
58
78
69
74
68
61
70
70
49
70
88
77
49
33
81
35
89
94
65
43
53
64
60
83
51
54
89
61
35
120
34
86
92
33
40
80
28
65
37
94
54
57
36
85
25
59
61
80
29
32
45
68
33
60
60
33
65
89
88
59
46
61
33
66
103
55
73
61
65
61
52
109
78
67
48
50
46
59
55
47
51
57
25
83
54
57
47
63
42
40
50
52
48
67
51
76
26
58
36
56
87
61
71
53
43
50
64
72
41
82
93
41
46
52
87
65
62
79
74
127
61
77
63
66
42
59
62
85
39
56
49
39
85
44
72
31
35
83
70
96
56
52
58
73
100
57
66
44
35
62
91
53
46
33
58
64
50
31
57
113
95
62
41
55
43
76
38
68
70
41
80
63
54
57
70
25
35
61
107
58
55
52
55
39
88
42
51
65
43
53
47
60
56
71
82
29
45
47
63
93
67
40
57
41
59
41
78
96
80
83
72
47
50
43
49
53
78
41
56
136
34
56
57
84
20
70
81
57
58
98
53
64
91
37
85
52
59
24
61
80
40
84
78
73
46
57
30
65
85
55
64
76
83
79
52
36
69
36
37
84
56
78
40
41
69
46
68
106
71
49
48
49
89
45
54
63
74
32
58
71
83
39
52
73
43
71
68
75
53
24
47
32
99
73
56
91
60
37
50
63
53
41
41
75
16
64
95
121
48
54
95
97
56
48
61
53
80
72
40
49
61
102
87
51
44
57
104
40
76
48
91
26
60
57
94
71
63
51
43
90
78
60
64
36
61
35
60
69
75
73
65
49
60
49
52
52
42
89
64
56
65
83
73
44
64
50
49
56
85
61
91
72
44
60
54
37
61
66
69
60
77
86
64
75
48
57
51
54
49
33
76
62
62
33
61
75
45
59
135
53
68
59
34
54
89
106
102
72
58
66
31
39
46
55
42
40
102
42
62
51
46
54
52
38
60
66
41
73
104
97
43
77
72
55
49
63
45
56
74
64
56
97
78
39
32
79
67
58
55
29
38
56
93
92
43
48
57
57
41
72
44
90
77
74
63
81
57
49
63
27
131
75
76
38
52
98
66
78
75
103
60
73
57
69
63
43
57
61
100
56
67
80
67
66
41
53
39
63
116
76
62
53
69
42
64
87
79
63
45
54
85
59
93
56
70
53
65
50
70
84
74
82
57
43
86
79
33
68
75
69
63
42
47
47
49
83
74
65
46
44
102
40
43
53
62
93
79
56
33
59
63
62
73
50
63
61
57
78
52
49
19
56
64
106
65
43
45
73
62
88
92
69
66
57
97
29
83
64
86
88
35
102
77
61
96
69
41
50
31
42
52
58
75
65
52
55
84
101
59
59
33
36
64
36
66
41
38
49
58
62
70
30
60
70
87
74
100
52
62
69
62
39
101
48
88
64
85
49
68
74
109
64
59
63
76
59
46
71
58
56
68
72
36
67
48
82
64
90
58
60
91
67
66
83
68
78
65
59
107
72
39
82
62
72
98
83
70
59
33
65
59
87
86
50
102
34
52
49
40
61
75
50
56
45
85
45
56
73
73
100
88
34
28
98
56
56
53
39
46
67
71
49
61
89
54
59
87
48
28
45
65
62
60
80
47
53
42
85
96
42
75
64
63
86
45
53
52
23
61
57
39
57
65
66
66
42
71
44
84
74
33
52
66
55
61
85
75
83
79
91
45
85
43
40
74
84
53
79
86
67
41
41
65
85
44
61
90
34
48
56
66
29
91
73
66
55
45
71
68
43
92
89
64
77
73
72
58
36
60
92
63
29
39
46
68
53
82
77
91
76
86
61
99
30
51
22
78
69
47
55
35
89
65
48
31
52
135
55
61
58
66
38
70
63
57
64
80
87
55
76
65
50
48
48
56
89
70
50
35
88
44
70
33
73
48
71
54
76
76
84
33
66
42
52
69
41
27
46
67
52
47
36
32
62
45
86
72
61
41
63
32
58
47
65
42
63
33
118
53
46
122
77
55
49
53
113
38
47
34
92
69
46
74
58
54
65
58
58
89
68
23
62
39
45
84
64
51
47
74
65
38
62
77
104
66
54
65
44
58
45
48
61
84
66
83
82
76
75
56
69
83
43
88
53
73
82
43
46
73
88
85
61
69
41
46
59
79
70
50
53
95
82
63
56
38
41
67
68
47
54
35
64
56
64
72
82
72
74
58
68
67
93
66
39
47
54
59
53
62
36
41
59
51
38
69
51
79
48
65
53
59
52
45
78
40
52
77
74
76
53
77
59
42
49
115
93
36
84
32
56
52
51
24
61
45
91
60
37
55
80
61
80
69
100
62
38
98
52
44
64
79
53
54
63
102
97
78
48
61
81
80
53
38
57
46
30
60
61
79
48
61
36
119
73
88
55
71
38
55
66
61
44
84
52
65
51
60
51
96
77
100
54
75
66
49
69
63
88
39
50
86
86
40
83
67
56
38
59
36
48
41
83
50
72
80
71
40
45
42
36
76
73
62
60
41
50
57
61
36
43
61
101
69
74
44
64
45
76
64
32
42
84
35
78
66
101
45
53
70
40
61
86
116
79
65
57
67
38
31
82
44
56
77
49
53
76
50
101
53
92
65
65
95
32
54
79
41
63
71
82
55
83
81
61
54
77
56
62
89
79
52
77
79
92
84
69
99
56
42
61
62
119
85
59
71
70
58
78
45
32
72
61
106
31
60
70
43
68
60
50
61
44
70
65
65
67
93
62
86
46
74
68
55
63
100
42
51
53
80
50
50
77
44
66
67
41
71
67
42
89
38
50
89
88
70
58
73
71
57
59
57
41
53
79
58
61
75
80
73
73
67
39
34
96
96
96
51
27
77
61
67
50
77
47
60
104
66
47
73
75
43
49
29
98
59
46
34
35
55
25
94
28
60
58
51
89
82
54
51
80
75
41
68
71
50
32
32
75
73
63
54
62
75
52
46
44
141
82
42
39
63
74
58
54
44
34
59
85
65
57
55
55
65
50
68
59
44
79
53
63
70
61
73
41
76
32
76
74
60
57
69
60
47
29
53
53
61
67
98
63
46
54
33
57
78
31
54
66
48
84
50
53
31
79
50
33
39
59
90
79
72
75
59
49
40
53
57
49
34
65
97
72
33
56
47
58
81
57
46
40
117
31
67
52
63
55
69
40
61
76
51
51
72
66
40
58
64
70
51
66
45
51
55
38
68
55
58
30
93
65
55
42
60
47
69
72
79
62
40
88
45
32
59
50
63
62
69
55
71
67
57
45
39
36
62
53
58
55
57
64
45
80
62
76
55
51
48
44
86
66
70
77
56
45
66
61
64
80
54
38
45
46
128
77
70
74
30
31
50
70
80
68
45
69
40
62
46
70
64
64
76
33
48
44
58
36
48
54
55
42
84
72
83
56
88
51
51
108
82
95
87
145
50
54
47
72
41
33
43
78
71
64
94
35
44
70
66
83
51
41
83
66
54
76
31
41
63
47
65
79
45
65
70
67
68
54
52
70
88
105
47
60
44
94
48
104
80
64
53
42
72
64
51
72
79
59
89
73
90
70
81
60
105
36
47
41
43
33
93
48
45
43
37
37
55
54
44
38
62
42
49
62
58
92
64
61
66
36
24
59
57
66
52
106
74
67
60
83
90
103
45
72
74
66
57
92
94
54
67
77
36
38
55
57
64
38
58
61
56
61
59
40
36
33
70
91
60
34
65
59
41
42
47
40
64
79
40
58
41
50
49
60
86
56
70
68
52
44
86
71
38
46
75
62
67
48
57
52
36
53
71
31
81
114
44
45
63
57
49
65
66
53
58
62
66
56
53
94
49
74
69
85
41
68
52
54
77
57
49
58
31
66
38
71
88
48
40
31
43
49
89
44
65
30
83
61
62
89
70
33
37
70
80
93
61
53
71
40
55
39
45
55
88
55
77
45
60
93
46
26
69
40
50
36
67
56
73
40
54
88
65
47
83
65
39
87
57
64
56
46
70
69
81
45
59
28
62
39
60
75
73
47
68
54
33
65
54
40
58
54
68
62
39
37
82
39
66
53
56
58
77
77
79
62
66
84
33
82
42
49
37
47
120
59
92
74
95
46
89
60
51
52
89
46
76
59
46
70
78
37
45
68
64
64
108
69
56
41
75
52
36
26
78
40
93
64
91
65
61
57
32
86
29
38
32
45
71
71
66
28
64
51
25
76
72
62
45
71
53
106
89
56
70
96
73
38
65
48
48
86
61
57
38
55
34
44
49
51
81
82
35
96
57
95
45
97
51
47
65
65
56
58
38
36
50
56
66
61
72
70
80
85
36
78
28
76
46
50
36
95
48
93
98
57
67
73
49
43
67
75
52
74
57
30
81
55
69
78
67
77
79
42
64
62
69
108
100
52
49
78
104
46
81
48
31
76
40
68
37
83
71
64
45
56
79
60
67
105
60
39
73
59
80
40
68
79
27
73
52
54
79
81
89
76
60
56
70
41
45
32
62
58
44
52
64
70
70
47
73
89
39
46
43
64
60
77
57
29
51
62
61
51
51
73
31
83
75
69
60
67
67
89
62
91
70
68
117
64
72
50
72
32
37
66
97
114
56
79
62
59
66
31
74
84
63
52
32
62
37
83
89
78
75
60
75
84
74
45
66
85
51
82
100
36
77
50
48
55
64
65
109
32
45
54
111
59
43
69
18
54
79
90
66
61
60
78
61
65
34
57
103
28
63
89
53
37
40
66
42
72
90
65
75
80
58
59
64
70
61
54
30
73
104
77
78
79
65
108
31
65
86
87
78
66
51
82
49
26
81
50
48
69
86
57
73
56
48
80
29
55
51
65
73
49
115
66
57
50
78
57
67
56
51
67
42
54
101
73
52
61
42
44
84
65
66
73
86
59
36
61
64
35
47
95
54
56
64
63
52
70
50
69
40
52
73
76
49
85
85
56
52
68
34
98
71
70
70
54
64
44
83
67
81
72
68
57
41
53
96
50
66
56
58
67
85
57
72
87
54
75
64
132
57
59
38
57
79
86
56
70
56
62
70
69
88
39
74
51
59
79
76
75
57
53
56
72
89
42
70
65
29
75
91
58
80
66
87
87
64
58
83
76
51
58
42
47
78
67
71
78
50
72
33
89
38
62
36
54
59
62
57
42
61
55
49
42
76
93
42
53
84
60
70
49
38
117
77
82
66
49
62
65
72
63
71
46
35
50
74
52
44
46
65
51
81
54
82
51
53
48
78
63
65
53
35
70
86
70
66
76
65
41
89
80
68
69
54
44
69
62
58
45
35
66
44
26
75
71
34
40
60
47
79
66
28
56
70
68
106
68
83
42
35
52
71
70
49
65
61
51
54
21
46
59
33
69
80
77
74
44
65
28
106
54
64
49
71
64
95
77
56
58
89
50
66
69
29
53
53
75
36
59
24
81
55
66
72
67
30
44
34
49
89
46
43
79
34
39
38
32
100
115
65
77
65
60
56
58
46
80
59
51
58
42
45
86
75
52
64
59
87
67
79
78
38
48
109
51
103
56
68
53
60
39
65
53
56
70
102
69
34
65
58
55
44
75
47
74
63
59
62
53
84
63
84
101
52
64
58
44
51
50
80
58
50
59
47
77
87
113
71
41
90
60
78
93
72
63
47
61
54
56
72
66
67
73
65
61
90
84
77
56
48
74
41
44
62
46
62
90
82
71
90
59
36
72
81
60
38
69
40
68
87
37
51
26
52
87
68
60
90
67
44
99
56
71
32
51
48
61
65
60
57
62
36
85
61
62
77
39
68
65
58
94
61
51
91
58
64
45
67
57
98
39
51
43
71
40
40
44
60
33
68
60
64
67
54
58
72
80
40
44
33
57
81
55
65
70
45
78
70
50
51
65
40
63
49
55
68
51
73
53
46
72
62
53
61
34
73
74
24
50
55
127
43
119
30
72
97
64
87
63
46
46
53
70
36
42
38
74
36
72
68
86
65
60
62
72
49
53
104
89
54
45
71
99
80
57
47
96
70
43
49
104
69
27
93
48
79
53
76
57
89
58
46
47
60
52
43
91
74
91
62
71
74
70
79
81
64
73
55
108
39
88
41
82
91
46
48
45
77
54
29
61
34
76
43
57
80
50
83
57
62
62
74
53
72
71
69
63
119
70
70
52
48
24
34
42
53
83
84
70
92
100
53
66
49
22
56
78
64
57
45
77
46
55
59
52
72
56
85
68
61
84
101
90
70
53
37
84
67
66
43
56
74
51
37
104
55
66
87
57
49
107
25
72
35
80
54
35
74
55
49
52
94
54
63
47
51
71
65
70
70
56
67
73
41
55
66
19
27
70
56
75
63
72
84
47
116
81
51
48
54
78
77
50
55
56
75
93
60
78
48
82
64
74
37
35
56
52
39
63
52
72
58
52
97
49
28
88
50
60
51
40
57
70
95
83
43
26
73
56
66
51
47
73
40
65
81
72
93
36
52
45
115
74
69
81
67
69
115
71
51
66
28
87
68
84
39
78
74
67
76
47
51
61
53
51
67
37
55
59
87
81
86
39
64
73
39
67
36
40
48
57
58
76
58
43
73
39
39
69
39
103
59
72
83
70
62
38
66
51
70
59
35
52
67
54
55
86
64
46
58
66
44
73
85
98
55
71
49
63
52
84
49
50
32
95
51
43
52
96
48
83
56
34
75
58
32
52
85
85
120
59
74
88
55
72
98
75
48
47
56
50
48
49
49
85
56
47
38
58
48
34
39
81
62
45
28
92
73
86
93
67
77
105
57
70
53
43
85
39
65
31
78
53
70
57
26
56
66
50
58
54
57
29
105
58
49
55
70
42
24
94
91
76
36
62
65
37
43
43
92
23
68
67
34
54
67
53
39
47
73
51
88
56
46
32
78
56
66
71
94
55
80
60
55
38
47
61
40
47
45
73
36
50
85
48
40
86
70
45
53
63
38
46
53
53
30
43
59
78
66
102
91
104
52
66
56
68
49
47
89
63
54
53
63
51
47
26
49
36
76
51
63
76
58
80
80
93
27
63
99
57
45
53
73
47
59
81
64
98
85
121
63
44
67
52
35
36
57
56
73
56
46
78
59
92
118
39
44
127
89
43
42
37
71
72
32
55
56
82
69
54
78
42
50
57
60
70
38
68
65
28
94
34
36
44
72
81
51
43
94
47
54
52
60
51
70
54
59
67
29
49
51
64
43
66
62
47
118
50
68
41
56
72
73
59
35
64
59
24
54
39
85
50
46
72
58
36
82
76
49
41
41
47
53
75
57
81
70
32
69
71
54
57
95
51
112
79
72
56
80
60
73
68
51
72
52
86
35
77
70
69
92
68
62
51
82
40
80
97
74
71
50
81
44
48
76
59
70
70
41
54
78
78
35
50
70
45
61
60
37
46
87
48
25
64
52
47
52
90
106
102
88
103
82
57
69
57
52
41
55
57
68
54
82
50
79
89
79
90
48
84
61
65
82
51
65
76
70
60
59
100
67
44
66
54
98
34
45
88
81
54
57
110
48
49
50
44
87
49
87
85
78
50
36
70
72
92
59
59
47
54
65
71
68
58
71
32
52
48
49
63
64
35
61
57
73
61
62
73
64
55
78
58
47
83
88
81
47
57
34
62
77
52
120
47
72
68
40
74
66
68
64
56
34
100
53
32
40
138
74
58
47
67
66
81
67
88
64
67
50
29
47
66
66
71
30
67
50
41
69
48
100
78
48
85
80
32
39
78
48
47
82
62
58
58
74
35
61
60
54
40
81
58
25
88
60
95
49
67
58
40
48
66
82
55
55
43
69
76
78
38
57
57
55
142
64
48
70
68
56
50
29
46
61
47
47
72
69
45
43
51
83
70
98
71
57
61
67
54
57
52
59
68
72
40
59
67
61
45
40
65
94
36
50
60
21
52
73
45
42
40
69
77
56
37
93
67
56
29
70
77
52
72
53
78
58
51
89
72
69
62
66
64
80
41
111
73
59
62
46
42
47
50
49
69
105
81
42
49
47
47
53
92
43
95
97
71
75
86
48
33
102
72
38
63
54
80
55
30
56
68
58
73
48
76
49
73
37
36
109
33
75
17
64
78
48
49
29
66
67
61
66
56
64
58
55
71
92
65
36
67
34
49
58
42
58
67
58
100
32
69
87
63
32
43
54
60
66
87
46
58
27
49
45
71
59
68
35
55
69
67
73
66
44
37
76
117
61
54
48
81
77
38
62
65
52
56
43
78
68
101
73
71
25
66
66
53
46
69
37
77
72
51
48
74
84
32
41
80
58
76
35
43
98
47
43
54
67
43
69
73
38
53
49
69
34
61
93
79
63
48
66
47
32
45
37
45
41
81
52
62
52
57
65
62
79
52
84
102
39
60
42
35
63
52
45
77
59
41
75
93
70
60
60
71
39
61
33
54
64
68
27
71
73
40
60
57
109
43
54
76
63
84
58
54
56
39
63
86
78
66
51
66
45
60
51
66
58
79
53
61
55
53
53
56
36
37
46
40
44
63
63
68
63
81
53
50
47
49
50
55
47
64
44
65
93
68
52
70
80
68
60
67
52
55
33
60
77
60
45
54
65
40
68
72
56
79
44
78
58
75
79
47
41
56
50
34
52
49
106
59
75
61
72
60
53
66
24
40
62
47
99
43
74
52
57
80
45
69
99
54
88
72
63
86
58
90
46
58
59
68
83
73
63
35
65
48
76
91
62
75
58
117
52
109
73
75
54
51
63
71
55
113
23
56
90
83
40
42
57
56
65
69
60
59
60
56
54
34
41
59
70
55
49
37
46
103
67
58
54
92
49
64
42
58
69
47
84
57
60
48
75
68
72
62
73
49
70
42
71
85
45
44
27
57
47
62
56
51
42
47
64
88
34
80
86
75
45
28
48
64
36
80
80
54
72
24
62
73
69
57
73
82
77
40
83
59
73
65
36
27
44
82
123
51
44
69
63
30
49
73
76
85
81
34
65
59
46
65
67
39
80
65
63
112
35
30
36
85
104
88
79
54
85
31
44
105
59
33
70
72
71
67
61
119
74
64
72
42
44
72
34
56
89
54
64
61
53
86
51
63
66
74
49
71
57
88
55
61
59
80
85
54
50
69
57
48
80
34
64
32
55
46
64
60
73
66
76
72
69
62
46
36
107
65
41
52
68
56
51
53
66
54
101
52
47
68
79
41
42
42
59
68
42
84
77
46
75
83
52
60
61
61
69
68
49
81
56
86
82
97
85
101
57
79
39
46
66
31
43
50
38
33
83
105
56
50
49
44
90
55
79
100
35
85
80
65
67
49
43
107
74
74
43
40
65
35
80
59
55
50
70
72
45
43
58
51
92
37
74
46
51
57
95
70
114
82
72
74
68
95
48
56
43
70
80
68
94
46
47
80
73
51
85
62
75
82
77
68
77
61
70
51
105
77
71
29
78
46
82
101
76
57
84
39
63
59
60
73
31
52
63
53
56
68
40
81
61
97
48
60
47
38
71
67
48
74
55
94
43
47
68
46
41
23
57
74
41
69
55
36
108
66
68
66
62
50
73
38
57
55
74
29
54
73
28
108
66
41
69
58
69
30
74
53
37
78
53
82
76
37
52
64
41
59
81
48
85
64
93
57
55
60
84
68
85
45
45
94
79
31
30
55
78
51
41
47
64
58
97
77
65
66
79
60
62
76
43
49
76
43
53
27
49
50
53
72
55
91
83
40
57
57
68
65
75
70
46
86
74
41
82
40
54
75
48
56
60
77
75
93
66
76
84
85
49
58
57
91
81
36
46
64
49
53
69
55
59
96
40
68
64
48
74
77
66
36
31
64
57
65
66
57
70
60
63
76
49
66
37
58
89
25
67
36
43
46
71
88
58
79
52
49
44
44
47
43
59
76
45
43
34
86
118
31
36
57
70
49
117
88
44
48
48
79
47
50
71
100
63
37
42
47
64
39
84
70
83
51
68
76
44
70
72
83
26
34
103
90
95
48
45
62
43
88
58
44
45
96
44
95
71
45
57
47
46
64
75
66
51
71
49
46
72
91
42
49
21
56
77
100
84
83
66
38
59
77
37
53
63
62
69
98
59
56
67
46
64
84
56
42
78
40
72
69
49
74
62
57
60
69
41
61
83
65
77
91
52
42
102
63
76
52
106
62
83
59
55
58
86
68
57
80
47
49
75
58
53
77
50
77
67
71
94
76
64
55
62
68
74
66
52
75
74
72
76
56
77
53
87
62
68
51
35
74
43
51
71
79
117
43
47
55
61
64
41
80
52
63
64
63
27
55
73
70
41
42
62
34
36
69
55
37
78
53
60
70
49
49
59
35
109
81
80
72
50
59
75
49
75
71
69
85
83
91
65
128
73
35
48
39
40
82
93
40
69
122
54
32
54
71
87
52
65
57
52
60
95
67
78
63
94
53
33
50
46
52
73
50
60
75
65
50
38
35
40
63
36
114
72
102
62
42
91
46
43
43
68
35
82
48
70
51
71
49
60
48
44
37
42
51
79
37
64
55
60
55
48
60
73
69
63
98
82
41
120
66
61
41
43
92
45
59
52
40
57
65
40
46
58
44
82
51
25
70
56
50
63
73
68
105
81
33
56
82
36
85
112
87
50
41
40
42
67
60
50
66
52
84
53
49
82
76
56
60
70
63
61
61
59
107
54
47
66
76
74
60
73
59
62
30
53
45
87
68
38
86
48
55
42
27
35
76
36
75
62
66
40
99
53
67
83
57
46
75
46
91
51
87
104
62
50
73
35
67
86
45
82
50
86
51
35
64
61
65
46
64
46
49
73
60
57
71
81
45
62
55
77
45
60
36
61
43
60
93
40
50
75
32
49
51
36
97
64
62
77
69
93
40
65
54
48
73
46
118
65
73
68
98
40
58
61
64
48
86
41
83
67
49
70
119
94
49
55
44
66
60
64
52
59
70
39
48
77
83
35
46
104
81
56
74
60
53
66
58
68
51
66
71
33
90
58
82
43
75
84
91
44
56
56
43
69
48
78
58
74
42
53
63
56
79
91
73
64
92
33
62
65
120
92
57
75
51
35
61
58
35
63
54
81
105
53
98
45
61
53
58
56
59
51
74
71
87
68
94
67
87
43
27
70
42
75
79
106
78
49
56
94
65
60
45
34
33
174
38
56
41
57
52
97
97
49
49
73
58
55
39
61
52
38
34
45
52
34
45
74
40
81
93
45
57
69
111
66
89
58
58
64
64
76
86
52
42
29
92
81
79
62
43
50
106
58
86
43
95
55
55
93
108
48
51
92
57
63
61
75
86
43
77
83
92
77
97
40
48
44
77
45
79
51
24
58
69
57
74
60
38
57
67
54
32
66
71
58
100
51
37
33
90
68
83
109
55
30
58
37
56
45
92
63
77
81
69
67
74
84
56
67
88
94
50
65
42
87
47
42
43
70
82
82
60
58
69
67
55
87
81
56
51
45
53
28
107
71
77
59
73
79
43
59
69
50
59
74
72
68
65
43
24
40
36
43
67
40
81
45
65
51
89
92
88
51
64
52
55
75
86
48
50
41
53
36
104
50
58
81
42
69
64
50
48
47
59
23
81
67
54
43
48
59
34
73
78
71
47
65
45
97
48
73
49
82
68
93
62
86
28
76
66
75
67
42
59
74
39
67
69
44
71
61
47
49
50
70
59
42
76
73
76
71
64
49
67
47
48
40
66
117
54
47
89
68
83
53
59
56
56
55
63
80
49
59
66
64
42
116
56
103
76
58
56
60
57
59
51
58
65
44
47
65
45
70
57
72
68
44
71
42
44
90
56
55
68
69
41
44
64
49
26
117
45
75
67
74
44
24
55
76
50
78
59
65
60
70
58
60
72
55
66
65
64
54
53
55
82
24
30
41
80
99
61
45
78
53
61
44
112
81
47
94
31
61
27
75
66
72
43
65
45
79
68
42
64
68
48
26
57
69
68
101
89
70
93
61
81
75
72
56
56
61
70
38
41
75
65
85
44
61
75
45
66
73
58
52
41
69
80
50
75
76
73
45
32
48
94
63
47
43
46
61
39
122
42
73
55
50
44
85
49
31
38
32
42
65
46
41
43
39
81
51
33
62
89
49
70
58
56
57
76
71
32
50
54
98
56
84
65
70
46
43
57
92
57
57
67
42
64
47
71
68
41
71
106
67
59
59
39
45
71
59
82
56
140
66
65
121
60
62
28
49
92
74
47
42
99
46
73
51
52
34
59
59
43
102
66
33
56
67
69
54
61
56
54
45
76
85
62
76
81
89
99
111
70
70
35
53
80
70
79
51
94
74
101
65
82
41
58
35
27
55
63
106
64
46
61
54
68
47
37
54
52
46
58
60
70
89
87
50
62
57
74
41
45
30
43
58
38
77
66
29
59
56
75
67
51
53
69
112
49
78
44
51
61
49
68
21
68
43
80
43
83
95
106
36
64
75
55
38
44
53
36
95
86
47
60
45
122
74
38
80
65
64
79
75
76
58
61
65
52
58
93
103
32
58
52
66
75
64
63
56
59
101
86
60
51
70
31
33
72
46
63
51
47
59
105
114
68
83
69
78
36
52
39
42
80
67
77
94
61
61
45
71
56
39
48
23
57
55
78
38
48
41
89
65
66
60
51
59
24
38
64
52
68
50
41
41
57
53
78
47
74
65
32
102
77
76
75
42
68
50
51
38
75
100
52
68
64
95
81
48
110
58
39
59
41
80
65
43
65
48
50
87
54
52
73
37
55
82
71
73
52
57
56
56
52
57
83
62
46
51
79
38
48
97
73
29
57
53
32
69
75
72
86
48
98
40
46
81
99
51
94
85
34
46
87
69
81
71
43
44
108
75
29
63
79
69
85
55
63
33
56
81
38
94
37
45
44
42
68
43
59
53
74
44
75
90
38
74
85
67
76
45
54
30
72
47
35
61
78
58
60
58
73
53
82
74
42
105
66
58
56
64
82
50
41
48
87
55
60
84
65
55
63
48
34
80
49
78
54
60
59
80
81
72
79
36
72
69
105
48
55
47
47
53
51
44
53
90
62
62
44
96
90
62
57
89
56
57
93
38
70
41
55
35
53
72
70
67
84
77
70
47
34
36
67
67
50
84
30
70
86
92
40
62
75
67
61
49
70
46
82
71
39
64
52
72
66
77
75
110
87
58
80
45
87
61
73
64
32
61
45
73
31
72
60
82
33
75
75
62
62
72
71
42
61
59
51
64
73
37
63
58
86
45
27
45
79
65
38
40
81
54
56
60
46
38
81
91
58
79
64
62
55
22
74
66
70
63
80
51
41
33
50
42
71
45
62
58
57
76
65
52
48
63
67
42
69
76
34
95
81
33
64
75
84
68
45
98
124
45
51
52
70
82
51
40
59
44
32
99
76
76
61
102
102
41
61
91
54
73
80
53
75
114
51
95
64
82
74
41
68
36
77
80
75
59
72
70
73
37
74
43
50
63
67
99
83
94
67
62
95
59
99
44
93
49
59
81
30
65
55
64
65
80
75
37
29
78
55
95
39
86
98
79
70
52
81
43
60
44
39
84
52
92
65
36
61
53
54
67
84
48
77
47
49
33
36
94
63
42
78
38
22
75
70
66
44
32
107
90
38
50
78
93
60
47
45
39
48
52
49
108
60
37
82
71
54
50
52
89
73
51
45
85
109
65
32
73
52
100
93
37
69
50
33
78
53
38
59
60
42
53
47
51
28
62
65
82
48
44
44
60
34
34
101
86
60
45
30
49
60
51
74
89
43
66
106
47
57
49
49
81
46
67
42
60
53
99
73
83
61
45
25
80
58
51
63
68
44
79
39
66
46
78
74
63
61
84
71
76
79
60
65
75
72
39
46
44
69
55
50
76
66
52
68
29
100
88
47
74
51
37
67
68
60
45
47
66
75
75
69
102
55
69
43
53
66
79
62
48
74
54
103
95
38
42
72
65
40
52
61
99
91
59
75
70
48
90
49
66
52
41
35
40
63
38
87
91
65
60
75
35
67
66
44
58
90
38
48
63
55
92
62
24
58
74
43
89
105
63
29
69
73
44
69
49
71
72
74
42
60
55
72
51
53
38
56
43
54
46
74
64
76
47
27
52
62
76
48
78
54
34
38
71
79
29
97
58
105
42
53
42
36
67
68
45
70
55
80
36
63
46
37
31
70
56
33
62
74
117
47
37
88
107
89
72
46
85
50
77
73
71
97
56
62
55
69
57
47
58
88
51
80
78
57
73
69
56
69
64
57
26
52
76
85
89
65
30
119
55
55
62
83
65
46
64
46
69
47
53
62
33
52
53
70
58
121
93
65
47
68
63
62
62
73
60
41
46
82
29
56
48
92
78
57
79
62
70
51
32
91
64
102
61
87
51
46
58
67
53
134
162
30
54
42
73
52
21
74
57
65
44
47
58
71
87
40
76
57
90
62
29
62
32
55
57
82
71
47
74
51
60
58
47
64
99
54
37
65
62
83
39
62
103
66
52
102
105
80
34
96
67
53
52
36
135
55
75
91
33
96
45
70
56
80
59
67
44
101
63
56
82
71
75
79
55
48
54
64
65
23
69
47
71
64
42
98
76
30
42
73
71
28
55
49
72
77
74
50
74
80
52
51
64
29
64
53
58
67
75
33
46
58
60
84
76
77
68
75
48
57
60
123
55
75
96
56
91
70
61
78
72
104
63
59
66
65
68
81
75
50
60
66
42
68
39
72
58
73
51
103
23
72
96
81
58
31
85
85
94
96
60
68
63
51
75
74
69
85
47
57
64
77
49
45
77
35
76
67
64
45
33
73
41
62
51
47
54
79
51
32
69
32
73
72
48
63
64
73
60
77
55
54
59
52
53
76
95
78
65
84
68
52
35
73
43
60
75
102
88
68
62
63
40
70
62
77
69
52
64
51
44
26
71
75
76
101
71
52
47
55
93
42
62
72
102
37
66
44
44
61
87
92
48
58
61
54
70
54
68
64
112
40
69
49
38
52
53
31
77
110
43
77
50
43
50
92
67
63
57
60
49
55
66
88
111
27
70
62
63
24
62
60
78
45
64
60
81
39
77
46
89
91
68
51
77
78
26
81
56
44
66
55
42
57
96
63
36
92
58
63
22
77
42
102
52
63
92
64
69
54
71
41
60
61
114
34
59
42
53
78
49
52
87
44
70
31
101
53
70
62
54
59
50
54
65
66
69
76
44
72
73
61
69
56
48
62
78
43
56
87
73
56
81
74
28
71
49
85
74
66
55
50
78
54
90
24
44
73
46
88
12
75
34
74
67
66
30
78
53
65
51
44
44
50
65
33
50
28
95
57
27
32
75
69
82
70
48
78
27
46
45
49
37
54
44
63
88
32
79
52
35
47
56
60
49
90
50
60
79
48
77
65
43
104
66
61
52
49
65
70
95
51
52
79
57
90
59
67
72
107
45
52
59
45
61
57
47
100
79
76
57
79
75
59
56
54
45
55
50
69
52
26
53
67
59
68
79
64
49
66
54
31
65
37
32
88
34
48
86
52
46
63
55
39
74
35
48
73
69
67
44
68
62
42
75
61
63
96
66
62
83
89
103
109
45
53
58
61
56
66
41
51
37
68
104
55
106
82
33
66
38
57
87
71
33
73
61
50
65
57
35
78
82
37
67
60
67
42
60
48
71
36
71
39
52
78
41
72
65
61
47
70
97
57
75
63
72
81
59
61
45
26
30
87
73
47
38
49
90
56
75
84
94
63
73
76
34
66
45
43
76
46
66
87
47
85
93
67
84
66
34
91
77
87
56
54
70
68
34
48
64
46
28
30
51
73
56
72
59
53
67
61
52
45
47
58
54
51
34
52
63
109
52
110
68
44
52
64
55
58
39
56
45
37
62
48
79
33
85
63
54
62
65
50
83
34
58
97
53
56
44
79
43
96
70
59
65
81
47
46
79
54
107
59
53
54
47
106
79
40
77
45
77
28
75
45
80
43
45
75
73
77
61
47
59
87
57
53
45
72
76
82
74
71
69
56
68
83
78
64
57
49
88
69
68
66
50
62
38
65
30
96
70
37
51
63
53
63
66
61
39
42
82
74
45
54
32
71
93
110
78
56
45
61
82
69
32
39
105
66
51
43
44
41
52
65
46
33
67
75
43
71
68
87
49
40
77
61
69
57
72
84
52
126
55
32
90
56
62
52
80
58
54
37
59
34
57
59
76
94
69
57
33
50
50
92
81
47
53
58
52
55
33
52
66
78
82
77
73
59
81
78
32
52
79
86
73
42
91
33
58
58
59
55
70
85
55
58
38
47
122
58
41
83
105
71
65
82
67
50
44
28
50
79
43
68
69
65
60
63
104
46
52
80
76
61
82
54
107
53
50
53
39
44
111
53
39
61
60
40
65
72
47
61
67
73
74
53
79
89
80
54
44
57
80
72
61
62
54
44
52
52
51
75
71
67
46
56
53
95
44
68
82
56
79
55
64
74
68
61
84
63
59
53
34
46
119
77
74
46
57
58
60
37
80
35
70
56
26
33
76
88
54
51
67
69
50
43
49
73
91
47
70
63
72
51
63
71
65
20
89
97
64
82
85
51
67
58
47
48
28
66
71
81
68
43
61
118
70
69
66
79
68
49
72
101
56
79
59
34
68
99
52
58
50
54
61
59
62
80
69
102
66
31
58
58
64
42
44
61
39
92
81
95
106
60
81
75
69
47
82
49
50
54
36
93
56
57
70
78
55
65
84
35
59
87
60
75
41
88
77
59
37
36
50
96
43
60
73
51
77
52
77
58
60
52
56
48
94
87
59
90
43
53
59
42
62
82
94
87
142
63
115
68
85
59
50
94
82
85
45
87
34
92
67
100
21
42
42
89
67
91
58
68
89
73
59
140
55
58
88
73
49
94
57
102
94
91
38
86
81
47
97
72
80
46
61
64
89
46
39
41
51
48
64
63
68
87
84
54
47
60
72
105
54
44
64
66
56
78
67
60
72
42
71
41
56
72
84
77
74
78
73
69
44
43
88
47
70
39
106
49
77
102
47
91
72
48
68
80
41
60
56
46
61
45
51
53
65
89
40
32
82
57
72
83
63
59
62
34
85
76
51
66
39
48
42
63
60
84
61
118
64
67
50
110
97
65
47
66
48
87
84
74
123
57
60
54
63
64
55
51
41
71
86
63
68
96
67
46
58
62
52
95
39
95
52
40
63
57
80
68
67
96
62
50
77
67
46
113
28
63
48
41
69
33
76
66
87
28
79
67
50
42
68
84
84
72
37
31
79
63
68
63
77
93
23
32
62
65
38
39
60
34
45
48
72
50
66
32
35
55
41
83
51
55
66
49
39
47
79
47
46
85
38
55
50
62
77
38
86
50
78
48
68
54
52
55
40
66
75
40
30
72
64
69
64
68
97
90
71
58
80
143
66
78
80
85
97
24
52
47
50
84
32
38
84
28
77
99
27
35
105
29
54
68
67
75
66
37
31
42
60
39
38
82
64
38
81
61
65
65
45
54
34
68
69
75
74
57
46
44
50
56
114
39
70
70
34
54
36
80
76
45
55
39
51
60
65
63
64
61
89
42
44
46
41
78
51
43
77
68
108
108
65
61
60
55
74
51
57
52
50
55
41
72
40
50
53
36
87
55
110
57
51
100
76
96
77
43
54
68
95
59
44
35
69
57
80
65
74
67
53
47
67
66
76
67
25
85
66
114
49
67
81
98
61
73
55
37
100
53
48
95
69
57
72
48
27
57
46
57
79
33
51
94
42
67
51
52
53
75
74
58
42
32
99
58
73
73
67
44
60
94
62
126
62
58
47
66
26
60
76
131
66
75
61
49
68
91
47
73
48
59
47
53
56
56
45
45
58
77
39
69
51
100
63
58
100
64
77
54
49
47
67
37
35
67
35
57
53
59
83
41
84
62
74
83
105
70
38
57
56
80
35
71
67
62
58
66
57
80
78
52
55
86
34
35
52
39
64
41
72
38
56
67
70
40
78
74
57
54
60
64
45
55
43
40
64
75
74
72
111
81
34
82
87
62
58
55
70
60
47
62
33
35
73
26
44
67
79
55
88
58
71
74
63
70
50
36
55
68
89
61
63
67
38
35
49
45
45
93
61
61
102
108
52
71
24
111
44
113
48
77
58
62
54
78
31
100
85
54
92
61
54
79
84
42
59
55
65
58
49
70
61
54
28
31
40
78
59
68
52
55
77
28
43
55
47
53
76
66
53
95
74
74
96
50
66
87
57
60
49
48
30
82
56
58
56
33
89
53
52
71
60
91
96
83
73
73
38
48
114
48
82
35
120
65
74
50
62
53
36
51
82
60
85
42
28
38
60
57
38
37
99
28
32
28
82
72
40
82
69
92
68
39
115
101
72
50
38
59
88
70
106
51
43
39
42
43
52
62
70
41
59
100
76
37
60
58
76
100
79
53
64
84
60
77
57
52
51
75
55
63
60
34
108
74
45
84
96
47
53
72
72
104
31
80
33
57
45
75
49
66
73
77
60
54
61
64
52
59
65
48
39
51
55
46
65
58
63
85
53
27
57
57
67
51
89
56
39
34
49
101
46
68
60
57
65
61
78
79
66
57
36
52
39
45
77
53
42
66
59
46
68
52
42
79
40
46
66
55
74
47
69
68
82
102
48
80
49
89
147
67
53
53
72
41
72
59
47
41
62
40
59
88
45
58
71
78
33
59
45
48
62
125
92
60
48
62
53
75
51
70
67
73
53
77
64
64
92
83
76
45
31
39
37
96
51
78
79
63
71
49
77
66
75
62
63
42
83
74
46
48
46
58
49
43
33
50
78
67
76
69
60
72
31
68
33
85
83
87
67
83
56
35
30
77
95
21
53
75
51
65
49
40
37
36
86
41
61
83
39
60
75
45
102
31
70
92
60
56
67
71
59
42
83
86
44
67
43
81
67
66
83
78
28
99
62
76
57
39
52
56
44
79
45
51
37
63
27
52
75
53
51
47
69
63
82
35
45
83
48
41
100
60
87
62
66
42
88
54
96
61
125
49
64
74
80
35
54
50
34
34
90
39
64
43
65
47
28
78
28
31
50
57
61
72
79
67
62
89
49
82
75
50
69
68
34
33
80
44
40
74
52
74
42
40
85
84
75
80
51
67
81
77
37
70
35
133
65
53
80
86
79
120
112
74
77
65
71
40
90
57
44
68
31
55
42
45
40
42
81
57
75
71
48
48
50
96
50
81
39
69
46
81
42
28
56
80
62
73
49
71
51
83
51
43
109
25
48
87
87
63
49
68
72
55
58
50
35
38
59
48
53
54
58
51
80
41
95
64
68
69
43
39
52
39
53
58
38
39
65
39
74
68
30
52
60
79
64
40
67
49
42
51
29
34
54
67
48
75
38
26
47
79
53
67
54
43
41
41
45
54
41
36
80
61
46
58
57
59
55
79
83
84
53
76
26
40
73
62
35
47
54
85
32
78
57
52
90
47
46
56
54
51
91
50
57
53
103
51
60
28
67
87
63
82
62
56
78
60
50
69
50
36
107
37
57
65
69
66
78
49
67
23
41
82
50
83
80
40
72
48
40
90
35
60
67
80
85
70
93
51
57
47
74
46
63
32
41
71
46
58
66
101
52
85
43
70
67
70
61
42
65
62
57
74
59
71
83
80
79
79
54
61
37
90
53
36
50
33
62
48
31
104
95
53
53
77
63
47
56
67
54
46
61
34
72
71
55
74
54
60
36
80
53
68
71
51
38
68
68
65
82
42
37
65
73
64
82
77
75
25
46
67
78
89
64
76
55
38
80
65
32
53
42
48
41
65
43
64
50
53
70
84
62
70
58
55
85
84
56
35
101
108
80
96
55
50
77
35
49
47
54
64
50
81
54
71
76
53
94
66
83
49
57
78
40
40
59
28
53
46
57
78
63
72
51
60
53
59
71
46
49
51
82
77
45
92
76
81
52
83
51
38
36
69
61
47
76
99
59
94
57
43
43
56
40
93
53
41
49
60
48
63
59
55
54
40
31
84
69
55
65
65
76
97
66
45
45
30
79
87
73
40
48
47
66
65
68
32
47
66
47
50
52
34
44
32
95
59
75
87
75
63
24
53
94
76
80
64
91
57
76
82
37
28
31
41
39
53
83
66
41
81
46
42
38
86
71
29
90
119
56
37
54
51
80
77
88
65
59
52
81
50
63
36
31
66
34
39
82
40
32
75
94
35
79
74
77
48
66
64
40
54
51
56
53
61
53
40
73
31
56
79
45
71
91
90
53
48
58
46
47
68
40
86
53
58
89
50
62
48
78
96
54
45
68
50
80
44
51
81
79
58
71
49
46
63
82
45
56
88
63
111
73
48
71
47
35
93
57
62
60
101
45
65
70
59
55
51
82
70
56
69
55
57
93
45
43
53
68
77
74
71
67
50
30
69
37
69
63
61
113
88
32
39
53
93
52
40
64
66
91
105
65
64
83
69
57
58
51
52
85
71
51
45
80
102
103
68
59
69
54
45
58
71
87
58
72
59
51
63
72
47
64
48
59
33
72
35
37
65
87
62
75
54
57
54
68
90
63
68
40
36
93
34
60
91
54
61
101
67
65
55
76
76
77
48
58
90
44
54
82
48
50
47
47
105
100
83
51
29
62
59
55
37
61
63
66
34
69
79
46
43
67
58
53
91
51
64
105
42
75
79
68
77
48
39
74
45
70
79
73
45
41
39
51
53
24
65
53
65
78
62
76
65
61
55
55
49
48
67
50
46
61
44
68
52
67
62
71
61
76
50
80
61
50
55
50
81
38
68
57
69
85
63
69
47
71
67
53
67
65
44
56
63
57
79
62
41
68
25
76
59
34
58
62
36
32
54
94
86
47
40
36
58
64
171
81
36
56
56
79
36
78
46
48
30
62
53
62
80
38
79
38
46
80
36
81
41
68
45
64
38
95
68
55
43
40
76
52
55
56
75
36
69
85
82
76
73
52
67
36
24
65
42
63
34
45
61
62
137
59
44
63
74
50
37
79
45
78
62
75
63
84
50
31
79
29
72
57
41
77
46
82
70
106
49
41
50
84
68
51
49
48
29
84
55
58
55
59
32
73
57
54
72
47
57
68
100
80
62
98
39
87
76
55
82
70
50
68
48
75
73
51
73
61
59
66
48
67
47
52
85
64
58
75
104
75
96
24
71
49
45
61
75
34
93
69
88
75
32
44
73
118
110
31
65
89
51
42
39
36
46
84
70
44
72
75
108
53
64
50
81
57
60
55
62
31
71
62
70
35
49
74
51
72
37
111
54
73
64
77
87
93
59
104
60
63
48
84
46
58
83
42
52
52
30
50
45
61
55
70
75
46
39
64
97
114
59
33
58
29
55
42
74
47
53
68
129
77
65
78
36
71
54
75
42
48
73
90
73
44
45
44
82
61
39
32
80
34
32
97
66
53
27
93
54
61
86
84
57
86
54
51
71
64
52
71
77
57
94
44
70
45
52
59
24
64
62
69
74
59
77
33
55
62
46
65
49
47
77
37
65
52
73
88
73
76
27
82
63
71
78
94
70
27
47
87
60
105
78
50
45
73
61
57
45
58
48
107
90
80
29
54
41
45
61
70
51
67
122
72
65
71
42
39
63
63
74
45
68
67
57
48
48
78
47
63
78
105
82
125
63
36
69
76
70
65
81
66
59
57
134
39
69
39
64
52
104
58
96
56
67
56
120
98
78
50
89
50
58
43
50
79
41
43
64
65
86
71
62
55
78
63
73
88
71
112
45
74
84
50
51
62
31
42
60
51
83
33
42
75
36
53
57
79
78
92
85
121
34
70
82
78
48
62
74
49
34
72
78
65
69
44
68
93
88
59
83
57
69
72
128
67
55
35
59
100
46
50
71
47
57
74
69
82
46
89
58
51
41
83
65
61
82
47
44
91
60
41
85
72
72
63
50
65
29
50
68
56
64
42
39
44
89
62
60
55
67
54
37
63
66
110
78
54
70
61
69
57
61
71
60
60
52
50
58
40
61
42
73
33
82
69
44
44
62
62
64
76
79
42
116
49
62
80
55
72
59
60
56
62
46
62
50
70
84
69
72
66
69
76
47
63
31
100
90
79
39
71
64
47
66
53
74
74
51
32
78
116
73
71
65
65
54
39
75
50
38
34
44
72
54
70
47
49
47
76
81
46
62
87
72
61
53
47
54
45
84
55
72
48
83
49
59
40
71
61
47
74
83
113
84
74
69
53
72
34
47
83
64
84
42
40
26
112
34
75
42
34
49
80
55
68
79
49
75
55
53
52
47
68
44
69
87
69
87
64
69
59
74
71
53
53
74
36
92
55
73
30
57
68
80
58
76
109
41
56
49
69
80
70
38
83
47
64
52
58
53
43
73
67
79
47
54
64
54
50
66
71
46
44
69
80
55
47
96
49
92
77
52
68
42
73
65
37
75
93
48
110
83
77
40
73
70
70
45
50
54
54
69
55
41
55
71
63
56
114
112
93
41
55
81
60
79
91
83
100
36
74
47
61
40
57
34
64
23
122
110
62
54
47
62
67
94
50
46
90
48
66
29
79
61
39
66
65
45
95
73
36
29
93
51
51
91
122
40
69
88
32
62
73
51
72
32
76
53
69
65
58
70
100
39
33
88
75
36
50
75
89
51
50
65
69
54
73
34
59
82
81
112
61
51
79
49
54
31
45
59
83
46
82
46
65
79
46
68
79
37
92
69
50
46
67
63
43
78
71
47
84
25
44
53
59
49
72
80
53
40
51
47
78
68
51
60
82
30
66
66
69
55
72
80
60
74
71
50
55
55
53
71
82
63
44
74
22
53
46
51
60
58
80
73
95
60
58
74
44
26
45
88
87
60
54
73
79
56
52
47
68
68
34
66
52
48
50
68
59
67
44
68
41
31
49
51
89
54
71
114
55
65
61
57
85
49
41
100
70
64
88
41
44
57
39
79
47
107
71
75
27
87
62
46
45
69
90
59
21
52
52
63
73
64
35
84
71
36
51
38
70
66
47
68
50
60
44
60
68
80
55
87
45
54
100
53
51
44
61
96
38
46
52
33
54
63
102
72
42
41
65
57
61
76
40
114
49
40
50
51
55
62
68
77
104
63
44
47
51
51
83
76
63
47
47
51
60
66
52
46
53
61
74
67
42
53
53
77
22
41
59
56
78
85
55
83
39
90
37
92
68
48
83
74
51
60
30
50
49
93
46
70
84
69
56
78
38
49
43
57
52
60
43
60
64
72
72
47
48
75
79
31
50
95
62
29
87
42
93
69
73
53
56
52
60
63
79
51
48
50
47
32
65
84
79
54
66
61
64
78
39
70
64
44
53
49
63
54
44
56
54
88
52
39
67
49
75
81
70
44
47
71
77
68
51
62
78
50
53
70
31
76
52
49
62
55
53
72
123
25
51
85
81
61
57
45
75
69
50
48
69
38
41
55
89
55
59
55
68
56
49
80
75
39
73
38
78
35
85
60
69
45
55
90
78
54
97
62
43
80
96
80
48
61
53
72
57
78
99
69
83
80
37
50
107
47
49
62
66
29
101
39
36
70
57
37
61
46
72
39
67
55
80
68
55
70
79
67
73
67
61
55
39
51
45
40
66
65
56
85
64
35
83
45
54
42
117
72
41
98
50
83
65
41
66
36
42
79
68
46
34
75
64
64
111
50
55
72
51
66
102
123
45
81
90
60
49
64
64
33
62
67
40
79
50
86
72
41
37
55
29
59
61
80
48
55
67
52
110
89
67
25
34
58
86
56
44
67
63
62
67
54
48
64
78
45
39
58
47
64
63
62
55
103
43
100
63
59
50
61
53
66
59
70
59
53
74
49
53
73
61
64
61
43
56
66
79
83
94
42
50
77
67
73
36
85
118
76
85
30
49
43
74
90
79
61
73
53
42
85
76
80
80
53
33
47
60
71
57
70
52
29
77
39
42
46
90
44
72
50
69
57
56
44
64
71
21
54
47
64
76
73
44
49
42
55
52
67
30
45
46
55
66
130
76
95
42
92
61
30
36
73
42
51
44
104
41
61
65
133
77
29
84
47
39
59
35
56
61
96
44
73
42
49
47
71
52
69
52
90
61
59
70
42
42
75
59
81
40
73
35
59
104
64
56
63
31
69
67
40
65
29
91
54
57
66
39
97
67
51
70
86
55
78
86
57
54
41
87
49
44
52
69
35
46
51
92
44
54
59
33
81
72
51
57
47
44
47
31
48
65
56
54
39
54
54
73
27
44
64
98
130
61
72
44
46
77
76
87
67
75
71
39
34
54
46
50
47
65
84
42
48
57
64
68
58
88
52
52
61
64
46
44
58
28
95
57
68
41
72
61
37
73
51
108
71
72
59
67
70
48
39
79
63
66
46
65
65
63
44
50
48
50
62
51
92
62
59
68
57
82
85
19
44
50
48
72
75
89
86
71
67
47
58
66
74
82
73
115
81
58
62
50
70
76
43
95
37
47
69
60
61
27
53
81
44
54
67
61
50
50
36
76
93
68
56
61
53
70
65
71
63
46
63
63
72
70
55
65
42
51
78
47
36
36
84
87
65
56
56
94
74
55
75
51
72
58
70
75
36
72
79
44
77
65
29
92
85
96
67
74
66
71
54
48
65
41
83
68
63
61
54
63
61
60
64
36
75
84
57
94
62
75
60
114
47
87
58
49
94
82
72
71
74
43
64
72
53
44
39
31
85
73
63
74
70
45
49
64
52
72
53
51
59
64
64
79
100
43
56
30
60
34
72
85
62
50
42
112
78
93
92
46
47
52
55
69
83
52
78
76
72
83
40
36
57
50
59
60
36
69
49
50
52
45
79
78
71
86
64
63
73
73
37
43
71
73
59
69
64
84
125
54
27
63
75
94
83
73
103
69
77
39
81
73
87
68
78
52
64
69
69
70
56
55
39
43
72
98
53
68
43
64
80
51
101
65
47
55
70
54
91
53
49
74
63
65
46
40
32
61
54
72
42
62
38
72
45
73
68
60
92
43
43
57
61
82
84
31
84
55
50
63
90
48
36
55
41
79
76
30
53
52
67
34
56
53
52
82
60
84
55
105
101
71
66
39
39
42
89
86
70
67
36
34
84
64
69
82
60
57
72
37
89
59
87
102
49
37
68
77
96
49
62
33
76
72
73
68
41
52
55
52
60
44
52
73
78
33
54
67
57
58
68
45
78
65
67
60
57
39
95
45
52
61
73
27
60
52
47
56
51
84
34
72
92
84
75
79
46
90
72
57
68
71
72
86
40
82
51
43
57
94
48
55
61
69
45
31
61
58
97
74
91
60
63
57
106
104
45
42
31
56
51
54
27
63
56
73
50
91
55
120
86
48
50
74
71
62
54
81
74
70
56
41
71
52
79
62
43
61
38
52
66
95
61
73
53
66
121
52
68
53
103
45
63
95
86
73
46
74
41
81
40
48
66
56
46
37
64
96
57
52
46
79
48
68
70
59
54
90
81
61
43
108
88
85
54
58
90
78
60
103
46
67
73
48
65
79
56
63
36
77
57
81
70
67
73
61
39
82
50
50
79
63
58
76
69
51
96
45
81
48
44
38
68
64
49
35
68
71
50
111
64
65
81
75
34
38
95
78
84
65
87
65
73
45
47
61
94
30
54
48
78
86
76
67
77
38
32
53
49
94
74
81
46
58
40
65
67
63
60
77
49
41
81
45
64
42
85
57
55
54
63
46
84
73
86
72
58
32
82
55
60
80
81
67
99
48
82
39
52
47
29
148
38
78
83
62
55
69
80
64
52
92
85
66
84
58
58
86
123
41
35
94
61
38
85
59
61
68
55
59
46
49
64
55
51
53
90
73
54
66
45
55
41
45
48
92
57
77
61
30
64
47
39
50
89
50
88
48
68
46
67
58
39
54
35
45
43
46
37
71
69
82
55
55
69
61
50
49
69
36
93
65
91
46
34
56
87
53
91
61
78
53
109
42
75
39
50
69
50
54
58
64
62
90
42
89
45
65
94
46
75
63
42
68
86
64
57
42
81
74
45
68
30
57
75
32
54
98
78
43
83
61
59
86
45
45
43
47
103
45
33
22
73
67
64
31
90
78
71
37
62
94
68
71
70
64
42
55
25
60
78
76
62
45
36
51
62
32
73
67
78
47
65
64
57
72
80
63
48
105
97
55
61
55
44
38
70
60
76
29
79
25
110
53
74
55
82
54
45
45
73
48
64
32
34
35
39
83
54
51
47
42
141
75
63
60
56
78
57
63
68
58
38
52
51
25
45
56
61
84
75
88
74
76
56
36
92
52
71
82
59
94
67
57
97
58
79
93
52
54
64
85
46
109
38
62
69
43
44
95
98
60
25
79
137
77
63
80
48
36
37
39
41
57
73
79
32
35
60
30
112
43
50
75
53
38
57
92
43
61
60
60
45
70
83
62
78
84
76
56
66
117
74
61
45
47
40
67
44
86
96
82
44
55
41
48
68
70
35
65
79
76
66
42
64
39
45
63
31
49
65
37
35
43
46
83
67
39
97
64
72
56
58
31
71
59
54
81
36
41
59
95
60
59
45
42
51
58
97
62
49
93
40
44
87
52
51
55
46
113
99
61
35
63
72
34
59
49
64
65
53
52
84
44
82
86
67
67
60
50
58
56
96
59
47
55
57
82
84
57
41
49
94
54
81
98
82
54
67
54
54
45
52
28
69
78
125
48
91
78
87
23
57
92
54
68
78
44
54
44
69
75
30
66
76
87
57
52
60
63
60
88
65
59
72
65
57
70
103
50
64
49
76
45
70
73
54
63
52
59
68
51
77
45
65
65
68
72
61
125
77
81
42
40
100
109
69
72
74
60
39
51
46
53
34
47
58
58
49
50
45
40
60
54
53
70
69
44
61
77
44
53
62
81
47
55
74
52
83
81
91
85
59
45
64
83
49
54
50
82
60
53
69
62
102
49
61
39
81
56
64
58
38
70
48
57
35
71
55
58
36
63
58
66
64
38
57
49
78
69
63
73
72
38
32
67
29
75
66
83
50
79
123
86
49
65
49
42
92
46
30
49
63
58
134
47
65
36
33
44
81
36
101
72
100
65
61
65
80
62
44
69
58
69
79
60
57
78
53
75
78
83
66
37
82
57
60
65
54
106
48
28
51
79
53
52
50
26
69
56
53
35
81
106
58
82
47
33
66
85
73
52
74
81
68
74
48
36
61
50
84
67
97
58
71
45
57
70
70
57
27
38
50
60
53
60
54
103
63
58
57
59
57
108
36
90
43
42
73
37
52
40
53
71
58
41
51
89
51
64
52
67
82
43
90
65
56
54
74
58
105
50
78
77
97
67
54
54
57
60
52
75
38
44
75
73
43
76
53
100
105
40
58
33
94
118
91
59
52
63
87
65
105
97
47
53
69
75
78
62
60
60
111
29
46
55
63
60
70
63
58
54
62
64
81
43
57
117
65
52
60
47
71
67
82
68
75
63
53
54
52
66
70
77
75
83
40
73
42
68
58
75
41
61
51
39
51
74
36
62
62
50
86
68
40
76
49
20
19
57
87
128
59
70
81
59
50
37
41
42
58
81
66
58
56
57
87
57
77
71
47
51
61
43
70
51
64
59
88
66
88
55
33
69
46
27
67
42
55
46
87
28
41
63
66
73
62
83
38
73
23
55
49
63
56
43
41
72
84
67
62
66
54
42
49
38
32
54
82
77
81
95
40
54
74
102
53
83
60
35
87
36
74
64
34
74
51
41
52
36
56
110
80
85
75
53
75
77
48
74
67
48
108
78
51
51
64
79
45
81
58
39
78
52
75
60
58
56
58
43
27
41
49
58
84
79
61
56
75
45
58
66
59
61
52
42
57
66
105
44
76
65
86
51
51
69
82
79
94
106
72
34
77
71
62
66
75
65
60
79
64
55
116
92
76
63
109
35
102
93
53
41
53
72
59
67
80
31
63
44
80
85
39
73
73
80
56
58
86
51
54
71
80
83
80
51
62
55
88
45
39
65
52
87
81
57
57
79
91
36
75
68
55
54
92
87
72
54
70
42
67
111
64
66
92
89
54
42
42
63
61
83
78
43
63
53
47
55
60
83
70
46
74
68
78
45
50
86
26
50
50
74
76
72
70
43
67
36
55
60
79
66
20
34
71
57
44
33
56
98
54
55
44
68
65
107
64
73
51
53
49
78
57
68
75
76
96
49
69
71
72
58
106
32
48
93
37
81
52
39
49
71
68
70
77
49
85
71
56
54
57
40
70
42
70
47
56
56
105
59
31
65
50
53
41
49
36
64
55
88
74
86
46
46
66
60
58
54
69
41
46
53
84
38
37
78
40
68
41
57
51
61
66
87
71
69
66
75
50
91
62
55
51
40
76
26
68
93
57
52
48
76
28
72
48
65
66
84
76
73
79
65
59
58
73
60
29
54
68
57
41
105
40
67
39
44
40
39
42
53
37
48
79
48
57
41
71
66
69
104
47
76
80
74
63
77
31
89
83
73
76
42
58
60
54
77
36
112
82
60
56
28
81
84
75
35
44
79
55
82
94
101
52
90
47
45
61
54
44
24
36
93
56
106
44
41
86
77
74
110
74
47
71
84
56
85
64
66
67
36
50
80
32
94
59
60
58
38
67
65
42
73
79
75
68
51
46
46
63
67
59
57
56
82
43
63
83
71
77
65
23
61
53
55
41
74
79
33
35
68
61
58
77
63
81
39
49
56
61
75
52
58
56
50
96
49
107
129
80
74
55
34
59
63
48
36
65
55
88
45
59
43
71
55
54
56
66
62
45
46
42
66
42
30
71
50
37
57
46
41
48
41
66
79
67
56
84
94
49
42
94
61
96
46
32
51
68
66
102
77
31
62
66
84
97
107
94
59
55
47
48
54
49
49
64
66
61
63
36
62
80
107
81
54
65
49
43
58
64
91
45
52
74
49
68
73
36
40
44
33
59
83
88
36
70
80
49
47
56
55
41
51
48
33
45
56
76
71
44
60
52
92
51
77
56
84
53
100
71
65
57
49
36
58
78
63
103
75
75
50
85
56
95
32
48
58
63
42
123
66
77
46
65
76
66
62
52
83
55
31
48
84
60
75
38
59
76
92
92
71
65
67
84
65
58
43
38
64
78
55
65
84
80
40
61
48
64
73
44
86
53
68
60
69
74
56
147
76
59
57
81
81
84
28
62
42
62
51
55
73
97
103
37
82
92
86
39
67
99
80
99
51
42
74
49
39
70
44
34
62
54
52
76
55
47
85
75
76
88
64
87
38
52
61
44
73
51
54
42
47
71
53
37
44
84
68
57
35
31
40
83
36
58
53
38
90
73
76
63
81
48
41
76
106
59
68
46
68
48
49
68
53
60
86
90
55
67
75
52
82
39
53
55
39
59
75
58
63
56
56
63
65
93
46
72
36
71
51
58
67
78
70
68
98
69
94
77
35
67
53
57
84
56
101
80
95
54
37
68
72
66
50
59
83
73
85
88
74
46
52
86
40
37
83
42
52
105
80
70
80
122
72
53
97
75
68
57
48
29
63
71
52
53
67
48
46
78
74
60
58
46
85
75
61
43
66
80
49
89
63
60
62
51
42
84
31
43
56
29
43
60
64
61
56
89
72
52
57
33
72
59
55
74
47
43
58
70
73
44
58
60
119
60
84
57
71
69
85
72
42
29
55
98
49
27
55
40
42
58
48
63
56
70
52
42
58
77
75
65
64
54
30
49
109
54
54
34
62
49
73
67
70
65
56
27
75
42
43
83
37
60
87
55
49
82
54
79
61
31
43
64
90
33
37
83
122
59
62
73
29
58
64
62
91
76
45
52
40
90
39
44
80
59
62
62
23
87
58
58
56
72
47
57
58
78
67
49
95
76
40
34
58
67
65
44
47
57
41
54
52
40
87
49
54
34
30
59
42
33
73
42
45
102
55
76
65
97
54
33
91
47
90
65
63
40
42
57
55
81
69
49
40
54
62
77
59
59
97
82
75
45
40
41
87
62
57
72
72
52
65
72
67
65
36
57
39
80
71
75
80
67
61
70
53
75
55
58
89
66
36
92
53
104
71
28
74
69
91
41
70
66
98
31
34
67
85
75
74
55
51
83
52
85
59
60
31
57
51
61
91
94
31
30
121
55
69
53
43
111
77
68
34
57
58
47
88
41
80
73
24
69
60
67
52
45
89
78
44
74
38
71
42
60
66
45
62
75
55
75
82
81
47
46
50
46
48
58
58
51
75
70
91
48
44
60
48
62
41
48
61
73
63
81
76
66
81
74
114
66
52
55
62
57
33
44
64
56
41
39
93
89
79
67
54
55
33
90
50
72
82
92
50
61
68
40
65
87
66
54
77
50
58
71
54
54
40
64
57
75
48
33
68
59
47
119
44
46
93
43
94
56
48
64
39
69
43
29
61
52
51
53
70
59
54
86
100
47
74
49
84
51
45
68
95
54
60
80
99
53
83
56
60
51
46
88
77
68
48
56
57
57
77
114
52
40
42
67
61
60
66
102
58
126
48
48
90
78
103
69
56
85
75
64
64
83
59
63
81
54
59
31
43
97
54
97
72
75
49
76
55
53
89
88
78
64
47
62
49
73
64
64
55
54
80
52
41
43
93
84
71
78
75
49
77
43
66
57
55
46
64
52
65
81
31
46
41
37
72
63
57
72
84
53
39
84
71
86
42
64
57
83
74
61
72
61
59
61
46
64
71
39
81
60
63
82
78
64
67
106
51
78
46
84
100
64
77
47
50
64
87
42
63
73
64
49
36
87
55
50
58
85
71
68
66
33
106
71
60
60
44
68
29
66
35
54
56
63
53
48
52
45
78
89
85
75
84
63
68
56
69
59
46
39
98
70
71
37
54
72
94
50
60
86
39
49
70
65
68
71
71
33
64
42
39
56
43
64
60
68
46
108
61
47
65
105
72
31
62
90
111
78
51
37
88
38
56
47
75
71
65
46
24
51
35
67
71
81
50
78
41
103
36
62
99
53
88
48
57
76
77
34
74
94
56
53
41
45
47
41
62
82
56
124
35
65
70
48
52
75
58
62
55
44
42
38
35
53
58
67
65
77
58
64
73
89
49
33
84
34
75
59
67
53
81
59
44
84
68
94
84
30
50
50
68
70
79
59
58
61
64
38
74
67
129
47
56
43
43
77
63
25
110
30
62
90
41
82
84
48
77
75
66
54
42
95
63
92
96
61
56
65
70
75
59
51
28
34
43
62
43
46
61
56
39
31
42
55
56
50
78
47
61
69
77
95
44
113
48
65
50
69
53
57
49
93
34
48
63
42
58
61
56
47
55
83
93
44
37
39
51
73
70
47
53
50
54
64
64
55
40
47
38
74
90
66
37
102
38
39
40
33
83
34
58
39
66
56
88
52
105
96
87
48
41
34
40
46
84
49
39
63
36
34
61
67
46
26
46
49
80
51
50
48
61
72
45
77
62
33
44
50
49
82
57
82
104
54
84
47
80
70
73
60
67
62
77
94
39
67
60
34
55
100
66
39
65
64
59
66
59
59
77
67
57
61
92
46
47
89
54
57
45
46
55
97
37
121
54
51
60
101
84
64
87
63
69
75
44
103
38
47
39
44
80
57
63
125
72
50
70
47
87
61
83
60
76
53
61
57
54
96
47
78
76
46
60
24
69
79
42
29
85
51
38
110
81
70
60
80
69
44
84
92
44
72
44
76
52
85
43
91
38
56
72
53
54
65
58
84
68
39
57
56
40
37
46
69
74
67
54
96
52
38
56
46
152
44
82
46
50
65
47
60
121
59
118
84
44
42
106
115
73
58
92
37
66
44
85
60
70
121
55
25
44
71
67
43
63
54
44
30
42
63
75
39
87
42
36
53
72
52
72
118
46
70
80
113
52
87
40
59
48
71
54
85
61
63
33
57
71
49
65
62
48
73
40
81
63
65
71
70
73
61
48
75
71
73
38
87
105
64
65
41
77
45
57
56
63
59
45
76
60
40
56
45
45
60
68
62
47
43
35
45
83
49
65
57
40
76
44
47
64
26
48
52
94
58
53
58
42
66
61
61
66
64
59
64
61
59
54
55
104
57
102
41
129
86
70
41
47
117
56
66
38
114
49
48
53
46
80
51
69
52
63
60
37
47
51
81
69
76
56
65
48
70
27
64
67
64
64
96
35
38
49
43
31
44
95
77
68
74
65
47
54
40
84
59
62
78
36
65
69
121
77
69
58
62
38
86
69
66
43
89
55
51
67
65
73
64
41
61
45
57
57
65
82
25
49
90
43
70
35
32
81
74
30
63
74
55
76
45
76
105
81
58
49
45
51
44
69
59
64
83
71
62
66
60
67
25
57
60
69
70
60
50
46
55
63
35
56
55
76
37
78
58
70
72
45
42
64
40
65
50
76
50
57
107
47
49
26
45
60
51
75
86
46
21
57
45
71
74
91
61
42
78
58
55
57
55
87
40
44
65
56
80
60
69
87
54
86
75
65
53
93
47
36
34
82
93
64
77
50
61
80
56
52
72
48
36
54
61
67
61
53
46
83
49
47
66
86
84
83
63
60
41
73
43
93
67
58
47
72
32
87
58
84
77
79
75
37
39
97
38
40
60
70
66
26
57
48
118
47
124
95
95
39
48
32
56
57
42
75
60
69
59
62
73
54
56
47
62
59
48
87
37
58
81
76
58
35
86
86
61
46
64
59
75
46
114
89
32
55
46
77
48
89
49
44
67
82
34
57
61
57
80
49
70
70
48
65
50
47
32
60
34
42
87
44
68
28
32
73
41
61
80
83
44
124
86
52
90
61
125
78
67
65
69
63
81
45
45
58
40
36
59
42
84
58
78
72
65
87
39
72
77
31
35
31
48
51
77
74
36
50
31
61
62
50
63
55
57
60
68
49
38
45
47
45
101
51
54
38
92
40
56
53
85
74
29
74
57
37
74
80
25
31
74
40
103
59
66
77
78
69
65
57
33
76
65
83
52
38
61
71
69
42
48
50
60
78
67
68
31
57
43
80
57
70
41
66
43
56
52
47
72
27
75
76
53
61
88
80
57
63
71
62
45
47
85
44
79
56
47
80
60
52
74
67
32
78
71
53
93
61
86
58
29
90
52
70
82
44
90
57
51
74
74
54
48
38
92
70
61
74
88
32
90
82
38
56
60
55
39
115
68
79
75
98
54
61
78
46
57
66
51
66
39
84
53
57
69
39
57
39
67
68
51
37
36
44
78
56
64
58
50
47
94
78
39
53
64
55
58
49
32
28
88
59
39
75
83
59
47
52
68
55
52
65
38
68
53
57
112
77
65
36
35
34
64
46
54
45
54
58
44
78
63
79
58
62
68
51
72
35
66
69
63
76
56
48
104
40
101
93
66
95
68
52
49
97
77
35
69
50
69
65
94
52
101
68
62
53
88
76
50
109
87
41
51
70
41
53
53
81
94
58
91
62
78
48
70
63
49
42
60
47
47
33
43
74
35
65
55
24
24
97
47
48
44
57
81
57
71
54
41
71
88
48
74
39
73
95
77
63
64
41
78
34
44
45
81
68
65
72
85
54
58
64
74
73
58
33
88
73
45
64
90
50
92
49
85
67
41
51
129
54
117
37
45
31
56
79
80
79
59
34
54
52
65
65
49
60
47
45
33
101
30
58
55
104
76
59
133
108
68
56
39
61
79
32
42
51
44
60
58
45
45
62
49
124
31
75
74
61
74
77
74
56
78
47
46
77
86
40
58
45
59
62
57
59
58
47
57
42
47
45
63
39
43
49
75
85
50
64
52
71
77
100
54
72
66
116
68
50
47
35
47
84
40
78
61
64
30
56
71
33
38
41
71
71
59
78
39
61
86
48
29
133
69
36
36
97
82
65
72
44
66
69
30
44
69
62
68
39
91
74
120
90
39
46
117
52
58
58
82
66
32
53
70
50
55
74
50
56
55
81
50
81
53
73
65
60
60
36
56
73
48
37
71
34
75
90
60
66
48
44
69
63
31
88
68
54
64
52
50
75
67
69
81
89
58
44
83
117
31
36
62
65
47
84
86
77
58
82
80
89
26
43
68
42
66
111
86
68
90
120
55
52
78
72
58
91
73
65
89
67
55
71
64
79
58
91
68
33
62
82
95
40
60
47
40
60
49
54
69
48
48
57
41
96
99
75
54
48
54
53
57
48
77
25
44
57
44
85
41
43
89
43
62
43
71
59
97
54
75
55
44
67
69
49
46
60
50
65
112
85
28
70
66
69
36
35
40
67
74
96
48
49
69
33
97
63
57
76
44
58
61
26
64
53
52
74
51
70
106
117
40
53
86
57
47
72
58
64
105
56
81
63
66
54
82
63
69
50
67
66
63
85
35
48
61
48
80
77
74
48
63
59
55
54
78
82
67
73
108
66
60
73
73
82
63
49
85
79
80
47
68
86
59
74
56
48
65
53
70
63
59
77
31
43
86
54
92
75
57
47
53
71
36
35
97
45
87
49
64
82
79
50
83
54
49
59
91
79
44
32
70
82
91
114
58
38
32
71
67
60
76
68
44
73
52
59
93
38
40
74
65
58
46
79
49
53
103
82
67
84
47
55
42
74
83
53
40
27
81
78
80
80
69
71
40
55
49
84
78
26
69
67
56
42
66
51
71
47
57
42
43
44
77
29
45
60
45
67
42
59
34
47
60
65
45
89
42
73
43
86
79
69
51
69
61
58
