11
9
10
11
10
10
12
12
11
10
10
11
9
11
11
12
11
11
11
11
11
11
10
11
11
11
11
11
10
11
11
11
11
11
10
11
11
10
10
11
10
10
10
11
11
10
11
11
12
11
11
11
11
12
11
10
11
10
11
11
11
10
11
10
12
11
12
11
10
11
10
10
11
10
11
11
10
11
11
10
11
10
11
11
10
11
11
10
10
11
10
11
11
11
10
10
11
11
10
10
10
11
11
11
10
11
10
12
11
11
11
10
11
10
10
10
11
11
12
11
11
11
11
10
10
10
11
9
10
11
10
10
10
10
11
10
11
10
11
11
10
11
10
11
11
11
11
11
11
11
10
11
11
11
10
11
10
11
10
10
11
11
12
10
10
10
11
10
10
10
10
10
11
10
11
11
10
10
11
11
11
12
11
11
10
11
9
11
10
12
11
11
12
11
11
10
11
10
11
11
11
10
11
10
11
12
11
11
10
10
9
9
11
11
10
9
11
12
11
11
11
10
10
11
11
11
11
11
11
12
10
11
11
11
11
12
12
11
12
11
11
11
11
11
11
11
10
10
11
12
10
11
11
11
11
11
11
9
11
11
11
11
11
10
11
11
11
10
11
10
10
10
10
11
11
11
11
11
10
11
11
11
11
11
11
11
9
11
11
11
11
11
10
11
10
10
10
11
11
12
10
11
11
11
11
10
11
11
10
11
11
11
10
11
13
12
11
11
9
10
10
11
11
11
10
11
11
10
11
10
11
10
11
11
11
10
10
11
10
10
11
11
10
10
10
11
11
11
11
11
11
12
11
10
11
10
11
11
10
11
11
10
11
10
10
10
10
11
11
10
10
10
10
11
11
10
10
11
11
10
12
10
10
11
11
9
11
11
12
11
10
11
11
11
10
11
11
10
12
11
11
11
10
9
10
12
11
11
10
10
12
10
11
11
11
11
11
12
11
11
11
10
10
14
11
11
11
11
10
10
11
11
10
10
11
10
10
11
10
11
11
11
11
11
10
11
11
11
10
11
11
10
10
11
11
11
10
11
11
11
12
10
11
11
11
11
10
11
11
10
11
11
11
11
10
11
11
12
11
11
10
11
12
11
11
10
10
11
11
10
10
10
11
11
11
11
11
10
11
11
12
10
11
10
10
10
10
10
11
10
10
10
10
12
9
11
10
11
10
11
10
10
9
10
9
10
10
9
11
10
11
11
11
12
10
11
11
11
11
11
11
10
10
11
11
10
10
11
11
11
12
11
11
11
10
10
10
11
12
10
11
10
10
10
11
11
11
11
11
10
10
10
10
11
11
9
11
9
11
11
11
11
11
10
11
10
10
11
11
11
11
11
11
10
11
10
10
10
11
11
11
9
11
11
10
10
12
10
11
11
11
10
10
11
10
12
10
11
11
11
10
10
11
9
11
11
11
12
12
10
11
10
10
10
10
10
11
11
11
11
11
11
10
11
11
11
10
10
10
12
11
11
10
10
10
10
10
11
11
11
10
11
10
10
12
10
10
11
11
11
10
10
11
10
11
10
9
12
11
11
11
10
11
10
11
11
11
11
11
10
12
11
9
10
11
10
11
11
10
11
11
11
11
11
11
12
11
10
11
10
11
11
12
11
10
10
11
11
10
11
10
11
11
11
11
11
10
10
11
10
11
11
10
12
9
11
10
9
11
11
11
11
10
11
12
11
11
11
10
11
12
11
11
11
11
11
10
10
11
10
11
11
9
10
10
11
11
10
12
9
11
11
10
11
10
10
11
11
11
11
11
11
12
10
11
11
12
10
11
11
11
10
10
10
11
11
11
11
11
10
11
11
10
11
11
11
10
11
11
12
11
11
12
10
11
10
10
10
11
11
10
11
11
12
9
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
10
10
11
11
12
11
10
11
9
11
11
11
12
12
10
11
10
10
11
11
10
11
12
10
10
11
10
11
12
11
11
11
11
10
11
11
11
10
11
11
10
10
10
11
10
11
10
10
10
10
12
11
11
11
11
12
10
11
10
11
11
10
10
11
11
11
11
11
11
11
10
12
11
11
10
11
11
11
11
11
10
11
10
11
10
10
11
11
11
10
10
9
10
10
10
11
11
10
11
10
10
10
10
11
11
11
12
11
9
11
11
11
12
11
11
10
10
11
11
10
11
9
11
11
11
10
11
12
11
11
10
11
12
11
10
11
11
10
11
11
11
11
10
11
11
10
11
11
11
12
11
11
11
10
10
11
10
11
10
21
21
19
22
21
21
21
22
22
21
22
21
22
20
21
22
21
22
19
21
20
22
19
22
20
20
21
22
20
21
21
20
22
22
21
21
21
22
21
23
23
21
22
22
21
21
21
20
20
22
22
20
22
16
21
22
22
21
21
22
21
22
21
21
21
22
22
22
21
21
22
22
22
20
22
21
19
22
21
22
21
22
21
20
22
22
20
22
20
19
21
21
21
19
22
21
21
12
23
22
22
20
21
23
21
23
20
21
21
21
20
22
21
22
21
22
20
21
21
21
22
21
21
22
21
22
21
20
21
22
23
22
21
21
21
22
21
20
20
21
21
21
21
21
22
21
20
20
21
22
22
22
22
23
22
22
20
20
20
21
22
21
22
21
21
20
21
21
21
21
22
22
22
21
20
21
22
21
20
21
20
20
21
21
21
21
22
23
21
23
20
21
22
22
22
21
21
22
21
23
22
22
22
22
20
21
22
20
21
20
22
21
22
21
21
21
20
22
21
20
22
21
21
22
21
21
22
22
22
21
16
21
20
22
22
21
20
20
23
22
19
21
21
21
20
22
21
19
20
21
22
20
20
22
20
21
21
20
21
18
20
20
21
20
22
21
20
22
21
22
22
21
21
22
20
21
21
21
21
22
21
21
21
20
21
22
23
21
21
22
20
21
19
20
22
21
22
22
22
21
19
21
22
22
21
21
21
22
22
20
22
21
22
22
21
22
21
20
21
20
22
20
22
21
20
21
21
23
14
22
21
21
21
22
21
21
22
21
21
21
22
21
22
23
22
21
13
21
21
21
22
21
21
22
21
21
21
21
21
22
22
22
20
21
22
22
21
22
21
22
22
21
21
21
22
22
21
20
21
20
20
21
16
21
21
21
22
21
21
21
21
20
21
22
23
20
21
13
22
22
22
21
21
23
21
21
21
21
22
23
22
20
20
21
23
21
21
21
21
21
22
21
23
21
21
21
21
21
22
22
22
21
21
19
22
21
21
21
22
22
21
22
21
20
21
21
20
19
21
21
22
20
21
20
22
21
23
21
22
19
22
20
22
22
21
22
22
20
21
21
22
22
22
21
21
21
22
21
22
21
21
21
19
22
21
23
21
17
21
22
22
22
21
22
22
22
21
21
20
20
20
23
22
21
21
22
21
21
22
21
21
20
20
22
22
21
22
22
22
21
22
15
21
22
21
22
20
22
22
21
22
22
21
21
21
22
21
22
21
21
20
21
22
21
22
21
21
19
20
22
21
21
20
21
19
22
22
21
21
21
23
21
20
20
21
22
20
22
20
21
21
21
22
21
20
23
23
22
22
22
20
19
20
22
22
20
22
21
11
21
22
21
21
21
19
21
22
22
21
22
21
21
21
22
21
21
21
21
22
22
22
21
20
22
21
20
22
22
22
21
22
22
22
21
22
21
18
14
22
22
21
21
20
21
22
20
21
21
21
20
21
23
21
21
19
21
20
22
22
20
21
23
21
22
23
22
22
21
22
22
21
22
21
21
22
22
21
21
19
21
22
21
21
21
22
21
20
22
21
22
22
21
21
14
22
21
22
21
21
21
21
21
20
20
20
22
22
22
21
21
21
22
21
22
22
21
21
22
22
22
21
21
22
22
21
21
21
22
22
21
21
21
21
21
20
21
21
21
21
22
21
23
22
21
22
21
21
22
22
22
22
21
21
21
20
22
20
22
22
22
21
20
22
22
22
18
22
22
22
22
22
20
21
20
20
21
22
19
21
21
21
21
22
21
22
19
21
20
21
21
21
21
21
20
20
22
21
22
22
22
22
22
22
21
21
22
21
21
19
21
21
22
22
21
21
21
22
21
22
21
20
21
21
20
21
22
21
20
21
22
21
21
22
21
21
21
22
21
22
22
21
21
22
21
22
22
21
17
18
21
21
20
20
21
21
19
21
22
21
22
21
22
23
22
22
22
21
20
20
22
22
21
21
22
21
22
23
22
22
21
23
21
21
20
20
22
20
21
20
22
22
22
22
23
22
20
22
21
21
20
22
21
20
22
23
20
21
22
21
22
22
22
22
22
22
22
21
21
20
22
22
21
20
21
21
22
22
21
23
22
22
21
22
22
21
21
21
22
21
21
22
21
21
21
21
21
22
21
21
22
22
21
22
20
21
21
21
21
21
22
21
22
20
22
22
20
21
22
21
21
21
21
20
21
20
22
21
21
22
21
21
21
21
21
17
21
17
22
21
22
22
20
22
22
20
21
22
21
21
21
21
22
22
21
20
22
21
22
21
22
32
30
29
33
32
33
31
33
32
32
30
32
32
30
32
32
32
32
31
31
31
32
30
32
31
32
33
31
32
32
30
32
31
32
32
33
31
31
32
31
32
31
34
32
30
32
31
33
33
31
31
33
32
27
30
34
29
26
32
32
34
32
33
32
32
33
32
30
26
32
31
33
31
24
33
31
30
33
31
32
30
30
30
31
32
32
31
33
33
31
32
32
30
33
33
33
32
31
31
33
31
30
34
30
32
31
32
31
31
24
33
31
30
32
34
30
33
31
32
34
32
33
32
32
33
32
32
31
32
32
30
30
32
32
32
31
32
31
32
32
33
32
32
31
32
32
30
32
30
33
30
33
32
33
30
32
33
33
30
26
33
33
31
32
32
32
33
32
32
33
33
30
33
32
32
32
22
32
33
33
32
31
33
32
32
34
31
31
31
31
32
31
31
33
32
33
30
30
33
32
32
34
31
31
33
31
31
33
33
32
31
32
31
32
33
33
33
33
33
31
32
32
32
33
32
32
31
34
31
26
31
31
32
32
31
31
26
31
32
33
31
32
33
33
31
31
32
32
31
31
30
33
31
31
33
32
31
32
33
32
31
32
32
21
30
32
33
32
23
30
31
32
33
25
33
31
33
34
33
31
31
31
33
31
33
33
32
32
33
30
25
32
32
32
32
31
33
33
33
31
32
32
32
32
32
32
32
32
32
32
31
32
33
33
31
32
31
31
32
32
31
31
32
33
30
32
31
30
30
32
31
30
30
32
23
32
33
31
32
34
31
34
34
32
32
30
32
32
32
33
32
32
32
29
33
33
32
31
31
32
31
32
33
31
34
30
31
30
33
23
33
32
32
32
32
31
33
30
31
32
32
33
31
32
33
31
32
32
31
31
31
33
30
33
31
30
33
32
33
33
31
30
32
32
31
31
32
34
32
29
31
31
33
32
30
31
33
32
30
32
29
32
33
33
32
32
30
30
33
31
32
32
30
27
31
31
32
24
32
32
31
32
31
31
31
31
32
32
31
32
33
31
30
30
32
33
31
32
31
31
32
32
32
32
31
32
31
32
28
30
31
33
32
33
31
34
31
31
32
31
30
31
33
33
31
34
31
32
32
29
33
31
32
32
30
32
33
32
31
31
33
32
31
31
33
31
31
30
33
31
31
31
22
31
32
32
19
33
31
33
32
27
33
33
33
33
24
32
33
32
31
33
31
32
33
31
34
32
32
31
33
32
31
31
32
33
32
30
32
33
32
32
32
33
32
32
31
32
30
32
33
31
31
32
32
31
31
32
32
31
31
32
32
33
32
21
33
33
32
31
33
33
32
30
32
31
31
32
29
32
33
31
33
33
33
31
30
32
31
33
33
31
32
31
34
29
30
33
34
32
33
31
33
33
31
33
33
31
33
31
34
31
31
33
32
32
32
33
31
30
32
32
29
31
33
33
31
31
33
31
33
32
31
33
32
31
32
32
32
33
33
33
33
31
32
32
33
31
31
32
30
32
33
31
33
31
28
33
31
33
34
32
33
33
33
32
31
32
32
33
21
32
31
32
32
32
31
31
33
32
32
32
32
32
33
32
33
32
32
34
33
31
33
30
32
31
31
30
31
31
31
33
33
33
33
33
31
31
32
28
33
33
31
31
31
32
33
30
32
31
32
33
31
34
32
33
32
32
32
32
33
32
33
32
32
33
33
31
31
25
33
32
26
33
32
32
33
24
33
32
32
32
31
33
31
32
33
32
31
31
33
31
32
32
30
32
32
32
32
31
33
31
34
31
32
33
33
31
33
31
31
33
34
31
33
32
31
32
35
32
33
32
31
30
33
32
33
31
33
31
33
33
33
30
32
32
31
26
31
33
31
32
31
32
31
31
34
31
31
31
31
31
29
33
32
32
32
31
30
32
33
31
32
30
33
27
32
31
32
32
32
29
32
32
32
32
31
32
31
31
33
32
31
32
30
31
31
32
31
32
32
32
32
32
30
33
31
33
29
31
32
33
33
33
31
31
32
31
30
32
26
30
32
31
32
32
31
33
32
31
32
31
32
33
31
32
30
30
32
31
32
29
32
31
32
30
31
32
31
32
32
22
32
32
31
31
33
31
25
32
33
31
32
32
32
29
31
32
32
33
29
31
32
33
31
31
32
32
30
31
32
31
32
32
33
33
31
32
31
32
31
32
32
32
25
31
30
31
30
31
31
32
33
30
32
31
32
34
33
31
32
30
32
32
31
30
32
33
31
33
25
31
32
34
33
32
33
32
31
31
43
41
43
40
44
40
41
35
40
43
34
44
41
42
43
41
42
43
41
42
42
37
42
41
43
44
42
42
43
42
44
43
43
42
43
42
43
44
39
43
34
44
41
44
45
40
42
44
43
43
44
42
35
43
43
43
44
43
41
43
43
36
44
43
44
41
43
39
31
40
33
43
44
41
43
43
42
43
42
43
44
44
41
43
42
42
41
42
42
41
42
44
40
43
42
43
45
41
42
40
42
41
43
43
43
42
44
42
42
39
43
42
43
41
44
41
37
42
43
41
43
38
43
44
42
42
43
41
43
43
41
38
41
41
43
34
44
40
43
33
43
42
35
41
43
43
42
41
42
39
41
42
42
43
43
42
42
43
38
42
43
44
37
38
43
42
43
40
43
43
42
42
40
40
43
43
43
42
42
41
42
40
43
39
41
43
43
39
42
43
41
44
44
38
42
43
42
41
43
41
43
43
41
32
42
40
43
39
42
42
41
43
43
44
42
43
43
42
32
42
43
42
44
44
43
40
44
42
32
42
43
42
38
41
44
43
41
41
42
44
40
43
43
41
40
43
42
43
42
39
42
45
44
43
43
40
42
42
41
41
44
44
38
43
41
41
36
39
44
41
41
42
43
43
43
43
40
43
43
43
43
43
43
41
42
43
42
42
42
34
41
43
42
41
41
43
43
43
43
44
43
43
42
43
43
41
41
42
40
43
43
44
43
42
41
42
42
42
43
42
41
45
43
43
41
43
43
42
43
41
42
42
43
41
45
39
40
41
42
39
43
42
43
42
42
33
42
43
41
41
42
42
43
44
41
42
43
39
44
43
43
42
40
42
43
42
43
42
42
41
41
43
42
41
40
30
42
43
41
43
44
43
42
42
43
43
42
39
41
41
40
45
36
37
41
43
43
34
42
42
34
41
44
43
42
42
43
42
43
40
42
42
42
44
39
43
43
44
42
43
43
42
44
42
42
31
37
44
42
40
34
42
41
41
42
42
43
43
41
42
43
41
41
32
44
44
42
43
43
41
41
41
35
42
41
44
44
43
42
45
42
43
44
41
44
42
44
43
40
42
44
40
43
44
42
43
40
41
42
42
38
43
41
34
41
44
43
42
32
42
42
43
41
36
42
41
43
44
41
37
42
45
42
41
43
42
42
43
42
43
34
45
43
42
43
43
44
42
44
43
39
42
41
42
43
44
43
41
42
42
34
42
43
37
43
44
43
44
41
43
43
44
42
43
43
41
41
43
41
43
42
43
42
42
42
39
41
43
42
43
43
43
42
43
43
42
43
44
39
42
41
42
44
40
36
44
42
42
42
44
41
43
41
43
41
43
44
43
41
42
41
44
43
42
35
43
43
42
41
44
42
43
43
42
43
43
42
41
35
40
39
42
43
42
32
43
44
43
40
42
42
45
37
43
42
43
42
44
42
44
42
43
44
43
43
39
45
42
40
42
42
43
42
42
44
40
40
42
42
43
44
45
43
42
45
41
41
33
44
41
41
43
43
43
44
43
32
43
42
41
43
43
38
42
40
43
43
41
43
43
44
41
43
41
41
42
40
42
32
42
37
44
41
43
42
43
42
44
41
41
40
40
41
43
44
42
41
42
43
43
44
35
42
43
42
44
40
42
42
37
43
43
42
43
42
41
41
44
43
41
35
43
41
42
44
41
42
41
43
43
43
44
44
42
43
42
43
42
41
42
42
44
43
43
38
44
40
42
38
42
42
41
42
44
43
44
43
43
42
37
42
43
45
40
36
42
43
42
43
43
32
44
42
42
41
40
43
44
42
40
29
41
42
42
43
40
36
43
42
41
44
34
41
42
43
41
40
42
38
41
42
40
43
44
41
43
43
38
42
44
42
41
42
44
35
34
42
32
42
42
40
43
42
42
42
43
42
43
43
44
41
43
42
43
43
42
41
43
43
42
44
42
42
42
42
43
44
41
42
42
43
43
41
43
43
41
42
42
42
42
43
44
42
43
44
42
43
37
43
43
42
42
41
43
43
43
44
42
42
44
42
43
40
43
42
43
42
41
44
44
43
43
43
43
43
42
43
43
31
43
44
44
41
43
43
41
43
44
43
42
43
43
42
42
44
43
45
42
40
43
44
43
39
44
42
42
43
40
42
42
43
41
36
45
43
42
43
41
37
43
42
42
40
42
44
44
41
41
42
41
42
43
43
42
43
43
40
43
42
42
42
43
42
42
43
40
42
42
43
40
41
41
42
43
45
31
40
42
43
43
42
44
43
42
42
44
40
42
42
44
54
55
54
54
52
52
51
50
53
52
50
52
51
51
53
48
53
44
53
55
53
54
55
45
55
51
52
53
52
53
52
54
53
54
53
51
53
43
52
55
45
50
50
53
51
46
48
53
53
50
50
50
55
54
54
53
44
52
54
53
42
50
51
54
53
50
44
54
52
53
52
43
52
52
51
43
53
52
51
53
53
52
52
53
53
49
53
52
54
53
52
52
53
52
53
51
55
53
46
55
53
52
52
54
52
55
53
45
51
53
54
54
51
54
51
53
50
52
54
53
51
52
53
55
53
55
56
54
53
52
53
53
53
52
54
45
54
51
46
53
52
54
53
51
55
51
53
55
54
52
53
51
52
53
53
52
52
51
55
52
53
47
49
52
52
52
48
53
47
54
55
54
50
53
52
52
54
54
50
54
53
53
51
51
55
50
55
48
55
52
54
52
52
52
51
51
52
53
49
53
53
51
53
54
53
54
51
51
55
54
51
55
54
52
54
52
52
53
47
53
53
54
52
46
52
49
52
53
54
55
53
50
51
53
55
51
54
53
52
53
53
41
53
53
55
53
45
50
51
54
43
55
54
55
52
51
48
51
47
51
52
55
53
54
52
54
49
55
52
53
53
55
55
53
54
54
53
52
53
54
52
53
52
50
53
52
51
34
52
49
53
54
53
52
54
55
54
47
53
43
53
51
53
54
54
49
53
53
54
49
50
52
52
53
53
46
53
53
54
55
54
54
52
52
53
54
53
53
52
53
53
53
52
48
54
51
53
53
53
55
38
47
55
53
54
54
54
51
52
55
54
44
53
53
53
52
52
53
51
43
54
54
50
45
54
53
54
51
53
52
52
53
48
53
52
53
53
55
52
50
55
52
53
53
52
52
53
48
54
52
52
52
53
52
53
55
54
55
53
54
54
51
54
44
52
53
41
54
54
46
55
49
53
53
55
52
50
51
53
53
52
55
54
53
52
53
53
49
52
53
55
54
42
53
54
51
54
54
53
48
53
52
53
55
52
51
51
53
53
54
53
52
54
54
49
50
53
53
51
51
52
53
53
44
54
52
53
53
52
53
53
53
53
54
45
52
53
51
52
52
46
54
49
36
52
52
52
54
52
54
52
54
53
52
54
53
52
52
44
54
51
53
46
46
52
54
45
51
53
54
54
49
53
55
53
52
51
55
55
53
53
53
46
54
54
50
51
53
54
55
54
51
51
48
51
52
54
54
51
42
51
54
51
53
51
54
51
52
45
44
55
55
52
47
54
53
55
42
53
53
45
52
54
54
53
48
42
53
54
47
54
55
54
53
51
54
53
51
51
53
53
55
51
54
55
48
52
55
54
54
52
43
53
51
53
54
52
54
53
52
46
51
48
53
52
46
53
53
54
53
53
53
53
53
50
51
55
54
50
54
53
53
55
54
54
53
53
55
54
50
49
55
50
52
54
51
53
53
53
51
48
54
52
50
55
51
53
52
52
54
53
52
53
52
52
52
53
51
47
52
52
51
46
54
42
52
53
53
53
45
53
54
54
45
51
53
52
50
53
54
51
53
54
53
43
51
46
56
52
52
45
51
55
47
54
54
53
43
55
48
54
51
52
54
52
52
50
54
54
50
53
55
53
52
52
53
52
52
52
53
49
51
52
54
45
51
54
51
50
52
52
54
54
51
50
53
51
54
55
52
54
53
53
53
51
55
52
54
52
55
54
54
54
55
54
52
52
52
53
54
54
52
51
53
55
52
51
54
53
53
45
53
53
54
55
54
54
49
47
51
53
54
54
51
52
54
54
45
55
43
53
54
53
54
52
42
50
54
51
53
52
54
52
51
54
47
53
48
54
53
53
50
52
52
53
54
54
51
54
52
50
53
52
53
48
55
44
53
56
52
55
55
49
51
54
51
51
50
52
54
53
55
52
54
51
53
53
53
51
53
43
52
54
54
54
49
52
44
49
53
56
54
52
52
52
46
52
53
54
53
52
54
52
53
54
53
52
54
49
55
52
52
49
51
53
53
54
53
53
54
51
55
53
52
52
51
54
52
51
53
53
52
53
54
53
52
56
48
53
51
53
54
53
52
53
53
51
54
54
52
54
54
54
55
53
49
49
53
52
55
53
51
53
54
47
44
47
54
54
52
52
53
50
53
52
52
52
46
50
54
53
54
52
46
53
53
52
51
46
47
51
52
51
54
53
55
55
53
55
53
49
48
53
51
42
54
54
54
53
54
52
54
45
54
52
51
53
53
52
56
54
54
52
53
54
55
54
54
53
44
62
64
65
64
64
62
65
66
63
64
63
57
64
62
62
64
62
64
62
64
54
63
65
63
63
63
66
62
62
63
56
63
66
62
62
61
58
54
62
62
65
55
62
65
62
64
65
58
61
63
56
61
64
66
65
66
65
64
65
63
61
63
61
64
66
48
63
64
61
55
58
63
62
64
65
63
65
57
62
64
65
61
63
63
62
63
63
64
61
55
61
62
63
62
63
55
66
61
65
55
66
62
62
61
65
55
65
55
64
65
57
63
62
63
56
61
65
61
57
64
63
64
63
62
62
63
57
56
52
58
65
61
64
63
65
64
65
61
63
62
65
61
62
66
66
66
63
55
63
65
64
61
60
55
64
55
64
63
64
56
65
64
64
64
63
64
55
65
59
63
62
52
61
57
66
62
64
58
64
63
66
59
62
65
64
57
53
62
64
60
64
64
62
61
64
64
55
64
61
64
64
59
62
63
61
61
62
62
63
64
53
64
63
63
65
56
64
61
51
64
55
64
61
63
65
63
55
60
62
64
64
64
61
62
62
63
63
64
65
64
64
64
54
62
62
59
65
63
61
63
62
64
63
64
64
64
63
65
66
65
63
64
63
61
61
57
64
63
61
65
56
65
65
64
64
65
62
56
61
63
64
57
60
66
64
65
62
60
66
58
57
65
58
63
57
61
64
63
61
58
65
65
54
46
62
63
64
66
51
49
63
54
63
64
61
64
61
59
65
64
64
60
55
61
53
58
65
65
54
53
57
59
65
59
60
65
52
63
62
63
63
63
61
63
64
62
61
63
63
57
63
63
66
65
60
64
64
66
62
62
64
54
55
59
64
63
63
64
65
59
62
54
61
61
64
63
62
66
64
64
64
60
62
66
59
63
61
63
61
62
62
51
64
53
61
55
60
57
66
48
64
62
62
63
66
64
62
59
64
64
64
65
59
62
63
63
65
65
64
62
66
64
62
64
56
64
55
64
65
61
59
62
64
58
64
64
53
64
63
64
53
63
63
64
64
63
61
57
65
62
56
65
61
59
62
55
63
65
65
56
66
64
61
63
63
52
57
64
65
61
57
61
64
65
64
62
64
61
63
63
64
65
63
66
63
63
55
63
64
65
61
64
63
55
66
63
62
64
65
63
62
56
61
63
64
64
64
60
56
65
55
58
65
65
62
64
62
64
63
52
65
48
58
64
61
66
65
63
66
53
63
64
63
59
63
66
62
64
64
64
62
62
54
60
65
64
64
64
63
63
64
55
65
64
61
63
62
63
64
64
60
60
59
60
61
62
55
64
62
55
64
65
55
63
63
61
53
64
64
63
54
61
56
64
62
62
66
64
62
64
63
65
62
65
59
62
65
64
59
60
66
58
63
54
50
65
63
63
65
65
64
64
64
64
65
59
63
65
64
64
59
65
61
59
63
62
62
65
63
61
55
64
64
65
63
62
63
63
63
54
64
58
62
66
62
63
63
65
64
64
64
61
61
63
65
62
65
59
63
64
64
63
65
64
64
66
61
63
64
64
62
60
64
65
59
61
65
62
63
52
64
61
63
62
62
55
64
61
62
62
61
60
60
65
51
64
63
62
65
62
62
61
63
61
61
55
61
64
64
64
61
57
54
64
64
58
66
62
62
57
59
62
62
64
65
64
64
61
64
61
63
64
54
63
63
63
65
61
55
59
66
64
61
65
61
61
63
63
58
64
62
57
60
65
63
66
60
64
60
62
65
62
62
65
55
60
63
61
63
64
62
55
57
63
64
64
61
64
62
63
62
64
61
65
64
65
66
64
64
64
65
63
64
64
64
65
64
64
63
53
58
54
61
60
63
64
59
61
64
66
62
65
62
64
64
62
58
64
63
64
57
64
66
66
62
64
62
64
61
63
65
63
64
60
62
60
65
63
63
63
64
65
63
65
63
64
63
64
62
65
59
63
64
65
64
57
60
66
63
63
58
57
54
54
63
64
62
65
56
61
65
58
65
65
58
59
65
63
57
59
65
65
62
63
63
65
62
55
55
62
55
65
60
63
56
64
54
56
63
53
61
63
60
64
62
63
63
64
64
59
64
65
62
62
64
54
63
64
57
61
64
65
60
60
65
64
64
65
64
61
64
63
61
62
59
55
66
65
64
65
53
63
63
64
63
63
58
63
63
65
56
63
63
53
57
57
66
63
63
62
63
64
64
63
63
65
63
65
63
64
59
61
58
51
55
61
62
58
61
64
64
62
63
64
60
63
62
62
61
64
62
65
64
62
64
58
65
62
56
64
75
73
73
71
76
74
73
74
76
75
72
74
74
73
72
75
74
74
73
64
72
72
59
76
73
68
69
70
77
75
68
68
68
75
73
75
73
74
75
62
74
76
76
72
76
75
73
71
73
74
73
73
73
76
74
73
73
73
70
68
68
69
71
70
75
74
74
75
74
71
74
64
70
74
71
72
74
69
72
59
72
72
72
72
74
72
64
70
73
70
71
74
72
75
69
74
76
71
67
73
66
68
74
74
75
72
74
65
65
75
64
75
76
74
76
68
76
75
72
75
73
74
73
73
68
70
75
61
70
71
75
74
72
74
75
76
75
74
74
75
74
67
76
73
75
75
75
72
75
74
73
72
72
71
55
77
75
62
72
64
76
71
73
66
74
69
74
75
61
74
67
75
74
76
73
68
76
74
75
69
69
63
69
76
75
74
74
75
76
72
71
67
73
75
74
74
76
67
69
76
68
72
74
73
75
74
73
74
69
66
74
75
66
72
71
75
74
75
74
70
59
71
73
65
74
73
69
74
74
73
60
75
67
74
67
66
62
67
74
75
69
75
75
66
74
72
71
72
75
67
73
76
73
72
71
74
70
72
70
74
73
74
74
72
74
68
66
66
73
75
73
67
69
73
74
75
73
73
73
73
68
74
73
74
73
71
68
75
68
63
72
75
73
69
72
70
72
74
74
71
69
73
69
73
75
73
70
76
71
73
70
70
69
72
76
68
70
71
67
76
75
75
71
73
76
63
71
72
74
76
74
71
74
71
75
75
70
74
73
66
74
73
73
74
73
72
76
67
67
72
57
74
76
67
70
71
73
75
72
69
74
75
62
74
74
72
69
73
73
75
61
75
69
73
58
74
71
70
69
72
74
76
73
76
72
61
69
74
74
70
75
74
73
75
73
69
67
73
75
73
76
70
73
76
70
75
67
75
75
75
72
71
75
65
76
69
70
75
66
76
69
61
76
69
76
74
70
74
70
74
74
70
73
76
73
69
74
75
76
75
74
74
76
68
75
68
72
75
72
64
76
70
73
75
73
74
65
64
76
72
70
67
74
73
64
75
73
74
68
74
65
58
74
74
70
75
75
63
67
68
74
75
63
71
71
66
76
75
75
67
64
75
75
72
74
69
74
73
72
76
72
77
74
74
71
75
72
64
72
72
68
65
74
74
65
72
67
71
72
71
75
75
74
76
75
74
69
76
75
73
74
66
69
76
72
73
72
74
74
70
62
71
73
72
73
73
75
63
66
75
73
75
66
71
69
65
75
74
73
75
77
76
66
72
75
72
76
73
71
65
75
72
77
73
75
73
71
73
75
63
74
74
74
67
74
74
74
71
69
75
75
74
72
75
69
72
73
74
75
74
74
74
73
74
66
75
76
66
73
73
72
70
74
74
68
74
73
66
66
76
67
75
76
71
74
75
75
76
74
66
76
72
73
68
67
72
73
75
74
65
72
72
77
76
66
72
77
68
65
75
72
75
74
77
76
62
73
72
75
73
74
75
67
72
75
76
76
74
70
75
75
77
73
77
63
73
71
76
75
75
64
73
72
63
63
72
67
69
73
76
76
68
74
76
74
74
73
75
76
72
76
76
73
73
73
74
71
74
76
76
73
71
74
73
73
73
65
75
75
74
71
75
64
75
69
76
71
73
66
74
74
72
70
65
73
69
76
70
74
71
73
62
74
73
73
70
74
69
73
74
75
76
74
76
70
66
69
73
73
74
74
69
74
75
65
75
67
69
72
75
69
73
72
60
74
75
75
73
76
72
68
75
72
76
73
74
69
77
74
74
69
71
69
75
75
70
69
67
74
71
63
75
74
73
73
60
70
64
73
53
70
66
75
72
74
63
76
76
74
71
61
74
73
75
77
76
74
73
74
75
67
75
63
74
63
67
62
74
65
67
72
75
73
75
75
74
74
67
73
73
72
73
74
75
68
74
75
69
69
73
75
75
74
71
72
75
74
73
75
75
73
59
77
76
66
74
73
74
67
76
68
74
75
74
73
73
75
70
73
74
74
73
74
72
70
74
76
73
75
71
75
62
63
76
72
72
69
73
74
72
73
74
76
73
73
71
69
72
66
72
74
73
75
66
66
75
74
73
66
73
69
68
73
74
73
64
75
66
73
74
76
70
73
75
69
72
72
72
73
73
76
75
72
74
74
74
75
75
72
71
71
75
70
75
76
70
75
76
69
75
75
69
72
73
75
73
69
77
77
74
75
66
76
75
70
73
74
69
73
74
70
64
72
74
73
76
74
73
61
73
82
72
84
83
84
71
78
84
86
83
84
69
79
81
87
84
80
76
84
78
81
65
85
76
83
81
80
83
85
86
72
78
83
82
85
86
78
85
81
83
74
77
77
86
78
83
81
84
79
85
83
76
86
87
78
85
79
82
72
85
86
84
83
85
86
79
82
78
84
83
81
80
84
72
87
87
86
78
84
87
84
86
84
79
81
87
85
75
82
87
58
85
80
85
85
78
86
78
85
82
72
83
76
82
85
84
74
87
86
85
83
85
81
74
83
76
82
86
88
77
80
83
81
82
80
83
85
84
82
85
69
84
81
80
82
74
82
85
85
84
82
85
81
84
83
83
73
75
71
83
72
84
83
82
85
86
77
85
79
75
83
87
83
85
67
85
84
82
84
86
79
83
80
83
85
85
85
62
83
81
85
80
80
74
83
76
84
78
86
85
67
81
78
86
86
86
83
87
81
76
86
80
74
82
84
75
87
84
78
75
75
86
85
85
84
84
83
78
77
84
69
87
70
78
85
79
77
83
83
87
75
79
82
87
86
79
68
86
86
85
78
83
85
81
84
85
81
75
83
83
87
82
86
77
83
84
86
82
85
83
82
84
86
84
85
80
86
78
87
84
87
79
77
73
83
85
81
78
83
77
76
81
84
82
78
78
84
85
86
87
85
85
84
85
75
80
82
80
86
86
80
69
73
84
85
82
86
82
84
85
83
74
86
81
83
87
76
83
83
85
81
85
85
82
83
84
84
82
84
86
83
79
86
83
86
79
84
85
83
75
82
83
86
84
84
76
79
86
80
77
71
84
75
76
83
80
84
80
83
75
86
85
84
83
80
81
86
82
82
86
85
87
80
83
85
80
84
84
85
84
75
82
85
84
77
62
85
84
82
87
84
86
82
88
79
84
85
86
84
87
77
78
77
84
82
79
86
86
85
82
72
86
72
80
84
87
86
76
81
86
86
77
81
84
74
87
83
86
83
87
75
83
82
74
77
77
83
88
84
83
82
85
87
77
85
83
84
87
87
83
79
79
86
84
75
85
85
86
81
86
87
82
85
87
84
85
75
83
79
84
83
86
86
85
77
72
81
71
84
73
87
83
86
86
80
75
81
86
83
83
85
86
85
80
82
79
79
82
87
76
86
77
79
82
80
76
86
84
85
85
82
64
83
85
74
84
85
72
86
84
80
82
85
86
83
73
83
77
83
82
80
77
80
87
88
85
85
84
82
86
71
86
80
85
75
86
77
86
77
83
80
87
83
87
82
79
87
81
75
86
87
82
84
84
85
83
85
85
84
82
82
82
86
77
70
82
83
82
86
82
84
72
74
78
84
71
84
84
86
74
81
85
78
85
74
83
85
82
77
84
75
86
85
84
78
68
86
87
82
87
84
83
82
85
87
81
86
84
81
82
81
84
79
71
86
85
78
85
85
80
85
86
83
88
86
86
85
85
81
83
83
85
84
85
83
84
81
68
83
84
77
84
79
76
84
84
83
85
71
76
85
84
88
83
86
75
87
84
75
84
73
79
76
76
82
80
86
84
80
85
83
83
86
81
85
76
73
71
80
85
86
88
86
68
81
86
80
86
76
74
88
64
81
85
85
81
84
85
81
85
86
85
83
85
75
83
84
87
85
88
76
80
85
80
84
87
83
85
83
81
84
78
81
84
84
76
79
83
85
75
82
85
84
76
82
72
87
74
70
75
85
78
85
84
86
82
82
82
82
78
86
86
83
85
84
81
68
85
83
84
77
81
83
85
83
86
82
73
76
77
84
85
80
80
84
82
74
84
85
88
85
85
78
78
85
77
71
76
84
78
84
85
86
86
75
85
84
85
86
85
86
83
84
78
84
81
81
85
86
84
81
80
73
86
84
85
75
76
75
85
68
86
81
65
82
83
77
81
70
80
84
85
82
75
84
83
84
84
79
86
75
81
78
85
84
79
75
85
86
85
76
87
83
83
78
81
87
86
82
86
79
80
84
75
82
77
84
79
82
86
83
78
83
80
82
83
75
87
86
79
71
86
80
79
77
77
82
77
85
87
84
85
83
83
81
85
85
84
83
78
82
82
83
84
83
76
85
83
82
86
82
82
83
84
85
85
85
83
83
84
81
77
83
82
84
74
86
80
83
83
85
85
76
81
81
81
87
72
83
79
84
86
86
80
77
82
85
82
84
85
84
78
83
85
86
85
85
83
82
85
85
84
80
85
79
85
84
81
83
84
85
85
77
76
85
80
85
74
75
84
88
79
76
83
86
82
87
82
86
87
94
89
92
83
88
92
84
84
98
83
87
94
94
82
96
97
86
83
98
84
95
72
96
97
92
87
90
90
97
95
69
95
87
94
95
83
88
94
85
98
84
70
97
81
92
97
94
94
90
97
91
87
95
88
99
95
96
82
79
93
92
88
90
92
89
92
80
88
88
92
85
92
89
94
92
90
92
88
88
95
99
87
89
85
95
93
92
87
96
81
94
93
88
97
94
89
77
91
95
89
96
91
95
88
95
93
93
85
97
95
91
83
96
94
93
88
96
91
97
86
79
97
91
95
96
97
94
91
98
90
95
93
88
94
92
94
92
86
84
91
97
95
96
93
96
94
85
89
94
88
97
84
95
94
91
91
91
90
89
87
80
95
97
85
85
86
94
88
88
97
92
94
86
93
91
96
97
94
89
95
97
83
97
96
91
87
84
90
95
92
95
98
95
93
98
94
93
96
94
94
94
90
93
77
81
94
81
96
96
92
87
90
96
89
96
95
95
86
99
88
91
94
95
93
89
86
94
88
90
97
95
88
95
83
92
88
96
83
95
95
96
93
85
93
95
83
98
94
93
88
85
97
96
94
94
88
96
80
94
87
84
92
89
92
91
92
94
91
79
96
94
92
96
88
99
93
92
94
97
93
95
94
89
94
92
95
97
95
95
88
86
88
95
96
93
91
95
93
89
96
91
92
85
96
98
94
78
95
81
86
95
82
96
96
94
80
84
98
86
94
93
94
96
85
89
95
95
95
90
84
95
90
92
83
93
90
92
96
94
86
84
93
88
96
85
88
93
95
85
96
96
92
91
83
87
91
94
97
95
76
87
93
88
96
93
88
93
93
89
85
97
91
86
97
89
97
92
87
86
89
94
90
89
94
90
92
94
94
88
87
82
94
93
97
95
93
95
88
92
82
95
95
87
89
80
91
90
92
97
97
94
95
84
94
86
95
85
89
85
90
83
98
94
86
94
85
90
94
95
89
95
83
97
98
97
96
88
95
81
89
96
96
91
88
97
94
98
97
96
83
95
90
95
94
85
95
83
88
95
88
96
94
94
97
97
93
86
95
92
91
98
84
86
82
98
82
98
95
97
90
93
93
94
97
96
94
82
97
93
96
94
95
97
94
85
95
88
86
95
95
93
97
71
96
87
97
95
97
94
97
95
93
95
91
84
88
97
86
87
86
94
82
98
93
97
93
89
84
93
84
96
84
95
95
87
93
87
95
93
95
88
92
93
89
97
86
94
95
94
95
94
95
96
87
94
88
92
95
96
86
94
86
95
89
96
94
99
92
87
90
90
77
95
94
93
96
94
85
93
96
97
87
87
98
95
93
94
95
94
95
94
89
89
92
95
96
93
92
82
94
89
96
94
90
80
85
96
90
96
96
89
89
93
96
96
95
92
87
96
93
93
96
88
95
91
94
97
96
91
74
96
96
84
98
90
79
75
90
93
94
94
96
82
88
92
88
93
85
96
94
89
88
96
97
93
93
93
97
88
96
95
97
87
88
93
94
97
95
93
92
71
81
90
95
86
91
95
87
96
86
94
96
88
96
96
78
79
95
92
95
89
89
92
97
89
95
97
92
95
86
94
85
91
90
94
90
95
97
96
85
88
95
88
95
88
94
93
92
94
93
89
80
96
94
91
87
97
96
82
89
88
77
84
91
94
93
82
96
87
86
98
97
78
85
96
88
79
94
96
95
97
96
91
94
89
93
96
91
95
98
95
86
94
97
91
90
95
88
94
98
97
98
95
76
89
89
97
89
96
88
92
97
98
97
93
96
95
92
94
94
76
94
96
96
94
98
86
95
89
86
96
88
85
97
95
85
92
89
92
93
94
98
94
86
87
93
92
95
90
89
90
96
87
93
88
93
95
96
92
87
95
95
77
88
95
89
94
94
95
86
96
86
96
94
91
88
95
96
93
89
88
89
98
84
98
98
92
82
93
94
92
94
92
94
90
91
97
93
94
96
96
95
83
94
80
81
97
86
90
96
87
85
91
92
95
93
96
94
96
91
88
89
97
85
91
94
92
95
94
96
77
87
96
84
87
94
77
98
88
91
83
97
94
94
95
93
90
90
95
97
96
85
96
90
92
95
84
94
91
86
94
90
84
93
86
95
89
96
90
98
73
94
86
88
95
94
97
96
84
90
86
95
88
94
93
94
96
95
94
92
93
98
81
92
87
96
96
96
93
91
100
96
90
94
94
90
96
87
84
74
66
93
93
95
93
96
95
86
93
87
95
87
85
94
86
85
93
89
94
95
104
91
99
105
104
100
94
106
102
102
103
106
106
91
105
108
97
92
103
103
91
106
106
102
97
102
86
102
102
105
97
103
100
106
98
96
101
96
100
106
100
88
104
103
96
85
102
104
97
92
109
103
96
99
105
105
90
96
105
104
104
106
102
107
100
105
98
96
102
103
99
95
105
97
102
85
97
99
102
98
108
95
105
106
103
96
106
96
100
100
106
105
105
106
104
85
105
104
106
104
98
99
101
106
99
105
87
96
107
107
100
99
104
106
106
105
99
97
98
98
102
95
104
94
99
88
93
106
104
87
103
97
92
96
96
98
105
101
107
105
100
94
82
104
95
106
104
101
96
107
97
94
104
104
107
102
105
91
107
104
82
80
94
96
104
102
94
104
107
104
100
96
95
109
99
106
98
97
96
100
104
105
99
88
104
105
95
100
103
107
105
91
109
98
102
102
100
98
106
106
103
103
97
98
96
105
107
95
103
106
106
103
103
102
108
108
108
99
103
94
104
96
97
104
90
109
103
103
96
97
100
103
98
108
101
104
103
102
107
105
100
95
99
94
105
106
105
95
105
102
109
106
103
96
98
109
97
94
108
96
108
104
106
98
104
103
97
108
105
101
94
98
105
92
97
109
90
95
89
103
86
107
91
108
82
102
106
104
99
104
103
105
106
104
103
103
107
105
93
102
105
104
91
104
89
104
105
104
105
89
107
103
107
94
96
102
92
98
89
106
97
104
105
109
106
105
99
105
96
95
108
106
95
103
105
95
98
95
96
99
100
98
106
100
89
93
108
103
99
103
105
102
106
106
99
104
104
92
109
91
106
99
102
104
106
103
103
102
105
95
94
107
105
107
97
104
101
103
102
105
104
107
102
98
98
109
93
106
106
104
101
106
99
108
107
99
93
98
105
109
97
95
84
99
93
88
102
96
108
96
90
96
86
105
96
104
91
97
99
103
107
106
94
90
89
105
97
99
92
99
106
95
105
96
98
102
101
95
97
86
105
106
87
104
99
89
106
107
106
92
105
105
98
106
103
98
92
104
103
107
107
102
103
101
102
100
108
103
105
101
100
101
97
108
105
107
90
101
108
104
95
101
106
106
103
107
100
106
94
102
101
100
108
106
107
102
105
92
106
100
105
91
96
104
99
105
108
101
97
101
105
102
106
101
107
88
100
106
99
107
107
96
96
79
101
106
100
103
93
91
104
98
103
109
108
98
97
105
96
107
88
103
90
92
95
96
103
99
98
90
99
108
103
108
97
105
105
96
107
96
106
104
101
104
107
105
105
106
104
110
102
107
106
96
104
105
104
100
100
95
100
106
102
93
106
107
103
94
105
108
90
86
106
107
106
92
107
98
99
102
107
106
100
107
100
107
98
106
105
101
99
97
105
101
109
79
105
101
96
103
109
106
108
101
92
104
109
99
89
93
108
106
106
107
96
108
99
100
108
105
102
95
106
107
107
95
94
107
98
103
105
98
106
99
95
100
105
106
95
88
101
94
108
106
104
98
100
105
105
105
107
91
103
102
94
90
105
91
105
103
100
99
101
101
93
90
101
107
104
98
86
104
97
105
100
105
104
98
103
96
103
106
104
105
106
105
104
95
98
96
107
100
92
96
105
94
106
92
105
103
106
106
101
98
100
104
105
90
106
104
96
105
105
102
107
103
102
90
103
105
106
91
94
103
110
106
99
107
101
107
105
89
94
101
107
94
99
88
100
106
106
104
104
103
106
105
100
97
106
105
96
107
107
102
98
98
104
103
104
104
103
106
94
102
106
98
101
107
105
99
108
98
104
98
105
104
99
98
106
107
107
102
105
95
106
104
101
89
94
104
106
105
92
99
106
104
104
103
99
97
103
98
107
99
106
104
101
106
100
104
105
100
103
105
108
105
103
101
102
105
101
106
107
105
106
105
98
95
90
97
106
106
97
104
98
96
105
108
103
87
97
93
96
100
97
107
97
102
98
95
101
105
107
95
101
108
106
98
98
103
98
102
105
93
101
100
105
107
107
104
104
109
103
105
101
92
101
98
99
105
107
105
100
97
99
107
105
106
94
105
106
106
91
110
102
103
100
106
104
104
103
96
108
103
107
108
95
89
104
90
104
105
108
106
103
96
91
108
99
106
95
105
104
94
105
106
100
108
108
103
96
97
107
107
105
100
102
96
97
104
102
109
101
106
101
106
108
92
97
106
105
105
103
88
101
107
100
95
98
86
92
105
102
104
105
107
106
89
106
100
103
97
90
104
107
106
105
105
99
107
114
117
113
113
116
106
115
105
115
104
99
101
118
104
108
106
106
118
115
106
115
116
108
112
116
116
116
101
107
103
119
109
117
117
109
110
106
112
112
109
118
109
115
114
117
102
99
113
96
111
96
113
104
113
117
110
117
117
116
108
112
119
116
119
104
96
109
114
110
105
113
117
104
113
116
112
95
105
113
110
116
99
116
113
119
102
115
107
118
95
108
103
103
113
106
116
118
104
116
106
117
111
109
107
109
105
107
86
116
110
117
119
108
102
106
114
108
114
118
118
105
105
115
109
116
107
116
116
104
116
108
117
106
108
112
104
100
113
118
115
114
113
115
101
113
106
112
115
95
108
117
109
114
105
101
99
115
114
100
106
115
106
103
109
113
105
115
115
111
107
118
115
113
111
109
108
101
116
114
109
100
113
109
116
114
107
115
104
114
118
113
92
115
107
119
109
113
106
109
117
110
115
115
114
117
119
119
114
98
115
99
111
113
116
118
97
120
117
117
116
117
109
111
118
108
118
111
101
92
114
101
100
113
108
114
106
104
112
108
114
115
107
108
117
113
112
104
104
108
109
116
107
116
114
116
112
119
106
104
104
109
103
114
111
108
107
115
111
109
101
102
112
113
114
112
111
110
112
99
97
108
116
117
113
102
109
117
118
115
102
118
115
119
111
109
106
106
109
115
101
116
114
104
117
111
117
110
108
119
109
118
114
99
114
118
108
108
114
118
113
105
105
117
106
108
115
116
108
113
111
109
114
113
97
105
118
119
116
113
111
116
120
118
113
119
116
100
96
117
116
116
113
112
116
118
115
105
104
106
116
114
104
115
118
117
115
114
111
108
105
105
106
105
97
114
106
119
114
111
97
117
116
107
109
114
117
112
109
111
117
118
107
118
116
111
113
117
115
117
112
110
102
119
111
110
117
110
118
106
109
105
108
109
105
111
117
115
115
120
107
104
105
117
101
115
116
101
107
113
101
116
112
111
105
115
118
115
114
106
100
108
114
120
110
118
120
116
117
110
109
98
113
110
110
115
110
112
107
114
110
114
112
102
103
116
104
114
119
119
110
116
111
115
104
107
113
104
112
111
104
106
99
116
111
111
104
107
116
118
103
110
114
112
116
116
105
113
111
107
117
116
111
117
113
117
114
98
108
114
112
116
115
118
104
116
107
96
114
110
114
110
113
108
107
105
118
103
95
106
112
108
105
114
101
114
105
117
99
114
103
110
114
112
115
106
106
102
117
116
104
106
97
104
102
117
110
115
110
106
114
103
108
114
115
109
117
110
107
109
113
108
114
115
114
108
118
106
115
106
99
116
107
112
100
105
112
108
108
118
119
114
105
117
102
118
109
104
102
109
111
109
114
102
100
117
119
101
107
105
111
108
115
107
116
119
116
116
104
114
110
115
112
104
114
119
99
116
114
119
101
113
107
111
95
104
116
100
106
119
113
95
102
117
115
116
116
111
116
104
117
113
113
112
115
114
108
117
111
114
99
110
116
114
109
115
116
109
105
108
109
101
108
106
108
106
108
108
101
103
112
106
115
106
81
120
106
116
116
109
109
115
115
101
102
114
111
111
101
113
114
113
112
119
114
112
111
109
119
114
98
104
116
117
108
117
116
115
114
112
111
116
110
117
106
96
115
109
113
107
103
113
117
115
98
105
118
93
114
108
113
99
112
116
112
118
105
114
114
107
106
104
113
106
115
116
116
112
101
101
113
105
114
107
116
117
100
117
114
104
111
104
116
112
118
118
113
106
116
108
114
110
102
115
113
114
117
116
118
110
102
118
117
106
119
114
119
116
114
117
117
113
105
116
109
114
103
119
110
119
103
112
113
98
119
108
96
112
117
121
115
101
117
106
113
109
115
103
101
111
115
115
111
112
109
108
106
107
106
111
99
110
91
103
108
96
110
110
101
113
119
116
118
112
116
116
114
110
85
113
112
110
114
115
115
113
112
114
115
112
117
104
100
108
94
113
114
119
109
102
113
111
115
107
94
110
106
114
115
120
117
118
103
113
113
118
112
108
107
102
115
118
107
103
118
107
118
94
118
102
97
109
110
106
110
111
96
110
107
96
115
107
118
104
106
109
112
116
115
107
110
111
116
104
106
108
112
106
107
115
109
117
104
108
108
116
116
111
119
118
103
116
112
108
106
110
112
106
110
101
109
108
114
103
107
112
105
112
114
105
106
100
116
115
110
108
115
117
112
108
107
107
117
117
111
98
115
100
114
111
109
110
107
107
118
109
113
117
118
112
111
125
116
128
122
128
127
116
126
111
117
129
119
114
120
123
117
127
120
103
121
107
121
118
112
114
119
121
119
123
127
127
113
122
126
117
127
122
104
121
127
115
126
121
124
115
118
120
126
125
117
117
121
126
119
124
116
120
122
124
113
122
121
119
124
122
127
115
131
120
122
120
131
125
108
126
122
115
117
113
120
129
123
129
118
121
122
121
117
122
112
122
116
123
126
125
118
101
123
116
125
114
116
122
124
111
120
116
121
130
127
122
127
115
123
116
125
124
118
107
127
117
127
129
105
125
117
117
114
128
113
110
129
113
126
119
120
126
130
124
128
124
110
119
115
126
118
128
119
121
126
123
123
129
119
119
114
123
124
121
122
115
120
129
124
126
122
107
129
125
127
120
112
128
129
105
109
124
124
118
124
127
125
116
109
125
122
125
117
111
125
125
113
107
109
120
121
126
124
111
123
124
123
127
128
118
122
127
123
115
129
126
128
109
118
115
110
129
130
127
121
110
115
121
128
122
117
126
115
124
114
116
126
119
121
128
112
127
128
130
113
123
120
126
111
116
109
125
119
122
103
114
116
123
97
115
128
119
121
128
119
118
124
124
129
119
113
125
119
111
127
127
116
110
128
115
129
124
128
129
117
122
123
119
123
119
99
110
109
126
125
106
116
125
108
117
129
111
124
128
128
116
124
124
117
120
108
125
123
120
119
125
119
127
125
129
118
124
122
126
115
121
119
107
122
118
111
112
114
125
118
116
118
121
122
122
127
120
118
126
130
125
112
124
118
126
119
118
114
121
121
119
129
124
125
126
125
126
114
127
129
124
129
124
125
115
127
116
121
126
109
126
125
126
125
115
111
121
121
117
117
111
113
125
124
125
119
111
125
113
116
119
122
121
107
123
115
119
111
120
114
126
127
114
111
123
121
123
127
127
126
120
121
131
112
120
120
113
107
116
124
113
123
128
124
128
120
116
117
127
121
120
127
121
126
115
110
125
128
115
125
102
121
117
128
125
118
124
114
110
121
121
120
125
127
125
123
120
123
124
128
124
126
100
128
119
128
119
120
120
123
118
128
115
124
130
129
130
117
112
127
106
124
118
129
128
124
120
126
127
127
119
121
123
121
111
119
118
125
129
116
116
114
130
129
115
116
107
120
126
112
104
117
126
117
130
126
120
116
116
119
116
124
124
127
106
125
126
125
109
125
128
113
127
117
120
129
120
120
121
110
126
112
123
111
119
111
121
124
127
130
108
115
126
121
128
126
129
130
128
121
123
116
120
121
109
130
118
113
122
116
124
116
121
129
117
128
121
109
124
121
119
111
128
122
125
129
117
125
113
108
124
114
109
113
116
115
126
128
128
126
123
111
122
118
114
124
119
119
112
124
126
128
119
119
121
119
118
122
116
116
125
120
121
111
114
120
126
127
113
117
120
120
119
124
121
124
125
120
110
121
118
125
122
130
125
117
115
126
125
121
128
126
117
125
127
114
113
117
126
118
118
107
118
114
129
123
126
126
123
114
118
130
114
117
119
124
121
120
124
109
114
117
108
115
117
108
125
131
126
126
126
126
122
116
115
114
127
120
121
127
123
107
112
120
120
128
125
115
115
129
117
116
119
122
125
115
120
117
112
118
127
122
117
124
117
127
123
122
129
117
120
126
111
125
129
125
117
117
110
110
110
127
113
121
121
115
118
115
114
113
121
118
127
115
117
128
114
118
116
124
116
120
119
126
110
118
112
117
128
115
118
126
123
111
128
120
127
125
113
126
119
125
123
124
127
108
124
127
126
121
130
101
107
121
114
126
124
125
129
122
125
119
119
109
116
127
129
124
119
126
122
129
128
127
124
122
123
119
128
125
126
127
127
123
117
128
125
106
121
119
107
127
121
120
124
128
115
117
121
128
118
124
109
120
116
116
114
120
124
116
111
128
110
126
129
127
119
108
112
125
125
123
115
125
125
123
120
126
130
120
116
126
121
115
119
115
109
115
111
125
109
128
117
123
117
115
119
121
107
126
125
124
125
128
108
125
118
122
114
127
112
114
125
117
127
107
127
121
111
126
124
116
125
113
123
119
122
126
123
129
103
119
115
126
129
112
123
116
112
125
125
110
121
127
110
118
121
118
129
115
117
115
124
110
124
123
119
129
125
122
119
121
124
122
115
126
127
112
130
127
118
122
123
123
119
127
127
124
128
119
109
121
128
120
125
122
125
115
118
119
120
125
125
128
100
113
128
124
111
110
129
116
115
104
125
128
109
119
118
128
136
120
131
124
139
128
128
127
131
134
128
120
133
131
132
141
133
119
119
133
122
136
113
128
118
128
138
130
136
136
124
131
131
137
122
129
130
128
129
138
138
118
109
134
118
129
125
136
138
130
124
136
123
138
116
129
130
137
129
129
132
138
134
121
137
135
122
113
130
136
127
128
135
139
141
140
132
136
113
126
137
134
132
129
135
124
141
119
132
129
123
139
132
122
128
125
135
135
128
137
123
133
137
135
134
139
117
133
136
124
127
132
129
122
119
135
134
135
130
125
135
118
126
121
121
121
126
123
122
120
126
137
137
133
125
139
135
128
135
123
138
138
130
127
136
140
118
130
117
119
130
125
132
130
128
127
133
129
123
128
130
118
120
129
132
130
132
139
132
120
124
115
124
137
131
130
132
131
124
136
132
134
136
139
127
131
128
134
122
133
121
125
129
129
136
135
127
131
121
134
125
127
133
130
136
128
136
132
124
135
129
132
132
120
132
137
129
122
134
117
139
137
139
135
134
129
131
136
137
131
124
125
139
129
128
134
107
137
129
126
133
128
132
124
141
133
131
118
132
119
125
125
136
131
139
129
129
128
132
139
136
128
128
132
133
107
131
132
115
116
125
129
138
138
122
129
110
123
123
131
121
133
133
136
133
137
131
138
135
136
135
131
118
130
128
134
133
129
138
125
135
123
134
136
134
129
139
106
125
134
131
130
135
125
126
133
128
115
132
127
129
133
113
135
137
125
122
143
134
131
130
128
114
139
124
118
135
122
131
132
127
138
127
136
128
134
123
132
125
137
118
108
130
124
121
130
134
124
115
129
131
121
132
120
128
125
125
131
129
135
138
130
135
138
133
125
131
132
119
138
123
131
129
127
123
139
135
138
132
124
136
129
133
127
122
126
119
132
123
127
131
137
120
122
124
126
127
133
134
135
136
130
128
130
133
129
128
133
132
139
125
119
127
131
128
135
130
128
132
140
140
141
109
129
135
137
138
136
135
123
137
141
134
129
126
137
120
131
125
126
129
122
122
124
140
134
137
133
134
126
127
139
131
124
140
126
124
120
124
137
137
138
133
137
121
136
119
130
124
126
121
135
137
124
137
127
131
138
130
124
138
128
136
119
132
134
138
133
138
116
138
140
132
139
136
129
107
130
132
139
131
121
142
139
125
126
131
135
136
139
127
135
132
132
127
126
136
137
127
126
132
126
130
138
132
131
135
136
138
128
130
134
131
135
132
137
130
130
117
115
132
121
138
135
131
135
121
135
121
125
130
136
135
127
133
122
131
106
129
128
111
136
126
122
136
141
138
131
126
133
137
135
123
132
129
134
126
120
119
133
128
118
125
130
132
136
142
133
110
121
133
135
133
139
137
131
120
138
131
130
118
126
136
130
136
130
120
136
128
135
121
137
115
137
137
127
128
117
134
128
133
137
122
134
131
138
136
117
129
132
138
141
139
134
126
128
116
139
134
126
132
135
126
126
125
135
129
136
127
118
122
129
128
125
133
125
120
137
135
135
139
135
138
126
136
130
131
134
123
140
128
129
127
120
123
138
123
133
138
129
122
120
132
136
134
136
121
126
131
123
123
135
133
138
132
133
132
137
130
132
137
130
133
136
111
111
117
134
119
118
124
125
134
138
133
136
133
138
133
132
138
132
137
135
137
138
137
132
138
127
130
123
117
138
136
126
135
127
119
137
138
133
124
129
136
130
141
138
125
138
127
129
125
138
132
129
140
120
116
126
130
140
127
130
137
128
131
138
127
138
134
137
135
131
125
133
130
107
137
124
127
121
128
138
119
128
136
123
133
122
140
137
136
121
129
130
126
130
128
132
139
121
135
108
138
131
133
122
115
129
125
129
124
129
123
136
129
105
132
137
123
135
120
137
125
127
129
130
134
113
138
133
119
139
138
135
134
117
123
124
136
128
135
133
130
134
134
117
138
131
139
131
135
138
123
137
120
125
134
116
129
121
133
135
137
128
123
123
134
130
130
122
138
139
137
125
138
127
140
136
139
140
136
123
124
122
121
135
128
112
139
122
126
129
130
115
129
138
137
125
138
139
136
124
135
134
134
122
124
139
142
137
138
130
127
119
115
140
130
123
126
137
125
137
130
137
125
129
137
116
137
129
124
130
125
125
120
124
131
113
129
119
127
108
123
111
133
134
125
119
128
127
138
139
128
130
126
128
126
137
128
129
138
140
138
138
135
135
136
138
138
129
134
133
117
133
129
130
133
124
140
138
120
126
137
113
120
132
140
135
131
137
133
146
149
144
136
124
138
142
140
140
130
143
137
139
142
143
141
134
149
138
150
143
142
137
132
152
147
140
150
141
144
146
145
146
138
136
135
147
132
139
144
141
134
138
128
136
150
143
131
140
142
144
142
141
147
136
146
145
136
146
134
144
142
132
142
139
118
143
127
146
138
148
143
142
146
112
146
141
145
135
146
131
129
145
131
144
148
137
141
139
137
140
139
145
140
133
131
153
142
133
142
136
134
136
152
126
144
131
151
148
142
143
135
145
142
141
141
133
127
122
128
147
122
143
139
138
133
138
144
147
130
127
146
139
139
138
139
127
138
141
145
143
129
139
127
151
128
140
135
146
135
143
134
125
135
136
139
137
137
149
125
136
136
148
125
144
134
132
142
144
150
144
147
137
135
152
121
133
146
129
133
129
146
132
128
143
144
142
148
126
149
136
144
150
116
139
144
137
134
128
149
141
140
131
126
148
149
148
138
150
144
148
124
137
132
131
144
140
143
148
145
133
133
147
144
136
148
127
136
131
126
138
152
147
150
139
140
140
142
137
140
130
144
136
138
141
141
144
138
129
130
123
134
149
138
145
144
125
149
147
148
147
145
137
148
144
128
131
147
131
131
147
150
147
131
134
131
128
142
146
132
127
143
135
137
142
136
144
145
143
144
141
139
137
139
143
144
139
133
144
147
148
138
146
136
135
140
148
137
142
136
141
128
130
142
146
143
143
132
149
142
144
134
148
124
151
134
132
131
146
148
144
140
141
145
145
151
147
145
143
130
134
142
144
143
147
130
142
146
125
136
139
104
138
139
139
136
151
134
138
137
135
135
137
142
145
139
138
142
133
133
137
146
138
140
139
140
138
139
132
130
130
139
128
142
139
148
143
150
142
142
123
125
145
140
126
143
140
146
122
147
139
140
124
142
131
142
132
148
140
129
138
149
145
141
139
146
147
132
136
143
137
148
145
136
143
127
147
140
127
140
134
137
136
148
147
135
132
138
131
133
143
142
130
148
132
140
148
142
128
127
143
132
139
145
131
142
138
116
148
142
145
143
138
125
149
132
130
126
138
135
147
142
142
145
145
130
132
138
139
138
143
142
147
139
134
143
134
146
147
136
128
135
146
131
142
140
132
116
148
139
127
148
142
134
131
147
138
144
121
140
138
137
141
140
138
136
141
117
143
126
131
139
146
130
136
147
149
144
141
142
145
131
140
138
140
142
143
142
143
137
149
148
148
135
146
147
133
139
138
138
131
134
138
145
149
148
140
150
126
150
141
147
146
140
134
130
136
136
130
146
136
141
132
144
142
127
137
139
141
136
148
143
147
147
140
140
149
132
135
134
139
139
146
127
137
146
140
144
139
135
142
141
127
122
144
125
150
149
133
128
144
141
133
128
130
138
131
134
135
135
139
138
134
146
135
128
141
131
145
122
143
141
139
146
122
149
151
135
125
142
119
148
145
137
143
129
146
120
145
136
136
144
149
136
138
129
150
145
134
141
123
145
148
140
139
145
149
148
144
146
141
146
130
135
129
139
145
130
133
137
132
138
124
141
132
142
136
146
145
140
122
136
145
140
131
140
148
128
137
143
133
128
146
138
123
137
146
137
138
144
149
145
137
126
140
147
141
142
124
150
149
128
140
144
123
136
130
133
142
141
127
132
131
138
139
131
135
146
145
137
140
127
140
141
141
140
139
149
150
136
142
139
145
145
131
141
131
140
151
127
140
133
145
145
149
122
145
144
148
126
128
130
140
141
121
143
138
143
151
146
130
130
129
146
128
124
141
125
123
144
125
148
148
132
149
149
140
130
136
139
141
138
132
147
142
138
125
134
142
132
140
119
140
129
144
146
150
139
146
140
141
143
136
131
137
134
147
148
133
152
137
136
131
143
143
130
137
141
127
140
118
146
127
144
142
131
117
148
138
142
132
144
134
139
147
141
143
141
141
134
118
146
139
146
143
147
147
136
148
144
126
146
116
129
126
144
142
140
145
133
145
138
148
144
133
138
141
122
140
145
119
149
128
139
139
146
148
127
146
120
131
134
146
135
128
137
138
143
131
132
150
139
144
135
144
145
151
144
147
147
140
127
137
136
134
136
130
145
135
136
140
134
146
136
131
138
148
146
136
149
135
133
139
137
148
146
146
138
127
148
131
145
131
138
138
126
146
138
132
139
136
120
142
138
139
148
142
138
145
129
128
140
140
121
131
147
122
141
129
132
144
135
133
140
141
130
144
143
145
143
142
149
131
142
138
119
131
160
162
152
150
156
154
147
143
147
148
141
147
155
157
148
153
160
141
152
139
153
142
143
141
144
158
145
141
152
147
133
148
155
144
147
149
139
157
160
148
154
152
149
159
152
142
134
161
155
148
142
154
150
141
148
151
156
148
144
128
149
157
152
158
146
151
146
141
131
155
153
143
136
154
147
153
154
146
157
149
133
147
153
153
152
155
151
155
149
144
147
157
150
125
153
148
138
147
158
144
136
150
147
145
156
124
156
153
151
151
145
141
155
140
150
159
119
149
152
151
155
141
159
138
146
150
142
138
146
155
159
145
144
146
143
152
152
138
149
152
147
143
137
133
135
140
153
159
156
130
152
138
142
152
148
131
139
142
160
160
157
138
149
152
155
151
136
123
149
158
162
149
142
127
151
147
143
141
139
153
146
155
154
159
144
157
147
145
141
155
138
132
156
139
154
140
159
149
137
151
142
141
154
152
160
142
149
142
139
150
151
148
144
152
149
155
130
151
153
143
146
149
139
150
132
151
145
152
153
147
143
143
144
162
148
147
147
156
139
158
151
160
153
145
158
159
149
149
141
153
156
148
139
137
136
141
157
155
158
154
142
150
140
157
151
151
148
143
154
141
147
150
152
138
144
152
147
142
152
147
150
141
150
147
155
154
157
135
134
156
152
152
147
151
153
149
142
149
152
151
157
155
152
151
159
134
142
142
146
145
155
149
136
138
141
146
145
122
158
150
153
148
144
151
155
154
147
137
140
149
136
149
141
145
139
152
161
151
140
148
156
154
136
144
141
144
126
148
155
142
148
157
138
137
143
149
153
158
151
146
147
148
148
155
157
147
141
145
156
154
143
158
156
157
158
131
147
160
144
150
151
159
142
154
149
141
155
159
147
146
155
152
137
148
149
147
160
144
146
157
142
136
147
160
145
154
160
142
145
151
151
150
144
141
138
150
140
153
159
161
145
152
146
149
138
146
137
151
154
143
156
142
156
143
155
143
148
149
159
159
151
158
148
138
141
142
147
146
142
120
130
147
145
159
155
141
142
152
153
145
141
157
152
133
133
156
155
158
154
155
147
154
150
148
150
159
155
149
146
140
158
155
160
155
146
150
144
140
151
141
147
139
141
128
146
145
154
147
150
150
150
158
142
146
158
146
148
146
158
148
158
133
153
154
159
150
138
149
145
152
143
147
141
152
139
141
143
156
127
145
148
147
144
149
138
145
144
149
164
151
139
146
148
148
143
142
159
152
149
140
134
155
162
151
158
156
134
145
160
156
147
153
160
154
142
138
159
154
148
149
140
152
159
147
159
144
130
134
147
153
150
136
141
153
160
152
148
161
152
144
146
147
140
154
156
152
150
146
148
144
145
160
156
143
149
160
152
145
133
160
153
147
155
145
122
147
151
158
144
146
152
158
149
148
150
148
159
146
132
162
140
144
149
142
156
160
154
157
148
153
145
157
139
151
150
163
145
146
148
149
151
146
155
152
145
155
155
154
135
159
139
155
139
148
156
146
158
159
133
142
155
148
153
148
158
151
145
140
146
138
148
156
128
159
159
136
150
153
158
156
142
146
136
138
138
139
159
158
149
143
136
154
146
154
139
145
153
151
149
157
161
149
150
139
146
146
149
151
153
155
155
152
155
160
140
143
148
158
150
157
160
160
151
159
159
140
136
149
154
143
143
147
150
156
147
150
147
154
134
152
150
151
151
159
122
159
150
159
135
151
154
147
153
156
139
154
137
155
157
153
142
156
152
140
159
143
143
155
148
124
150
146
145
120
152
148
139
157
148
146
156
134
156
138
153
144
143
144
144
142
139
152
157
146
161
144
160
155
146
158
132
147
156
152
154
155
143
149
150
155
142
146
134
150
149
152
125
152
151
145
156
151
153
151
158
139
151
151
145
148
141
159
154
153
160
155
140
150
163
123
145
154
142
147
158
142
134
150
147
153
159
148
157
153
153
148
138
140
162
141
141
137
142
145
150
144
158
147
149
133
153
156
142
147
141
147
152
158
155
142
148
134
143
153
155
137
146
148
153
131
139
144
157
141
143
144
152
142
133
140
151
146
158
152
159
148
139
159
140
149
158
155
151
144
145
152
156
155
160
144
139
146
152
154
135
137
145
151
152
136
144
147
151
147
145
136
160
148
154
152
151
152
153
146
159
145
149
159
145
154
147
158
135
165
139
152
131
157
144
156
156
143
145
155
145
139
150
150
139
162
142
152
140
141
131
150
161
152
153
149
150
150
146
145
146
131
151
156
146
157
160
130
163
142
167
162
158
150
166
161
153
160
162
165
156
144
144
163
161
161
140
160
147
147
163
162
151
170
160
148
163
155
155
161
162
162
144
151
169
158
146
157
159
164
166
159
152
167
152
147
159
161
168
157
169
159
167
167
165
150
162
162
173
156
159
157
161
159
171
146
155
155
160
159
160
152
149
165
151
155
161
149
162
165
144
146
160
148
145
153
157
161
128
147
163
145
166
155
171
163
155
152
145
160
143
161
143
154
174
156
153
155
160
158
156
168
146
166
139
161
137
148
161
156
170
169
147
169
131
145
162
160
157
160
148
151
151
169
149
155
167
154
153
157
148
160
160
162
147
146
161
141
155
160
151
160
159
164
140
167
149
158
130
165
168
166
167
155
156
156
148
141
160
168
159
143
155
171
166
154
155
163
162
168
162
158
154
138
168
151
155
155
160
148
155
152
141
170
165
145
155
158
161
157
171
172
143
153
162
151
149
159
155
170
148
142
169
162
148
155
166
163
162
175
156
157
154
165
154
164
153
170
151
159
152
159
167
154
159
149
154
147
154
168
150
161
161
146
164
167
164
161
165
169
156
161
164
154
147
158
154
168
159
159
165
163
160
165
170
159
171
166
166
132
165
161
172
160
153
164
164
164
155
146
169
164
159
167
169
165
159
144
147
146
155
168
169
151
168
140
166
169
160
143
150
154
147
141
154
152
160
152
152
157
147
163
155
154
148
152
152
147
166
153
161
146
162
154
155
152
169
157
157
160
155
161
160
158
163
154
163
163
158
158
148
144
161
154
152
166
153
168
158
153
169
159
169
164
151
169
153
158
145
149
163
162
151
149
163
165
159
155
152
147
157
159
158
167
155
154
161
168
141
162
155
151
140
162
158
153
169
168
153
173
171
158
155
171
163
144
151
162
135
158
158
164
156
165
163
158
128
165
150
169
163
152
163
153
149
136
150
170
163
156
165
156
149
150
162
154
166
162
148
158
152
165
168
141
154
151
164
161
166
155
169
154
159
149
141
137
163
159
165
155
155
157
167
167
151
166
160
170
148
164
154
157
150
163
142
159
160
170
172
154
154
165
168
157
157
162
154
160
159
128
148
154
154
147
146
160
154
160
164
148
158
171
153
161
148
161
167
162
154
163
161
152
162
137
141
158
160
163
159
158
155
160
152
165
153
162
151
161
154
151
162
161
159
156
156
147
152
163
157
157
166
153
160
157
161
162
157
159
165
156
162
160
163
147
155
159
145
141
145
168
164
145
153
164
158
150
164
151
171
145
160
163
161
152
163
159
169
166
149
154
158
140
170
157
163
160
151
155
144
161
131
143
149
160
157
167
164
162
147
154
169
154
151
159
166
172
145
160
159
151
164
148
162
157
163
144
160
160
156
148
155
163
164
164
162
158
144
158
174
140
149
156
155
160
156
162
161
157
163
162
164
143
169
166
161
143
157
154
166
156
162
156
164
154
147
160
168
160
165
152
164
169
166
162
162
160
129
154
127
167
161
152
169
153
159
153
161
141
167
155
153
161
159
152
164
157
169
154
166
172
147
155
133
139
167
162
164
157
155
162
167
155
159
151
161
164
169
150
170
146
158
150
166
150
156
162
156
158
150
157
145
165
158
164
155
144
168
159
151
150
156
147
149
149
156
152
164
153
151
163
163
159
147
164
149
163
168
155
166
163
148
171
165
169
152
158
169
148
143
154
166
160
163
157
167
155
167
165
138
154
163
160
138
173
145
144
170
137
165
159
160
172
158
147
158
152
151
138
158
152
153
151
162
162
148
174
157
170
165
162
160
165
163
134
153
163
154
163
155
160
160
155
166
148
146
160
142
164
169
158
157
163
148
152
160
156
146
170
169
169
156
162
166
148
156
143
161
169
171
164
168
143
152
162
153
147
161
167
162
148
144
162
160
144
157
156
156
144
154
153
160
170
150
154
164
153
158
154
160
160
148
163
150
161
152
166
157
164
166
146
149
166
166
149
145
168
159
155
151
148
147
165
166
165
151
166
146
157
148
156
159
170
159
163
158
155
161
161
163
152
162
156
165
150
157
155
159
170
162
150
164
160
149
127
164
146
146
158
157
157
165
167
146
150
156
166
165
149
157
168
159
144
141
156
168
143
162
148
140
163
161
153
168
145
155
141
158
156
151
170
159
152
155
146
147
156
164
158
151
134
162
163
166
148
156
151
150
166
155
153
146
157
167
147
150
160
168
154
150
162
153
152
160
158
149
165
153
158
167
161
160
150
154
158
167
153
171
152
146
172
170
170
156
167
168
168
143
157
170
173
181
178
161
162
170
160
165
169
163
172
180
179
182
154
169
143
165
172
171
170
152
163
166
156
169
174
180
168
157
171
153
168
179
161
176
169
162
164
169
178
171
166
172
167
148
166
180
172
162
169
160
160
173
169
167
180
170
174
166
170
179
164
143
173
157
163
150
153
169
177
167
170
157
168
164
166
166
167
161
167
175
180
162
167
158
170
168
159
164
140
173
163
150
167
164
170
169
159
175
156
149
167
163
155
180
171
163
153
174
169
147
168
157
161
179
154
166
161
166
167
159
163
175
168
172
157
171
167
162
181
170
169
174
155
162
169
161
176
159
158
162
175
183
159
175
156
168
158
164
176
174
163
162
179
145
166
151
165
158
149
163
166
171
162
177
159
158
160
172
151
153
176
156
155
167
173
166
156
165
168
175
167
173
176
167
171
180
161
159
160
171
159
169
167
182
164
178
165
149
170
170
171
163
175
151
163
160
163
168
179
161
167
165
161
153
168
169
158
166
177
166
180
166
163
164
171
177
164
165
157
167
161
161
177
164
170
172
155
180
164
180
171
139
171
177
177
174
176
164
170
166
168
182
171
170
173
161
174
165
158
166
175
163
163
165
180
150
161
166
175
150
176
158
176
175
164
139
167
160
176
141
155
161
174
141
178
172
171
159
156
167
183
163
169
171
170
154
166
155
172
166
164
179
174
168
155
162
163
176
169
162
163
168
150
170
172
167
157
151
182
173
154
172
168
182
169
175
152
178
164
163
156
175
169
173
158
160
173
177
174
172
163
164
153
164
161
161
175
171
165
171
163
173
175
162
161
171
161
154
163
174
164
174
181
165
151
176
173
158
169
166
136
167
181
162
168
169
171
154
161
179
174
173
162
155
144
165
165
168
172
157
173
168
163
153
160
169
157
166
145
165
157
169
160
161
153
149
170
175
177
172
163
170
173
151
182
161
168
164
175
168
164
163
161
181
173
166
166
173
176
162
176
178
175
175
174
161
170
154
155
168
157
154
160
175
166
157
169
162
169
162
161
173
172
160
155
161
164
151
149
167
148
177
155
168
183
155
169
163
171
170
173
175
172
164
179
162
159
176
165
168
173
176
163
160
162
170
164
172
164
170
170
168
171
176
173
180
168
172
159
167
153
159
169
165
167
180
168
164
178
169
179
169
178
158
144
179
146
164
178
169
168
170
141
172
162
147
155
155
172
178
168
173
164
142
135
174
158
157
168
163
170
163
182
183
155
157
162
174
172
157
172
171
163
174
149
154
161
163
180
166
175
161
170
162
162
164
159
178
168
172
177
174
162
176
166
163
172
158
171
166
178
162
162
159
177
148
168
162
149
170
168
162
175
164
167
161
173
169
168
168
170
143
141
160
175
171
173
177
168
182
162
156
161
166
168
162
160
156
168
166
161
158
174
166
169
168
145
171
154
158
163
172
159
180
151
150
176
170
179
155
169
179
163
164
176
164
171
168
166
179
173
162
163
161
175
166
163
152
182
174
174
167
158
159
161
177
170
169
157
171
167
178
174
178
170
172
170
168
176
160
164
169
163
157
168
182
176
155
180
176
164
158
180
163
164
170
178
170
163
171
180
177
174
174
176
148
168
177
172
176
181
174
152
154
164
150
169
155
166
171
168
172
171
159
178
163
155
142
164
176
156
167
177
160
142
174
155
149
170
170
183
176
164
173
170
165
156
172
166
156
161
171
177
167
156
176
168
155
163
173
155
149
173
162
159
168
167
179
175
175
169
169
171
166
156
166
171
159
146
152
165
166
162
135
160
170
175
168
170
174
147
170
159
168
149
178
162
178
172
165
169
166
148
168
166
169
165
165
162
173
165
152
169
153
177
171
169
167
171
166
171
155
164
150
167
169
162
176
174
154
166
171
164
157
175
154
158
162
163
160
174
157
161
165
163
152
156
156
168
171
169
161
169
171
179
149
170
170
172
163
174
154
154
170
181
168
161
168
171
172
168
167
161
180
175
165
147
179
165
179
154
172
168
140
170
149
149
166
156
168
160
172
155
169
152
165
172
174
169
169
167
171
167
165
173
170
169
162
164
175
164
181
157
170
161
161
170
175
160
166
156
178
159
165
162
179
167
165
145
169
174
176
155
176
171
169
177
165
181
174
167
167
156
166
168
171
171
180
161
177
158
144
168
174
158
163
165
161
167
164
165
177
152
164
158
173
162
173
167
171
174
160
161
163
178
169
168
172
179
150
174
156
159
177
167
177
177
189
174
195
171
185
180
188
175
190
186
170
183
174
190
170
167
172
177
149
182
172
186
166
179
188
176
177
174
183
178
169
172
166
166
159
171
170
177
185
177
167
176
179
175
168
169
162
186
179
184
154
178
170
179
179
178
180
180
177
184
150
169
179
180
174
188
176
173
162
187
183
183
153
163
174
170
166
158
171
179
155
167
188
189
171
167
162
178
178
174
164
181
155
160
184
184
163
172
181
185
150
180
184
179
188
179
173
164
192
172
179
163
176
174
173
180
178
181
167
182
164
180
176
178
183
187
184
178
179
186
183
171
150
170
183
185
178
175
176
186
166
170
157
156
186
170
181
190
180
159
182
184
178
166
168
183
183
155
167
180
156
176
171
180
166
161
161
174
174
164
185
184
174
181
167
182
190
174
167
157
169
168
176
184
189
162
166
182
170
182
159
174
172
172
158
156
179
183
166
166
169
173
162
191
188
188
168
177
169
183
174
173
166
172
172
161
186
164
174
149
178
188
170
166
190
173
156
159
155
165
157
187
182
181
189
178
173
189
167
176
173
174
189
178
172
163
176
165
174
194
174
165
180
187
184
169
158
182
166
182
177
176
181
169
175
173
176
158
185
179
175
176
172
166
165
184
159
168
183
193
164
173
187
180
191
163
168
170
181
177
166
180
176
164
176
178
172
179
176
160
181
183
180
173
171
185
156
184
173
180
178
185
166
169
173
161
147
153
171
187
169
165
161
190
165
179
178
180
173
159
149
162
172
179
173
168
184
166
188
183
191
190
174
181
173
164
170
178
156
174
179
173
171
167
166
176
163
185
169
184
185
172
168
151
179
164
183
170
160
180
188
177
176
190
172
174
168
180
176
183
178
168
172
179
170
173
170
159
162
177
190
184
171
180
173
165
179
169
176
178
171
181
189
174
165
182
172
179
179
177
182
190
179
180
179
175
172
185
170
174
178
169
169
167
179
172
157
174
181
184
171
186
163
177
188
189
158
180
181
171
175
155
179
162
169
184
172
181
166
162
171
161
165
186
169
172
172
177
176
176
168
181
185
171
182
174
178
183
180
176
159
177
173
176
166
177
185
181
157
191
180
186
175
189
179
181
166
192
161
161
183
189
187
163
176
170
161
179
178
182
171
177
172
171
172
171
170
175
185
162
177
176
182
156
180
178
174
147
177
163
156
187
187
179
171
162
173
176
180
178
178
179
174
153
144
174
182
158
180
175
177
179
175
175
168
148
164
174
182
173
182
171
176
177
167
185
181
183
182
183
175
169
166
164
165
174
182
181
178
182
191
161
169
164
186
184
173
171
180
177
167
172
170
177
170
165
170
178
184
188
190
173
174
178
185
173
187
177
189
179
174
181
171
181
160
182
183
176
176
188
179
178
174
179
173
179
185
169
173
177
155
175
182
182
166
190
173
176
169
167
179
178
185
188
164
171
170
159
190
163
170
194
174
179
160
174
156
175
187
188
191
173
163
177
187
179
174
182
155
138
174
176
177
180
182
177
172
183
173
184
163
175
173
181
171
186
182
179
188
168
185
177
185
171
172
174
187
162
167
176
174
176
178
185
178
176
178
177
180
186
174
157
155
181
165
185
171
171
182
166
151
176
178
178
166
177
173
174
173
163
185
169
187
186
181
173
173
164
155
196
176
185
146
170
179
178
187
175
185
168
175
179
152
178
189
175
188
160
176
179
178
158
185
173
175
156
162
175
174
184
169
165
180
178
182
173
187
170
172
188
173
181
183
178
187
180
157
173
170
168
166
162
171
177
187
168
176
168
169
178
166
189
176
183
176
167
160
169
191
183
180
171
176
189
169
184
168
167
183
190
184
174
175
166
185
171
177
194
163
161
165
184
177
176
164
177
165
180
168
181
186
178
177
155
189
172
159
176
164
170
174
192
187
169
186
183
171
166
168
171
172
182
177
193
179
159
176
180
174
171
170
190
164
163
180
174
188
182
164
163
160
176
168
170
173
153
173
180
184
153
169
159
187
172
182
174
163
179
180
172
179
159
165
190
181
174
175
188
184
167
190
175
163
177
175
172
178
183
187
180
188
181
152
189
173
172
178
170
164
190
183
170
161
174
172
171
173
165
183
190
178
174
183
170
187
186
169
182
181
189
178
170
183
174
168
168
191
186
167
173
167
180
191
178
173
159
181
166
175
176
168
181
176
171
170
185
170
177
183
169
185
186
187
169
172
159
170
164
181
162
153
192
173
190
184
194
174
168
189
175
149
162
183
173
177
169
163
164
186
200
179
190
159
176
181
193
192
193
189
198
186
177
187
166
174
183
170
187
185
197
181
180
173
194
184
188
187
174
180
183
193
161
201
190
170
185
190
197
186
178
189
184
168
190
185
174
199
189
189
200
186
175
179
167
186
185
188
200
183
202
190
193
203
192
181
171
180
180
180
193
180
171
174
191
191
175
186
187
195
186
195
181
195
173
195
186
199
180
191
191
174
177
184
188
184
187
188
179
185
172
194
184
175
167
189
195
177
181
167
179
177
183
181
178
190
184
180
178
195
183
182
169
186
188
177
170
178
189
191
194
184
203
184
190
185
167
182
180
183
188
201
185
177
189
187
192
184
174
195
193
188
188
161
187
180
173
202
187
186
186
188
172
190
179
170
181
187
189
188
174
198
179
172
193
188
178
178
183
178
190
183
185
184
192
171
178
189
138
185
191
173
179
194
200
196
186
194
187
190
168
178
173
192
192
183
186
178
177
192
181
177
182
188
189
185
155
180
191
181
184
187
173
195
161
197
193
166
182
177
171
201
197
175
196
192
188
192
188
166
166
183
191
184
174
175
199
181
191
182
178
168
200
194
195
167
201
199
181
184
191
195
190
172
196
182
180
181
174
178
186
195
180
174
167
187
177
192
192
182
182
177
178
184
181
189
191
176
175
195
181
179
197
193
192
188
198
182
189
183
200
195
186
181
182
182
183
174
176
166
199
175
187
187
198
193
195
188
178
188
177
187
182
191
166
181
185
170
184
166
182
187
195
150
187
188
195
188
199
182
198
184
195
186
191
172
170
193
192
175
187
187
183
180
192
183
184
195
183
174
191
169
191
180
191
172
184
180
203
194
179
179
180
178
170
198
177
196
201
165
182
183
189
181
183
182
195
186
174
165
175
184
182
183
186
183
177
186
166
169
181
181
181
190
192
177
178
194
181
194
172
178
180
170
187
168
191
197
199
178
188
181
190
174
197
197
194
156
182
184
187
188
176
190
178
194
197
162
169
189
179
187
176
179
178
194
196
177
183
176
161
188
200
175
180
181
181
200
187
182
167
187
179
181
183
196
186
183
183
171
184
196
197
185
163
196
188
189
173
187
191
173
173
188
189
194
192
171
200
169
188
203
173
181
195
189
183
166
192
168
199
197
152
195
186
197
181
182
166
195
172
178
188
186
181
175
160
177
182
194
168
189
168
176
174
185
192
192
178
182
190
189
195
192
182
178
183
189
182
182
190
191
185
171
186
190
178
163
184
181
204
176
197
184
198
193
196
188
189
177
186
195
169
184
184
186
185
179
193
188
186
157
178
187
185
186
186
174
184
179
195
183
180
185
188
175
163
193
194
180
184
177
174
183
179
176
179
196
186
188
190
190
171
190
181
199
180
194
187
195
201
187
194
187
187
178
162
150
189
176
169
196
166
178
180
168
177
175
180
174
187
193
192
183
183
192
188
190
193
169
184
197
176
178
187
179
188
166
184
178
186
185
179
178
202
173
170
192
185
187
184
186
185
171
165
195
199
186
189
158
177
189
188
190
196
177
174
194
189
193
193
193
181
182
197
195
165
193
186
185
191
172
189
192
185
167
161
182
200
181
163
192
177
183
186
180
186
190
182
180
201
155
194
179
170
187
180
190
179
174
189
176
172
185
181
177
195
184
191
173
184
193
198
189
174
178
182
198
194
182
188
194
193
158
163
195
177
177
192
185
172
171
200
185
203
190
181
166
181
183
173
190
185
179
196
188
178
160
185
192
187
177
179
178
179
183
184
191
183
184
179
178
178
172
197
182
197
198
173
187
195
184
169
179
187
182
181
189
187
178
174
195
200
188
182
181
158
196
183
159
183
186
173
186
178
173
187
187
178
176
184
177
197
185
190
181
196
197
185
165
177
189
196
186
189
179
166
184
185
187
176
182
176
187
178
187
177
188
182
186
184
173
196
173
183
195
202
178
192
174
186
187
160
194
173
186
195
190
194
198
176
190
181
184
159
181
189
175
193
176
190
189
173
163
199
189
180
190
172
193
188
181
174
180
202
195
193
170
195
187
173
162
185
183
189
174
169
192
192
187
197
183
185
192
190
189
182
187
185
180
189
185
162
192
180
180
173
199
175
197
200
181
161
194
165
192
200
169
181
182
169
177
185
183
201
181
189
179
183
198
192
177
179
182
190
190
196
164
196
165
185
174
176
192
179
187
193
184
180
186
180
192
181
198
190
183
189
178
179
193
170
185
186
189
188
167
175
188
183
178
168
169
189
182
186
188
196
193
187
192
196
182
185
188
192
210
201
191
208
170
179
204
194
195
186
186
203
173
185
196
177
196
160
174
193
208
192
183
168
193
205
205
194
199
210
196
185
200
205
196
166
164
205
190
201
211
183
190
199
207
186
206
198
202
186
195
205
199
187
184
197
204
202
192
187
194
192
183
199
184
188
192
203
178
184
200
193
204
196
203
204
182
202
199
185
203
186
181
203
188
195
198
200
202
200
180
199
197
196
197
192
197
196
196
190
187
201
200
180
195
201
197
172
210
214
178
194
183
183
201
185
214
178
197
197
190
209
202
195
186
205
209
202
193
190
199
201
189
180
177
182
199
206
182
184
186
203
188
198
192
188
196
182
177
204
175
195
192
181
189
179
188
189
200
177
188
204
192
199
183
185
182
203
186
206
192
198
181
205
188
189
209
179
185
179
190
197
185
189
193
197
188
192
174
174
177
181
184
182
200
189
198
196
187
201
197
206
196
192
193
201
202
197
198
196
193
179
183
186
184
192
194
202
200
154
206
187
193
186
179
187
178
194
199
177
205
202
183
202
199
185
177
185
180
206
205
176
198
196
199
195
185
203
190
182
193
202
205
197
192
186
193
197
200
191
211
188
187
207
198
179
206
182
168
191
207
192
193
183
210
201
193
181
182
201
186
175
203
203
199
212
201
195
206
183
188
184
188
189
200
199
182
180
203
204
204
175
190
199
193
195
199
205
205
199
189
203
199
182
207
208
208
189
180
195
189
209
193
190
199
180
214
187
202
157
196
186
186
204
191
201
189
205
191
195
211
197
182
202
195
202
181
184
204
198
195
182
204
199
204
194
203
195
189
177
188
193
164
204
186
199
197
199
197
202
188
199
182
184
197
195
187
187
180
194
183
200
183
196
205
188
193
190
198
196
179
181
199
201
184
199
184
200
209
195
203
191
202
205
205
210
167
189
192
202
176
180
191
199
168
196
202
209
212
189
193
195
208
188
211
197
203
193
200
196
184
207
196
201
203
184
185
203
197
196
192
199
193
206
209
198
190
193
167
198
173
200
203
192
167
180
191
185
207
205
191
182
201
197
176
191
179
184
194
198
203
199
176
189
197
197
203
196
201
185
183
174
190
187
202
195
185
182
194
188
196
190
211
186
192
180
210
181
182
201
195
207
200
197
182
200
199
210
183
193
187
199
191
203
199
196
201
190
193
182
197
195
210
193
186
178
197
211
184
196
184
197
192
208
180
205
197
214
191
207
202
187
176
186
207
190
192
200
193
186
188
189
181
195
178
203
177
208
200
185
197
174
184
210
197
191
186
178
202
192
207
197
194
199
184
194
197
197
201
180
205
201
191
203
205
197
170
194
198
197
198
177
197
202
207
197
182
209
187
203
187
188
183
209
199
206
187
199
206
197
188
179
202
196
203
206
182
192
188
199
202
163
176
197
191
191
194
190
190
197
183
192
197
188
184
180
211
201
204
194
179
186
196
183
189
186
191
193
200
193
191
194
207
190
180
190
187
200
186
193
175
202
185
199
205
208
203
194
202
209
205
206
193
194
189
188
191
207
201
198
196
201
185
210
194
178
173
190
197
202
199
205
193
193
193
195
206
198
207
193
185
204
186
191
209
187
175
201
177
176
202
197
195
190
183
206
194
186
176
192
195
204
196
200
193
177
196
208
179
185
181
200
184
194
199
197
210
180
193
185
187
204
202
190
200
196
186
190
192
189
208
184
197
201
202
169
182
181
198
193
198
201
210
200
192
178
196
187
203
179
196
203
205
202
209
193
197
208
203
197
201
197
197
201
183
184
208
196
187
204
194
182
196
189
206
213
201
201
202
196
207
202
183
174
190
191
196
178
195
189
208
209
199
206
191
185
189
204
199
176
199
190
189
212
211
177
203
196
174
210
184
204
186
201
199
198
189
181
187
161
192
184
191
206
193
187
190
189
179
197
192
195
203
189
173
161
201
197
186
206
191
195
200
161
202
175
195
204
187
200
202
184
201
188
203
198
190
190
194
195
198
196
185
208
195
179
184
187
189
190
185
196
207
195
182
193
184
207
184
192
195
183
205
204
202
200
155
177
189
207
191
196
189
188
196
189
203
193
193
181
188
199
183
201
199
200
191
193
197
184
185
183
177
201
170
160
196
199
198
203
176
211
189
192
200
189
192
191
202
169
173
199
194
191
196
200
206
200
206
185
187
187
195
192
191
176
199
194
205
192
169
195
182
207
175
206
178
206
210
196
191
177
192
198
195
183
206
201
179
183
193
176
191
185
192
212
203
202
186
198
219
197
196
214
216
193
175
203
203
209
202
204
195
203
209
202
213
170
215
205
205
207
203
205
208
213
220
206
212
192
206
206
207
186
216
212
202
197
204
196
193
204
183
195
211
215
196
195
215
211
211
202
191
196
192
182
204
208
192
211
211
216
204
193
225
213
200
208
205
191
211
194
205
211
198
191
198
213
199
178
205
198
213
200
209
220
198
206
185
201
196
201
201
203
191
199
211
204
186
205
215
189
206
202
199
203
209
198
207
194
199
198
179
186
204
207
191
192
202
214
204
212
202
210
205
199
179
224
198
188
188
211
206
195
192
209
201
202
204
192
195
201
188
218
187
203
205
205
182
203
204
205
194
195
204
197
194
199
210
182
199
197
185
200
183
200
218
205
214
217
213
199
202
191
183
190
202
205
212
168
209
198
208
203
197
212
215
202
207
201
204
203
224
219
215
211
201
214
210
182
213
214
186
197
205
203
209
189
190
206
207
188
199
206
183
197
202
206
206
195
201
209
200
198
189
207
190
193
200
185
192
205
190
190
212
214
194
208
201
205
191
184
211
192
184
194
203
210
198
200
215
204
206
202
198
203
189
188
207
181
201
204
215
220
198
200
211
194
201
197
200
205
209
186
212
190
196
208
200
203
197
200
215
218
192
197
189
188
205
203
213
204
194
184
193
215
202
214
196
211
214
199
205
201
194
206
210
200
207
202
198
198
194
205
189
191
210
190
179
201
201
199
209
218
201
210
200
194
207
193
208
205
201
193
214
202
188
203
205
204
214
207
198
203
206
202
194
193
190
196
211
162
204
204
201
189
211
214
195
225
211
201
195
210
197
205
200
191
207
218
196
195
204
214
204
189
205
199
218
213
205
214
187
199
193
226
211
209
216
203
199
211
201
216
209
208
183
203
213
191
215
195
216
208
196
205
206
206
173
184
204
211
214
200
203
201
217
209
216
212
200
203
209
186
223
205
221
203
199
211
189
179
212
210
205
203
217
212
197
214
186
217
197
204
194
206
205
164
192
210
201
186
209
199
175
190
210
201
193
215
210
218
213
202
197
212
201
207
193
181
218
201
210
198
208
195
198
195
211
223
202
212
195
181
187
195
175
192
218
196
203
204
206
201
205
204
184
210
205
209
192
195
206
206
198
207
209
192
202
191
203
202
196
182
220
200
191
195
205
206
206
216
196
216
193
202
217
207
211
203
180
204
200
212
210
206
204
208
194
189
189
206
211
202
199
206
219
189
201
201
207
220
215
199
220
191
209
214
195
221
204
209
193
202
209
181
192
206
199
208
188
218
200
196
205
195
208
194
202
204
204
200
206
208
208
208
207
210
197
213
203
203
202
211
206
209
192
208
182
203
201
189
195
198
184
202
201
174
200
214
199
182
205
203
195
210
204
197
218
212
225
214
204
205
219
208
210
195
209
213
189
178
204
191
190
200
199
205
204
176
188
208
194
202
181
194
212
198
203
208
171
203
208
196
213
210
214
189
182
212
187
203
207
188
209
181
195
217
214
196
192
183
216
211
193
210
208
207
198
200
155
176
214
213
219
193
205
185
197
210
217
215
210
201
206
213
197
191
205
181
210
202
194
225
205
209
186
220
196
202
205
215
202
211
201
197
209
207
212
205
196
187
205
182
200
183
186
215
191
180
212
198
219
201
205
187
209
217
204
200
189
197
196
188
203
212
198
198
201
194
215
204
211
195
218
206
200
211
196
193
212
212
203
208
208
168
198
207
206
196
215
211
215
196
205
196
209
206
193
199
199
185
190
197
185
216
215
192
192
182
204
198
192
189
192
202
177
204
201
194
185
192
206
205
188
210
210
205
211
209
210
184
210
189
198
211
207
188
206
206
207
209
197
207
205
214
203
216
204
190
204
184
193
202
179
207
209
177
211
200
217
193
191
206
204
203
194
193
202
195
202
212
197
208
195
195
195
159
210
214
206
201
197
203
209
207
179
193
202
201
205
202
204
202
203
191
171
207
214
186
198
200
207
205
217
201
207
171
169
195
200
211
217
217
193
172
220
218
220
206
187
211
200
206
210
204
184
200
198
198
219
204
204
205
193
206
218
207
206
200
205
195
178
196
201
200
185
208
209
202
210
201
185
206
189
204
199
220
203
195
187
215
204
193
211
197
221
186
208
218
212
205
196
194
187
220
194
203
194
212
194
177
208
210
204
217
193
189
181
205
197
198
217
186
198
198
188
214
202
194
199
204
211
200
202
205
194
207
202
210
220
211
217
219
223
210
203
217
183
220
180
197
216
202
214
224
204
209
219
195
201
208
203
196
214
198
212
194
216
204
209
219
230
232
209
200
198
211
211
208
222
216
194
214
203
233
221
211
204
195
207
200
188
225
221
194
203
199
211
237
213
183
207
223
191
204
198
228
227
219
215
216
210
198
216
221
223
203
232
203
219
213
200
213
197
209
189
222
206
221
197
200
187
203
199
212
211
192
202
236
211
197
214
197
193
224
207
207
211
229
185
232
197
213
206
217
201
214
198
189
197
211
214
205
198
182
212
190
204
200
203
221
217
220
217
196
201
203
207
218
213
210
181
203
206
195
215
220
212
218
222
203
232
208
208
215
215
207
215
206
197
210
224
222
212
208
188
207
224
204
215
203
206
227
187
214
207
229
209
229
227
193
206
222
220
225
202
196
187
212
223
220
211
196
178
179
232
205
207
220
223
212
219
206
222
222
213
203
222
199
209
197
208
208
205
215
217
201
198
205
213
204
186
214
208
217
224
180
233
209
210
175
222
191
211
213
218
211
206
212
206
208
209
195
196
194
208
191
191
222
212
217
217
224
207
199
205
191
199
207
206
214
209
203
195
202
215
202
204
219
208
202
197
217
225
206
202
222
203
222
196
215
201
202
217
207
209
218
205
198
203
201
205
216
195
205
214
231
217
191
215
226
223
217
197
214
220
214
214
185
208
196
207
209
200
222
177
213
217
210
209
182
218
199
213
224
221
207
201
233
203
191
225
196
198
194
201
214
206
213
205
197
194
195
191
215
200
195
207
219
222
218
222
197
200
215
213
192
216
225
219
215
210
222
207
208
206
207
206
223
204
209
213
191
223
212
230
198
210
225
224
200
226
222
222
206
214
221
229
191
189
213
206
206
201
203
201
220
221
208
217
213
214
204
220
219
218
207
219
203
201
220
210
221
215
224
198
209
199
212
220
217
217
213
212
208
223
216
198
228
200
209
197
217
216
212
202
214
215
219
227
217
200
224
215
206
228
214
209
205
210
200
207
208
183
218
201
199
223
201
201
218
211
223
199
209
210
213
221
183
210
203
222
211
193
221
202
201
208
207
196
222
219
207
225
204
217
214
180
208
202
219
198
223
220
212
236
187
194
203
208
221
227
217
216
202
218
211
217
222
216
229
224
202
223
212
217
200
185
227
196
200
218
227
224
220
227
182
210
214
215
208
210
217
191
209
208
192
211
197
195
226
210
205
196
224
218
221
211
214
213
206
210
208
211
203
214
192
225
202
223
209
219
209
206
203
217
218
196
203
207
201
230
213
213
220
219
230
195
228
189
185
208
207
191
187
199
210
201
202
205
225
207
219
198
213
195
214
216
201
223
206
205
214
192
193
213
205
196
202
214
227
202
215
208
223
218
221
209
203
182
196
232
218
198
219
226
224
208
217
204
210
192
207
205
198
214
209
224
221
207
205
200
217
222
191
194
214
207
198
214
203
209
196
213
196
195
220
202
187
205
205
218
205
213
220
216
202
213
199
213
210
202
208
210
223
185
215
215
201
218
202
198
189
195
207
186
216
194
212
209
234
205
211
229
202
207
214
222
215
208
208
221
212
222
212
199
192
200
214
210
207
220
227
202
229
226
208
219
214
214
200
205
198
228
209
220
175
192
213
209
230
211
217
217
212
223
207
196
214
213
217
208
213
215
215
232
186
200
217
217
207
203
208
205
201
222
204
209
210
222
213
207
207
217
189
213
223
195
212
204
220
217
217
205
195
214
225
211
201
216
207
204
202
217
191
205
210
213
199
205
211
221
199
228
214
226
215
211
227
196
202
206
227
203
209
215
211
203
212
213
193
223
213
209
217
206
210
211
182
216
222
210
217
213
210
214
204
222
211
223
207
195
208
200
213
202
220
198
218
213
212
218
220
218
214
215
217
213
206
196
229
207
206
215
191
220
190
210
196
219
191
222
211
205
221
217
203
202
220
192
211
214
217
217
197
209
211
197
192
201
215
198
225
201
182
216
205
215
212
204
209
224
220
203
222
211
204
214
205
218
204
218
216
223
191
223
198
224
227
204
229
220
214
224
201
188
221
201
209
217
211
213
196
206
217
204
221
212
200
212
204
224
216
180
215
176
216
209
222
215
221
214
227
194
205
225
203
225
221
208
203
221
201
208
212
217
203
189
205
217
204
196
212
217
210
216
207
216
224
215
213
193
207
198
210
227
212
197
189
210
210
199
202
212
206
217
206
206
195
192
202
215
186
230
211
229
208
202
220
205
202
195
222
222
213
201
237
211
214
220
232
224
209
220
231
202
223
218
226
227
216
219
214
227
216
213
218
236
218
206
203
236
232
224
194
228
226
229
222
229
218
190
233
217
178
212
210
219
230
222
210
210
217
209
219
231
228
205
212
210
212
208
200
214
229
217
212
219
231
224
222
210
214
222
211
226
199
215
225
229
202
214
227
237
206
209
221
200
225
221
211
237
223
206
214
222
216
205
212
239
227
207
229
227
236
237
225
219
227
202
235
211
222
215
201
229
197
214
229
220
219
225
214
224
234
210
226
236
208
222
212
210
223
201
219
218
224
222
229
223
225
216
216
209
219
203
215
218
229
205
223
184
219
238
218
206
225
186
218
217
227
186
200
233
218
227
216
233
182
226
221
198
224
201
231
214
228
212
232
215
220
220
191
209
210
206
203
240
205
217
211
218
238
205
210
219
228
228
223
223
216
227
218
217
215
204
237
197
221
223
234
217
212
215
216
200
208
199
214
210
205
222
230
225
202
224
205
205
204
230
225
213
232
223
214
230
215
228
226
209
205
208
204
239
222
217
229
195
209
220
207
220
219
225
210
213
234
232
214
220
206
209
222
230
205
220
239
242
234
220
215
234
218
220
220
218
217
212
224
241
204
200
240
234
231
213
230
221
199
223
237
229
233
222
216
218
234
216
198
220
224
215
210
220
229
224
211
220
233
226
224
220
216
214
208
217
225
226
230
220
209
228
194
211
224
211
210
220
209
225
211
210
202
205
203
219
210
202
219
231
211
207
207
210
220
206
217
218
231
219
215
238
211
220
201
207
226
201
211
216
217
228
206
230
214
201
216
227
223
223
231
219
218
208
220
226
185
217
202
204
231
199
224
223
211
230
228
212
222
221
222
234
200
213
215
219
201
215
222
218
206
210
246
199
202
202
226
239
214
231
208
217
227
205
211
219
216
220
220
219
206
214
230
226
227
217
227
233
203
205
222
217
206
225
206
216
214
219
223
227
219
221
228
217
223
217
224
197
212
212
198
215
226
199
218
196
232
229
220
218
206
224
227
221
218
221
227
224
219
207
235
235
225
228
199
198
222
221
205
226
216
221
214
205
200
210
234
236
234
232
234
210
218
210
208
221
224
230
227
230
201
225
229
247
236
231
208
210
215
180
210
231
203
232
218
224
210
208
206
211
225
205
206
241
223
216
225
222
193
224
226
226
232
227
227
211
231
216
211
220
200
225
222
231
208
234
237
223
230
211
222
213
220
222
217
206
205
222
210
240
205
223
220
223
197
200
215
217
229
214
231
215
214
216
197
210
205
222
222
216
218
226
224
228
219
210
205
194
167
208
217
215
231
227
224
234
230
219
213
177
230
219
217
233
225
220
229
233
227
209
206
227
215
226
213
222
232
215
207
224
230
210
201
221
235
225
205
216
227
219
213
219
230
206
237
239
205
204
221
214
233
225
215
207
235
218
241
211
222
220
215
194
223
239
208
222
205
244
211
221
229
221
194
221
227
219
229
227
208
211
222
210
217
216
203
210
222
216
198
220
203
211
213
208
228
230
213
208
218
209
213
207
212
192
203
218
219
230
208
218
208
217
220
204
192
227
209
220
216
239
205
220
208
223
206
209
214
221
236
237
218
228
215
229
216
201
229
217
217
215
216
221
229
219
223
222
223
213
230
234
220
223
207
200
215
228
201
200
205
201
216
200
223
210
222
227
208
201
217
183
210
205
213
213
228
206
202
210
217
221
212
230
215
230
222
209
218
221
232
207
227
219
210
231
223
217
214
200
191
220
215
231
207
225
217
219
226
201
215
219
174
223
218
228
212
213
208
235
228
234
231
229
216
201
226
208
213
215
218
213
210
212
217
224
211
223
213
218
228
227
247
215
242
213
201
220
222
236
214
226
209
205
233
216
191
226
207
225
234
224
235
234
226
216
225
222
210
222
236
228
207
212
214
200
225
213
201
227
218
210
221
201
222
213
234
208
219
237
200
233
218
220
210
224
193
228
198
208
231
203
210
208
214
204
206
192
228
228
215
229
201
222
223
207
218
197
189
218
196
214
210
229
215
205
216
232
217
218
217
215
206
219
212
234
232
230
216
225
200
222
222
222
212
218
215
230
220
214
210
213
223
232
226
230
223
232
215
225
245
221
226
225
215
220
211
215
224
224
209
208
225
198
222
222
229
217
232
221
224
207
229
227
205
224
226
216
174
222
225
211
240
226
231
224
219
213
207
239
232
216
207
223
225
229
211
215
204
211
190
231
201
235
222
219
219
223
237
236
228
242
246
210
210
229
219
225
242
224
224
242
196
241
236
217
223
234
222
236
238
239
215
219
231
242
223
223
235
220
212
238
215
207
224
204
244
216
194
238
226
227
229
254
220
224
223
216
226
201
253
238
236
245
239
239
243
237
238
199
206
231
205
219
226
237
228
206
218
217
231
212
239
213
224
239
230
214
241
245
225
222
228
229
236
236
217
240
226
205
212
214
243
219
228
229
228
225
241
238
217
229
229
229
234
215
216
228
226
215
220
232
230
249
225
234
231
231
221
226
200
210
233
242
226
233
217
228
229
203
237
219
218
214
237
227
233
205
231
244
220
237
233
238
211
227
243
253
249
227
221
242
242
205
208
214
227
220
223
221
236
214
222
202
236
208
246
233
229
221
218
212
223
235
234
233
194
214
210
224
252
237
235
238
247
205
232
234
233
221
210
233
237
224
213
250
232
224
235
197
235
219
207
210
225
226
230
220
228
216
238
233
222
226
237
234
227
219
227
218
213
216
224
221
224
252
226
243
233
240
234
234
221
218
234
227
203
221
224
217
214
230
201
213
228
238
230
222
233
220
234
240
218
244
223
220
246
197
214
254
223
217
241
205
228
243
217
237
228
206
229
235
219
220
207
229
216
222
208
225
227
231
248
244
240
211
238
233
234
225
230
202
216
241
224
239
224
238
222
205
235
228
243
228
247
248
209
226
225
218
239
230
210
229
203
225
250
241
222
232
216
227
243
242
220
204
250
230
224
225
221
216
227
249
233
226
207
216
226
239
249
227
224
231
212
231
227
230
233
240
239
235
216
237
233
238
217
235
218
201
245
223
224
229
210
244
238
218
244
226
211
202
222
223
220
220
220
220
236
240
252
222
234
244
211
229
233
204
222
242
224
231
251
236
228
218
232
212
209
237
232
218
236
249
240
234
225
221
230
227
236
238
232
224
214
228
234
231
225
209
210
235
205
250
208
240
219
222
224
219
226
240
213
230
224
242
210
195
223
229
224
215
238
221
227
224
231
237
219
202
236
208
229
242
229
205
231
248
229
235
234
228
236
222
217
248
225
236
235
236
226
224
229
222
226
237
229
220
234
243
221
226
208
234
232
231
233
226
245
211
226
217
238
225
209
228
237
230
235
222
233
218
226
230
227
231
248
229
226
236
208
209
227
246
210
224
220
231
230
233
232
226
225
224
232
238
226
200
222
248
218
221
218
232
221
242
232
239
237
240
211
213
239
228
240
225
247
219
239
229
203
203
228
215
196
192
239
236
224
212
215
236
233
203
222
227
226
216
240
216
227
248
233
230
224
237
225
230
239
217
241
210
244
241
211
231
246
248
236
235
224
228
247
218
209
207
232
241
238
204
232
238
230
241
227
234
245
258
230
215
242
235
223
239
238
243
235
238
245
230
215
212
244
245
243
222
223
216
228
227
223
229
211
223
218
218
217
214
249
253
238
232
233
236
224
221
217
232
240
240
242
228
239
235
248
233
233
226
221
236
219
216
204
246
233
231
220
216
227
206
200
243
234
244
217
235
210
217
219
230
209
217
245
239
205
223
231
227
251
220
228
220
230
218
214
220
248
231
239
218
235
217
210
219
245
239
230
221
200
205
224
226
240
216
222
233
236
224
214
227
232
232
245
223
219
233
235
241
214
226
239
222
236
229
217
226
233
204
204
223
233
230
217
234
230
224
226
243
237
229
231
252
227
220
218
221
234
229
226
218
242
248
229
240
216
231
226
243
222
212
237
250
210
245
221
240
205
223
234
224
222
191
248
229
232
237
201
238
231
209
230
232
205
228
231
239
242
231
230
201
229
242
230
215
212
236
213
221
236
238
228
237
235
218
221
225
221
228
217
230
230
198
224
237
231
221
220
181
205
198
222
200
238
237
201
224
217
244
228
235
209
216
225
213
244
236
226
227
215
219
230
237
234
238
220
227
233
235
225
230
240
211
228
219
225
234
223
226
228
230
216
224
221
230
224
219
207
238
221
221
238
232
189
238
230
234
218
229
210
233
237
228
224
233
243
227
227
233
237
247
201
241
210
238
215
229
217
237
210
242
215
223
227
216
238
245
244
221
229
225
202
235
217
244
220
238
215
206
217
225
233
228
224
246
236
208
234
198
246
211
225
240
209
205
228
219
237
219
205
197
211
225
198
223
216
237
229
226
234
229
226
220
253
216
248
238
245
253
208
216
226
193
224
205
220
208
210
229
233
226
232
231
252
236
242
213
217
232
217
219
213
227
220
235
234
228
234
216
232
246
256
222
229
241
214
240
251
229
242
230
223
228
236
219
241
242
240
223
232
234
209
247
225
247
229
228
240
221
231
232
209
234
242
228
234
252
233
223
222
235
237
223
230
224
238
233
248
240
217
253
240
216
220
244
232
239
247
223
231
218
234
245
213
247
218
200
241
226
235
240
235
228
216
232
242
226
247
235
243
227
222
230
242
218
217
230
235
213
229
243
233
223
233
234
229
245
234
247
235
235
239
222
244
218
228
248
247
252
262
238
238
226
250
234
232
219
227
246
221
228
233
238
222
216
246
232
240
248
227
240
238
230
235
234
225
235
240
206
238
237
230
239
243
253
226
246
233
232
221
230
241
245
237
212
223
228
225
234
229
237
232
228
250
239
225
221
234
210
234
227
245
240
225
234
234
259
230
212
242
234
203
242
223
240
227
232
257
227
251
214
247
244
221
235
241
230
232
227
210
238
235
220
237
228
198
235
242
242
245
250
233
229
250
239
255
251
219
231
255
211
246
241
247
235
238
220
232
230
243
240
219
244
233
241
228
232
237
236
238
225
233
257
245
252
220
242
225
227
250
219
254
240
233
232
220
223
256
241
254
239
221
218
238
227
234
229
217
227
234
244
238
232
232
220
219
241
202
241
216
234
220
242
235
229
244
246
228
217
213
246
222
247
238
236
218
217
230
239
239
224
230
205
226
255
243
235
234
223
211
211
247
220
245
244
226
231
225
233
222
226
227
235
230
239
231
230
209
220
240
217
238
241
212
222
232
252
221
243
237
241
252
243
241
231
224
242
231
226
208
225
219
226
214
245
228
219
251
230
242
242
251
229
242
234
227
249
220
245
234
229
241
224
247
239
238
246
234
241
217
219
234
239
237
233
243
205
254
242
227
231
214
242
234
241
238
212
239
211
220
237
239
240
222
223
244
223
235
253
194
224
216
231
232
236
225
253
237
259
218
252
236
234
212
243
242
230
257
252
233
219
252
236
237
239
235
240
255
232
227
207
238
225
234
242
227
230
230
244
218
248
212
240
254
227
241
210
230
230
229
237
254
239
225
231
233
235
236
251
238
253
230
233
218
227
205
232
227
249
252
248
238
250
212
235
251
212
256
246
228
226
225
239
229
233
252
235
232
239
240
233
235
261
217
241
245
250
249
236
242
214
246
224
223
236
235
217
238
226
228
238
217
245
233
238
236
246
231
235
227
241
230
196
242
237
215
249
238
230
233
222
257
212
241
241
236
222
232
251
246
214
238
224
240
228
251
234
236
248
241
218
238
226
229
255
216
224
228
240
236
229
223
220
234
223
252
239
223
226
214
215
224
258
246
226
218
230
230
257
256
242
252
227
235
241
228
231
226
227
231
251
238
238
224
223
203
216
225
235
244
254
241
228
240
233
252
249
230
229
231
214
244
208
227
248
242
227
225
240
251
246
227
241
213
222
239
241
220
254
252
258
249
247
238
225
256
228
228
214
262
225
238
243
234
231
236
252
231
201
258
249
218
229
236
233
245
238
215
218
242
216
227
247
239
217
233
246
231
235
243
238
239
255
237
207
210
221
221
253
256
234
239
233
215
241
232
235
234
234
219
230
238
253
248
259
221
252
238
240
240
251
246
230
221
251
253
253
220
251
246
231
248
221
237
250
257
257
229
233
239
242
247
237
253
234
247
221
248
206
232
245
227
238
232
232
229
231
238
236
235
244
223
236
190
231
240
235
229
240
260
228
241
235
221
244
219
212
250
229
247
234
239
229
256
244
219
243
258
247
252
229
233
234
236
227
228
226
227
217
256
207
228
244
234
250
232
243
240
235
223
243
231
225
239
238
240
236
254
219
237
241
243
244
232
235
254
231
229
218
246
235
236
245
216
238
234
254
242
235
225
252
229
227
225
223
244
243
228
251
236
230
239
223
251
229
242
236
227
235
242
228
239
227
240
226
254
223
230
225
243
228
244
226
271
244
227
231
242
236
233
243
233
247
210
238
239
236
241
249
235
238
227
232
239
239
241
229
239
226
225
227
217
242
251
221
227
264
233
248
252
218
238
216
228
235
221
259
237
213
238
255
241
226
243
244
229
244
239
256
236
213
256
251
223
246
255
241
225
253
225
251
242
245
241
245
227
227
235
248
221
219
223
238
240
227
228
240
252
233
228
255
221
247
237
240
241
240
232
260
234
234
246
239
253
234
246
231
230
230
219
223
242
221
219
235
240
226
240
247
223
261
249
243
245
223
223
247
248
239
238
242
227
231
261
232
239
232
229
236
215
240
252
252
267
252
251
253
228
237
222
241
259
242
257
242
221
262
251
260
258
218
243
235
241
250
238
237
239
238
243
234
254
218
259
241
266
224
245
260
253
252
227
230
242
247
269
253
233
262
239
236
247
250
244
261
253
257
249
243
254
216
256
259
231
252
252
234
243
228
235
273
267
256
259
231
234
243
238
227
221
253
231
262
235
239
239
247
253
235
233
246
232
224
233
248
251
249
253
252
221
246
254
250
246
246
244
229
238
267
251
244
265
264
234
248
244
246
248
247
258
256
240
248
246
229
230
216
221
248
255
244
229
232
244
249
226
218
253
258
245
247
241
258
216
217
253
237
246
253
254
270
242
214
234
227
243
249
256
271
241
240
236
241
249
241
243
241
232
239
218
245
233
250
265
250
254
229
227
254
244
243
226
252
236
269
244
246
245
240
250
254
258
245
227
249
248
227
253
241
231
244
258
244
216
217
222
241
248
258
219
252
258
263
259
226
234
237
248
253
252
251
246
243
245
231
238
232
244
247
249
249
242
270
240
244
268
219
243
240
235
228
251
251
260
229
240
238
220
251
253
236
226
241
262
239
268
225
227
251
259
245
250
229
238
222
238
245
254
263
259
256
247
240
253
239
231
231
240
234
241
234
252
239
255
263
259
226
251
246
248
250
242
237
221
250
250
206
235
248
232
238
250
241
240
245
236
230
265
251
251
267
236
256
246
254
253
247
233
242
240
222
233
236
245
229
260
224
251
230
241
246
246
229
242
241
251
259
236
240
246
249
261
254
252
247
247
243
224
253
252
248
234
255
217
221
255
250
239
232
232
232
262
241
229
253
242
244
251
234
242
239
227
241
250
245
230
243
250
231
262
254
263
225
241
229
232
250
256
237
249
248
266
258
233
244
256
243
251
238
259
245
238
247
259
240
254
257
226
239
253
233
247
242
238
230
255
251
248
225
235
257
235
219
270
242
245
245
224
255
250
222
236
233
245
220
248
250
247
248
242
239
228
242
243
242
256
246
240
233
244
256
236
220
232
226
250
246
264
232
257
249
215
252
251
248
235
258
225
232
232
246
234
250
211
240
252
225
252
247
214
258
214
254
245
243
247
249
256
234
238
248
250
238
264
241
238
255
243
223
254
253
241
237
261
245
219
229
241
252
224
252
245
219
250
249
241
246
239
248
263
261
256
245
223
240
236
250
248
229
212
245
220
247
237
240
231
234
240
246
223
231
222
224
245
229
244
236
260
264
233
234
237
228
237
265
243
255
263
239
230
235
249
226
234
251
248
246
238
227
243
244
242
244
220
226
251
248
246
251
250
242
255
208
249
236
246
241
252
228
247
237
247
257
244
228
250
233
273
248
236
250
223
243
239
228
237
248
237
227
247
256
257
214
242
246
232
248
245
243
249
263
246
223
234
241
230
251
253
241
233
255
242
240
253
254
252
259
246
256
228
246
262
251
255
254
230
246
249
263
239
228
259
218
245
231
242
249
247
250
236
264
239
256
255
230
215
237
259
245
259
212
218
241
244
233
245
258
248
217
252
258
221
241
239
261
250
238
240
256
250
255
251
260
202
263
243
272
258
243
231
233
254
225
244
248
246
243
250
243
218
258
222
257
250
253
238
262
227
247
221
228
239
242
238
231
258
258
257
237
239
229
224
247
249
246
264
252
224
242
233
221
264
259
256
239
249
243
253
240
230
261
267
236
254
237
258
240
232
227
233
263
248
256
262
228
229
236
263
230
235
233
244
238
240
227
234
255
238
265
245
233
244
231
252
242
251
234
216
244
221
245
230
250
224
259
235
246
236
238
237
238
232
226
251
235
243
241
240
249
244
253
242
243
246
231
255
247
263
238
257
244
218
264
236
243
256
264
249
261
257
246
232
242
249
252
239
251
261
260
252
242
253
255
250
250
235
227
230
223
265
248
232
253
261
243
247
252
252
246
253
229
253
231
237
231
243
253
229
250
247
250
235
244
260
230
239
231
261
243
247
250
256
250
245
264
216
218
231
251
237
253
216
253
241
230
244
253
248
250
246
237
258
248
252
256
237
237
221
256
249
251
238
254
233
235
241
229
236
230
231
248
253
234
256
239
254
256
234
265
255
221
233
246
247
245
247
248
249
241
241
242
253
230
246
236
255
241
266
254
221
245
251
246
249
248
262
254
251
243
243
250
257
235
225
243
253
237
246
254
226
250
236
244
226
255
225
240
238
260
251
252
240
242
232
246
257
256
258
254
245
229
224
232
234
264
240
237
258
258
252
268
233
260
266
266
267
234
271
273
240
272
257
270
240
256
262
250
240
275
259
210
247
253
256
249
271
265
280
254
262
247
270
257
260
272
263
236
235
254
246
266
247
264
238
248
240
271
242
258
233
259
235
266
274
240
270
241
265
249
239
264
252
251
259
256
259
243
256
239
264
237
265
257
228
270
248
264
258
268
249
229
245
233
249
267
233
266
262
226
251
238
256
259
258
253
239
247
235
265
251
259
262
246
251
255
240
248
277
252
253
259
251
254
245
268
239
245
243
243
229
249
244
264
262
234
244
257
260
267
233
268
230
284
254
273
237
272
251
272
262
237
266
246
275
261
268
223
262
280
253
249
253
253
270
248
259
258
251
254
257
265
237
270
255
226
252
264
261
260
274
235
237
230
247
256
229
243
258
251
249
259
258
263
237
266
255
250
250
259
255
235
270
245
244
247
245
254
249
263
229
258
266
215
238
241
246
236
260
248
254
262
233
259
264
247
241
263
280
257
266
251
270
246
235
248
230
256
248
245
250
264
242
268
268
240
277
227
265
231
247
264
238
265
289
232
248
259
269
237
243
248
239
265
257
233
261
278
261
257
248
240
259
218
274
247
266
237
257
248
239
249
270
255
264
242
235
264
255
263
238
262
262
241
242
250
238
236
230
235
261
249
259
255
244
251
268
234
255
259
262
248
246
260
251
227
258
246
247
236
257
242
224
236
241
261
266
255
259
255
267
254
255
267
257
244
272
188
252
252
235
269
255
267
252
261
257
255
257
265
264
264
245
254
236
227
242
240
236
252
251
249
241
250
208
259
262
253
251
248
249
250
262
268
265
249
259
253
276
251
258
257
257
258
253
254
260
268
277
264
241
230
240
248
245
253
258
258
259
256
241
265
246
257
258
248
251
262
252
249
248
239
232
244
261
242
256
259
247
262
259
251
267
253
259
236
252
246
247
259
250
260
244
246
238
263
246
259
256
237
245
266
244
251
229
244
255
221
245
265
257
250
259
248
267
228
240
252
267
269
234
240
263
253
265
238
244
243
221
275
248
248
231
244
236
253
262
247
259
235
249
246
253
262
244
242
236
267
240
260
271
259
248
237
246
269
263
264
248
250
262
238
272
259
248
248
256
226
249
263
227
258
260
258
270
254
261
265
235
256
230
253
253
241
260
256
257
242
258
265
236
251
262
230
266
248
264
247
236
253
255
244
268
249
244
256
253
246
247
259
243
270
256
257
248
260
282
239
280
244
233
247
240
235
246
268
251
261
268
240
257
232
251
261
249
243
243
237
233
236
260
269
245
259
271
256
254
266
274
247
243
255
257
234
256
248
223
250
235
259
264
268
241
252
253
252
268
246
241
260
240
272
243
238
221
250
259
248
256
238
258
262
239
254
241
265
248
246
252
266
272
271
265
271
259
258
235
262
260
245
245
250
240
254
251
250
233
274
243
249
234
254
260
262
273
235
265
252
247
250
266
240
253
260
252
257
269
231
267
258
263
245
265
203
248
249
279
228
255
250
241
251
264
246
242
220
242
249
242
245
237
252
248
241
262
264
234
239
271
265
251
243
246
250
262
256
248
247
242
250
257
276
257
231
247
241
250
248
265
235
243
275
250
260
261
261
252
246
252
263
265
257
242
231
261
273
263
266
275
258
248
254
243
256
250
228
268
249
262
251
259
249
256
262
234
254
269
227
239
268
236
258
270
251
263
264
235
264
249
224
252
246
250
259
245
258
252
250
273
273
249
250
266
258
257
251
264
272
239
233
233
232
242
216
238
252
263
256
252
259
251
273
243
255
221
241
246
255
237
254
262
252
246
249
231
268
254
251
247
260
267
279
268
272
250
265
223
255
255
255
237
245
270
254
275
256
261
240
260
245
240
270
250
254
237
243
258
256
250
254
259
254
241
259
236
267
267
257
260
265
256
247
264
267
244
253
252
239
250
244
249
256
219
244
238
257
227
242
242
250
246
258
241
257
250
220
243
270
229
253
266
246
249
267
235
252
242
264
268
261
252
283
251
228
253
242
248
251
271
250
258
256
265
229
279
245
245
246
264
248
242
254
222
251
254
249
241
250
251
238
255
256
239
270
256
262
256
260
249
257
229
253
273
238
275
278
246
251
264
269
223
268
245
238
255
252
253
247
262
258
253
241
261
268
258
263
227
240
261
256
255
238
254
261
266
257
236
270
259
240
241
260
251
253
267
240
258
243
233
224
226
255
242
255
262
272
238
266
242
236
265
247
246
246
252
268
260
250
241
262
262
261
261
268
248
284
240
267
258
257
276
266
272
223
271
250
269
268
268
276
262
274
274
269
251
273
286
255
273
263
253
265
275
244
244
255
278
265
263
262
272
267
266
234
259
252
288
256
279
243
264
251
277
238
255
246
250
264
278
276
266
265
251
234
259
271
246
279
247
259
258
233
242
243
268
251
284
257
234
255
262
277
250
248
271
276
257
270
277
282
274
263
272
252
254
249
259
249
255
273
273
268
251
260
259
260
264
264
250
246
250
268
253
252
262
245
260
248
222
272
268
271
257
261
255
233
239
250
277
247
270
271
247
248
272
268
251
263
256
244
243
268
269
261
270
258
251
266
257
263
253
250
264
281
246
276
221
244
264
264
237
260
268
238
261
257
251
249
292
268
243
264
221
294
230
267
269
287
243
245
277
268
261
262
247
259
250
252
255
292
266
260
265
258
258
250
265
264
269
262
221
271
259
270
276
272
215
260
261
262
236
255
260
272
229
256
275
264
247
268
266
257
284
286
276
247
260
267
261
253
270
267
272
248
238
252
252
230
260
237
283
239
276
262
254
274
263
252
258
260
249
270
266
275
267
251
261
274
269
280
272
271
252
276
246
245
280
250
277
232
254
260
260
259
276
246
247
260
229
263
257
215
261
248
273
246
268
261
256
277
272
275
268
264
282
253
250
251
261
271
244
249
236
266
252
256
257
263
255
253
251
255
250
264
255
263
251
288
260
275
242
230
285
260
261
263
288
245
250
269
244
263
260
268
244
251
266
258
231
265
244
257
256
249
253
274
273
263
271
252
243
277
260
268
242
286
267
284
283
256
278
270
255
270
249
256
277
287
246
279
273
252
276
275
272
264
261
241
271
241
250
277
258
256
259
258
262
235
276
261
270
273
253
265
264
272
255
253
254
279
231
264
261
261
269
263
261
261
243
261
236
237
268
256
268
245
276
278
260
249
270
281
266
253
243
260
247
256
263
273
269
261
257
245
271
293
266
264
270
269
254
275
252
252
265
241
283
240
231
276
234
271
261
266
276
249
281
254
249
263
262
281
275
263
264
249
254
270
278
244
245
243
255
259
277
237
269
273
266
288
276
248
256
262
236
260
275
258
258
263
272
251
259
279
284
279
241
267
258
264
283
240
267
243
275
256
258
279
260
268
278
268
268
259
278
243
262
266
272
258
272
285
266
263
262
251
240
257
240
240
288
255
248
249
275
250
272
263
249
270
241
257
239
249
255
241
252
260
266
268
264
261
256
259
258
257
252
236
288
260
273
253
267
264
274
266
245
259
234
268
274
263
256
283
237
259
259
269
263
251
250
252
271
249
282
269
259
262
270
226
253
275
267
269
244
249
241
283
260
265
255
229
257
266
265
278
254
273
275
245
262
263
265
257
255
256
244
267
236
252
247
259
262
242
269
231
271
265
272
264
267
272
264
244
260
233
255
264
264
257
257
256
246
276
267
274
234
266
274
272
286
251
242
269
258
262
262
271
265
257
249
244
269
254
243
252
236
241
261
261
274
254
263
257
269
273
277
242
280
266
253
258
287
265
266
270
277
267
257
257
238
257
237
275
273
276
245
266
269
241
240
267
261
255
246
241
289
244
246
251
274
253
260
265
272
264
260
265
261
257
255
265
252
259
262
259
250
257
276
261
250
237
253
263
238
251
269
265
265
269
267
256
260
265
247
257
249
270
258
266
283
269
278
260
263
280
272
255
260
263
239
257
259
275
271
269
257
282
241
251
266
255
246
244
281
256
279
265
269
271
228
281
283
238
245
253
254
269
259
269
265
270
253
254
269
269
257
230
276
255
234
273
246
250
240
258
276
266
259
280
258
262
248
240
258
270
271
242
259
280
269
252
261
249
284
258
260
254
247
269
250
271
291
251
238
256
253
261
271
254
259
271
259
252
267
251
268
224
245
266
260
278
255
254
255
235
260
238
275
254
237
244
265
251
267
256
276
260
279
241
266
249
270
273
269
232
258
269
251
270
266
267
253
274
259
271
263
261
272
269
250
237
259
258
255
257
244
259
250
253
265
269
280
256
279
248
262
268
257
266
254
258
275
262
256
262
272
267
259
273
254
249
275
256
231
253
283
272
255
249
260
256
262
248
258
250
244
275
257
257
264
261
248
260
255
244
243
264
239
260
260
272
258
288
278
252
250
245
245
285
260
256
243
271
247
279
248
276
251
272
232
245
253
263
272
262
238
263
258
250
259
256
272
268
258
254
263
252
258
287
264
274
260
265
265
249
279
238
283
253
266
262
260
247
292
286
277
279
279
279
284
271
279
248
278
252
280
275
246
287
280
252
274
261
249
264
275
275
257
249
244
266
256
286
289
255
273
273
284
232
257
261
249
254
267
257
288
265
267
273
240
264
255
224
269
273
275
266
278
269
268
269
266
273
273
277
244
255
281
275
273
269
257
251
268
250
259
265
246
260
257
266
270
261
264
267
258
248
272
262
281
249
275
288
269
265
266
257
274
272
281
255
254
276
268
287
243
270
281
287
270
264
261
277
286
272
251
273
247
272
286
248
262
270
274
246
274
278
272
254
252
274
265
258
278
251
260
238
274
284
265
267
254
273
278
278
271
256
287
256
271
272
271
274
264
268
255
278
258
273
286
284
266
251
278
242
287
263
265
257
276
268
280
257
294
258
259
290
271
289
260
260
282
260
251
279
283
264
278
282
254
281
295
279
276
266
265
283
261
265
258
281
289
283
262
270
279
249
268
281
278
269
291
241
268
266
242
251
281
275
278
255
266
275
280
258
268
262
268
262
269
253
257
249
269
264
247
286
258
276
279
255
246
279
272
273
286
270
265
281
267
284
264
269
263
259
281
276
287
291
276
267
245
284
283
251
235
260
269
274
281
271
282
267
257
263
269
273
289
270
248
266
253
261
282
261
277
286
275
257
269
259
271
285
287
285
272
272
253
265
261
272
277
260
257
287
287
279
287
270
276
264
261
233
273
274
271
275
257
238
251
271
281
273
257
284
256
277
270
285
282
266
276
242
258
288
278
255
269
248
256
255
279
262
273
263
252
267
275
249
262
268
261
269
257
288
251
262
250
271
294
270
296
245
270
276
285
246
262
278
270
267
266
258
276
253
279
254
273
280
263
271
275
274
291
263
253
290
295
283
265
271
267
272
278
253
234
256
282
289
266
284
261
277
261
273
272
271
266
257
291
269
251
274
255
244
265
273
252
264
281
259
300
259
249
266
298
275
270
252
254
258
257
243
271
260
281
268
274
267
258
294
269
239
270
254
274
278
254
255
263
275
239
266
257
284
273
246
272
244
290
257
266
292
272
278
259
267
262
285
253
279
291
293
256
255
264
278
277
262
275
288
239
277
282
269
246
250
266
251
269
279
237
263
274
273
268
259
246
280
296
273
263
273
269
277
267
242
265
279
270
238
259
272
274
267
263
254
254
271
260
272
280
299
274
254
266
278
246
277
266
273
253
263
247
250
274
255
274
268
299
276
259
262
290
273
275
276
267
262
261
277
255
292
261
260
291
270
269
294
282
277
264
277
257
269
259
220
283
272
271
270
258
269
265
248
254
253
274
266
279
262
264
274
283
264
261
280
280
260
284
269
255
261
277
258
274
271
261
259
268
273
271
271
251
249
254
244
259
260
286
262
276
267
249
261
260
269
276
281
269
274
280
218
276
288
289
267
270
272
281
275
242
257
258
269
262
283
266
276
279
241
269
253
276
264
293
290
277
253
271
284
261
285
256
276
269
266
252
272
250
250
259
256
260
276
259
265
275
289
305
258
277
248
276
260
282
234
255
250
265
269
274
263
280
265
250
263
264
249
270
276
253
273
264
288
260
265
276
254
270
252
291
267
266
282
256
244
256
259
275
258
268
280
245
224
261
238
256
275
236
262
274
249
241
267
266
263
250
249
257
275
265
268
269
258
242
270
254
276
258
280
252
299
289
264
267
242
265
255
275
240
270
271
275
269
255
265
273
264
262
264
279
265
272
257
279
258
278
264
260
267
265
269
249
267
268
280
258
261
295
274
240
264
283
280
256
270
292
265
259
275
255
261
280
256
246
258
278
289
269
293
268
256
279
256
270
275
251
248
272
276
271
289
255
287
258
253
279
258
256
255
262
284
261
270
243
256
271
254
270
270
252
276
277
292
241
270
286
263
261
275
260
242
265
280
255
281
283
238
261
283
251
280
270
215
279
253
274
270
272
298
264
269
249
275
245
280
266
259
281
243
259
285
276
275
250
268
259
256
265
273
269
264
260
245
282
267
294
259
245
267
263
285
255
252
265
274
277
284
253
272
263
264
289
276
288
288
282
261
250
277
264
246
234
294
278
263
274
279
281
274
275
245
254
239
265
264
288
279
254
264
278
275
294
267
276
274
252
268
284
269
261
263
289
253
271
287
266
283
268
261
261
265
236
276
276
243
282
257
256
264
251
259
272
258
261
245
295
250
254
283
254
281
267
272
271
261
273
277
276
249
265
239
267
278
259
259
256
260
253
268
300
258
257
271
261
261
278
283
266
263
272
262
290
283
297
293
279
288
278
243
275
270
275
279
272
290
278
254
265
255
264
265
285
257
291
274
284
294
264
257
279
269
277
244
267
294
248
297
249
284
244
274
277
271
264
301
271
281
266
284
261
264
279
271
259
278
250
250
271
278
277
282
270
266
281
276
262
261
240
245
265
260
289
273
296
271
291
284
282
282
263
294
294
254
232
291
245
273
264
269
260
289
288
288
283
251
265
241
297
269
283
295
266
261
288
293
283
264
277
263
254
278
277
275
279
261
250
276
284
295
267
277
286
277
277
291
258
261
288
263
286
268
267
275
277
259
300
264
253
283
249
270
286
283
277
279
281
272
278
251
286
254
278
281
261
293
272
287
259
278
249
263
291
278
271
274
274
282
277
302
276
285
280
285
300
287
276
282
254
271
271
277
263
273
276
252
277
247
276
280
280
260
291
297
305
280
294
258
252
277
271
287
269
263
276
291
285
287
273
284
279
272
278
269
267
237
302
275
288
261
273
273
266
257
299
298
270
267
273
285
267
268
288
283
301
256
280
299
274
277
273
262
273
287
294
265
261
283
297
279
258
263
298
266
257
289
301
282
279
302
269
277
264
268
285
259
271
299
287
283
256
270
254
283
240
288
275
260
281
257
285
256
266
264
273
252
279
249
281
263
277
272
269
269
289
275
265
286
263
286
269
272
265
275
257
258
238
266
255
271
280
260
276
283
278
282
272
275
260
281
293
274
272
273
285
257
275
267
254
253
276
269
267
269
273
267
278
275
265
272
286
301
266
277
279
279
292
281
274
267
284
268
268
265
287
279
271
264
281
277
282
286
250
284
285
278
253
275
273
266
289
253
277
277
259
273
295
295
261
251
305
265
279
247
271
280
272
283
286
250
279
262
271
277
266
271
285
288
259
284
275
282
273
281
293
277
275
269
262
284
266
285
304
265
269
283
270
278
282
285
260
292
260
267
283
286
249
272
281
280
273
294
279
284
304
277
299
292
275
289
272
275
255
279
259
292
247
262
277
258
281
244
270
244
275
284
251
270
273
282
245
285
292
279
266
260
284
280
259
290
283
282
273
251
263
287
294
279
268
254
263
243
270
275
257
271
285
279
294
281
278
287
266
287
241
270
297
255
288
283
294
287
291
288
259
292
273
280
301
267
273
276
260
253
256
278
290
263
288
267
288
276
284
274
279
260
283
297
250
284
270
275
257
268
273
251
304
275
261
273
287
297
257
257
291
298
280
285
268
286
268
247
290
267
299
278
262
276
277
276
279
257
276
273
283
267
249
241
241
272
278
262
277
260
278
279
281
285
281
289
289
266
268
274
261
273
260
264
257
288
284
275
258
275
264
300
293
301
243
271
265
288
283
271
267
275
292
268
278
251
265
298
284
295
299
286
272
260
263
278
281
277
281
275
302
286
295
295
270
292
291
281
289
293
266
295
278
281
294
280
260
292
267
268
276
282
279
278
272
291
266
267
288
259
296
275
268
263
256
283
263
261
265
271
253
282
277
287
268
272
291
287
249
260
284
281
270
300
277
276
279
281
246
283
291
252
263
273
294
282
259
284
289
289
278
289
272
266
288
268
280
265
256
259
288
276
278
267
286
279
294
276
272
271
244
256
245
276
281
258
274
286
295
265
296
268
249
274
298
288
280
275
279
265
242
259
278
263
261
296
272
237
256
291
289
263
268
289
254
284
253
261
288
295
301
290
279
275
276
266
283
264
279
239
278
296
290
250
235
285
294
279
293
269
302
258
268
294
285
273
283
287
267
275
278
275
267
273
284
275
245
294
272
274
263
283
287
255
271
288
298
286
282
294
286
273
281
280
263
271
295
285
291
268
273
283
246
299
277
271
283
293
281
270
280
290
267
280
289
268
248
268
269
296
260
261
263
262
262
259
270
299
257
257
253
289
241
252
272
283
278
267
267
272
275
274
282
277
275
273
298
290
292
274
273
276
286
263
298
266
280
279
247
296
270
265
261
279
284
257
281
282
286
278
284
275
264
267
281
273
270
271
277
293
276
274
293
279
290
281
293
260
281
263
282
310
264
265
260
283
274
291
281
279
299
283
285
280
272
273
240
248
290
248
273
309
270
230
273
263
279
269
280
283
276
266
293
262
275
280
276
266
266
287
260
286
246
285
292
289
285
263
263
286
272
279
270
250
282
278
253
273
282
259
265
258
286
254
279
292
268
267
295
269
284
271
277
282
279
253
290
237
281
280
269
269
271
273
278
279
293
278
255
256
269
293
248
311
287
278
294
289
286
280
287
300
298
275
298
280
302
300
278
268
306
286
281
278
258
300
265
285
266
313
304
282
273
264
280
264
297
289
290
284
283
292
288
277
291
283
290
296
277
267
294
272
256
269
263
281
285
294
265
274
280
271
277
283
284
263
284
290
284
283
300
283
243
272
303
280
265
269
287
265
290
267
288
280
289
303
282
272
284
275
286
267
274
288
278
309
292
267
277
278
304
308
303
285
270
277
275
289
286
257
272
268
302
291
292
284
266
295
293
292
279
285
270
269
307
268
296
295
293
266
286
282
286
269
258
292
287
265
282
293
269
294
281
290
289
280
275
261
298
292
262
266
249
302
282
302
285
286
269
278
294
282
279
243
263
288
280
274
271
278
294
280
283
271
291
298
263
278
281
302
304
283
269
287
270
276
294
265
301
271
276
271
296
279
278
296
276
284
267
289
299
302
289
299
299
287
279
258
293
274
281
291
290
302
290
292
291
294
297
288
304
290
293
270
280
289
265
275
285
282
273
293
273
309
303
279
270
293
290
270
276
276
287
279
253
320
281
293
298
270
294
273
289
262
303
289
286
305
263
250
284
275
290
283
264
295
294
291
271
303
292
278
283
263
267
276
276
296
272
262
290
286
283
247
279
255
306
268
303
260
285
277
292
281
312
284
257
284
255
267
291
283
287
269
284
279
292
268
264
281
300
294
280
289
279
288
251
296
283
265
266
296
281
296
292
283
277
298
305
268
282
293
270
288
292
285
290
291
274
291
268
262
297
271
286
273
263
292
285
258
311
312
247
276
299
285
279
281
264
291
278
305
293
289
270
277
262
315
284
285
292
292
296
301
296
281
271
276
291
306
292
270
269
292
290
283
308
294
260
265
288
301
288
308
290
288
286
273
276
283
274
276
308
292
275
298
300
264
287
283
288
269
272
280
275
278
290
268
290
265
291
284
277
263
287
280
308
275
264
293
274
256
268
300
302
284
270
267
253
284
302
274
270
286
279
267
298
292
295
290
276
272
301
293
270
290
288
278
293
273
269
285
257
279
308
298
264
285
289
294
281
273
311
286
287
292
296
286
300
274
291
253
269
299
280
304
263
297
263
301
297
283
280
299
298
288
293
273
287
284
273
273
299
284
306
300
293
274
270
294
257
274
287
292
302
299
289
287
280
277
254
297
284
284
305
277
290
301
306
268
289
274
308
275
272
287
255
301
268
275
294
284
262
268
300
276
291
275
289
311
274
266
265
282
271
279
285
295
299
306
284
271
283
283
304
248
261
309
297
268
298
273
273
277
301
284
289
297
246
290
270
274
305
298
256
262
271
289
273
264
294
282
277
280
282
298
267
273
308
270
266
289
278
293
275
270
298
263
292
277
266
290
303
264
290
279
294
278
297
248
278
296
279
278
276
263
265
270
287
269
297
286
282
293
266
289
298
265
290
298
290
267
293
259
270
285
269
279
255
282
295
299
285
283
284
272
278
297
301
280
272
266
296
261
284
261
271
262
302
297
296
284
291
292
263
289
285
289
297
270
294
279
282
288
310
269
270
300
276
291
296
262
278
302
276
295
274
295
265
277
292
294
297
262
272
279
300
282
290
274
285
283
288
274
289
282
255
288
291
279
272
285
259
276
310
264
277
283
245
284
274
291
284
280
313
255
291
300
296
286
284
303
263
298
296
282
303
276
284
271
281
275
238
303
258
286
285
288
277
287
297
272
276
256
259
304
296
277
284
289
280
280
260
278
296
285
273
289
277
279
299
277
257
285
284
292
277
277
306
265
286
261
293
283
282
300
286
292
275
252
273
280
299
263
299
276
263
285
293
296
294
301
267
263
285
275
280
292
294
293
307
305
301
261
304
262
284
231
279
287
277
263
273
256
281
269
292
289
277
276
284
286
269
255
282
295
262
262
264
296
310
269
270
285
295
273
275
283
302
289
258
278
302
270
299
294
300
279
296
301
279
257
284
253
303
313
292
305
292
273
298
280
271
279
254
259
283
291
283
285
288
304
283
253
288
288
276
316
273
297
281
299
270
289
283
264
285
259
286
293
253
271
287
280
261
285
263
273
279
294
287
262
268
284
294
270
268
260
288
295
285
274
277
273
302
275
297
263
286
290
311
286
289
277
307
311
293
279
273
270
281
280
253
284
286
303
298
276
285
291
293
275
284
266
290
253
299
284
300
294
288
278
253
271
289
292
263
275
300
278
292
297
270
276
301
287
288
281
295
299
315
304
305
295
275
282
294
261
286
277
257
293
272
305
261
283
292
326
253
300
289
301
288
288
276
292
276
291
287
278
317
299
290
299
283
298
280
310
291
318
305
288
271
293
304
301
306
273
308
306
315
292
307
289
292
291
288
310
289
294
265
304
264
296
292
293
279
280
292
280
301
291
301
272
308
299
256
271
266
266
321
297
289
314
310
264
307
271
288
308
289
292
310
300
260
310
314
294
302
267
285
291
294
304
279
273
283
303
296
297
305
307
281
286
315
306
292
283
294
275
274
288
291
303
293
279
304
291
306
245
286
303
300
297
289
291
295
260
286
296
296
293
262
271
290
331
279
299
277
265
322
308
315
289
269
312
293
297
267
294
282
308
300
295
299
279
299
305
295
295
296
321
302
278
258
302
288
299
273
305
291
299
280
294
303
291
280
293
304
314
287
313
279
315
284
301
280
289
300
284
275
248
267
274
290
294
291
272
282
273
314
272
290
287
281
293
298
314
276
291
297
291
293
316
281
309
278
314
272
293
286
309
291
287
296
277
312
282
302
310
289
295
310
311
316
282
298
298
287
287
296
280
301
285
303
293
309
297
281
292
290
253
268
304
294
303
305
287
310
291
281
313
284
278
281
270
302
321
293
268
305
279
271
299
282
317
299
287
278
286
278
289
267
297
276
287
293
296
288
285
298
303
300
294
303
272
298
312
292
311
278
275
292
270
298
296
310
270
291
292
268
287
276
304
303
334
251
313
294
307
306
292
304
300
309
287
280
289
269
294
286
267
304
317
318
301
318
265
280
312
278
293
300
292
271
289
301
275
297
284
262
287
295
287
298
283
284
295
276
264
298
278
293
270
306
275
293
278
280
263
302
305
303
300
288
291
283
305
294
285
301
281
297
291
262
278
269
302
277
288
302
297
277
279
310
301
274
285
315
303
309
278
284
301
288
288
264
292
303
303
283
290
291
304
295
304
297
285
290
295
281
295
305
302
295
282
294
324
268
302
300
304
295
298
311
268
297
287
299
298
268
294
310
281
290
281
285
254
304
287
279
300
294
317
295
276
292
272
296
267
263
279
296
287
282
281
293
284
303
293
307
316
304
298
298
302
297
270
265
307
296
293
274
310
303
306
280
275
257
305
314
285
262
265
289
270
278
297
273
309
302
281
301
298
270
298
276
298
281
308
286
282
261
265
322
283
305
309
288
313
300
299
265
291
310
284
301
279
307
295
277
292
295
328
285
314
295
285
281
301
295
290
270
266
282
318
282
325
281
288
320
322
280
285
306
281
274
282
290
276
312
287
276
289
287
303
291
294
306
285
257
280
315
300
307
292
315
305
308
269
309
290
281
303
301
271
292
291
280
303
278
315
280
271
279
288
289
325
284
279
292
295
281
278
272
303
312
320
288
276
300
298
304
294
299
314
303
283
292
301
274
269
275
289
252
316
293
246
289
298
286
303
290
271
309
287
284
290
290
326
298
305
280
297
309
305
301
304
279
286
309
299
295
291
269
286
252
299
291
293
321
290
302
286
289
285
305
311
288
287
307
286
308
312
291
272
296
304
271
271
300
311
288
305
301
278
298
287
287
298
279
282
304
300
264
289
278
307
314
278
312
294
302
282
292
282
291
278
301
299
294
298
288
294
310
296
293
306
261
296
306
302
320
270
276
301
320
297
283
266
291
300
288
306
299
292
290
280
279
290
323
281
283
289
286
296
298
292
285
276
305
317
305
301
311
295
265
314
281
286
291
299
254
287
300
272
279
288
316
281
291
303
278
278
307
253
280
311
280
260
301
307
271
278
262
273
300
318
305
283
279
307
281
303
291
284
291
280
255
276
287
304
279
317
299
296
322
284
288
320
285
275
309
280
313
301
305
276
310
315
308
281
292
290
268
281
285
288
282
253
290
262
309
283
292
270
269
315
288
269
287
312
302
299
283
313
306
285
268
312
281
290
274
305
295
321
283
290
302
314
296
313
305
296
307
293
305
271
286
302
284
297
283
277
298
283
303
272
292
281
292
266
266
316
277
293
296
276
265
275
300
300
287
292
288
306
291
292
284
275
291
270
304
287
293
262
317
282
284
309
271
305
303
284
281
273
291
297
297
284
295
301
267
291
281
314
314
301
296
313
290
290
304
300
294
281
302
291
284
302
286
281
270
312
291
297
282
260
290
282
238
278
268
280
295
285
282
278
308
293
278
288
271
287
322
313
295
266
290
309
299
275
286
286
294
283
319
306
291
280
284
303
279
278
252
327
279
290
283
296
279
282
286
281
298
299
314
291
270
288
281
303
288
305
305
299
312
270
286
283
284
306
315
305
297
284
295
275
277
319
317
313
306
287
304
273
302
317
278
287
294
317
282
313
283
314
281
296
313
283
304
291
276
275
305
283
314
333
306
309
281
297
295
305
278
289
267
336
317
297
295
292
258
289
303
306
271
313
281
285
274
283
309
301
303
294
310
273
313
278
291
303
304
311
297
295
301
302
322
277
294
298
315
294
317
314
323
285
287
304
310
267
339
307
288
301
318
324
292
299
288
323
313
324
294
286
304
320
290
305
293
302
273
283
272
291
315
288
298
264
286
301
318
274
286
313
298
273
299
297
301
291
296
279
320
299
298
312
304
308
274
270
267
289
319
277
274
319
287
291
322
308
304
286
285
313
301
319
283
306
303
297
310
313
286
305
304
293
322
296
300
283
309
302
291
300
316
324
299
281
282
312
319
288
304
311
305
311
297
305
282
275
288
286
318
302
317
285
294
284
288
298
300
305
288
302
310
289
317
310
312
295
300
299
288
305
315
303
305
308
273
313
303
297
311
301
306
314
320
323
317
293
318
316
306
315
316
290
290
312
295
294
329
309
273
295
273
300
295
323
298
274
302
277
279
289
312
288
322
263
314
309
324
292
309
278
306
306
318
272
299
307
296
310
319
283
286
295
304
287
286
305
294
315
325
307
297
311
307
317
301
292
325
273
306
288
277
279
306
303
292
310
286
288
287
302
308
276
298
295
263
308
317
311
295
295
308
326
299
307
319
293
292
308
291
313
267
308
292
300
324
308
306
309
278
293
304
306
304
295
300
299
305
297
299
286
314
277
303
303
308
299
297
281
322
306
304
316
313
283
303
297
297
286
306
311
336
329
277
299
289
290
304
278
287
293
253
291
267
322
304
278
290
277
297
290
304
284
306
302
307
306
295
318
296
319
297
300
291
314
287
276
321
292
273
298
297
303
300
306
335
324
289
304
306
296
320
288
282
285
267
297
322
304
281
275
296
305
300
329
318
294
280
316
287
297
316
282
292
309
300
299
290
316
318
285
279
299
301
276
265
321
296
313
304
308
304
283
296
294
314
261
303
299
304
281
300
301
322
298
302
312
302
289
313
306
266
297
304
260
295
286
301
294
282
306
281
305
281
301
285
292
306
318
284
315
316
300
291
263
304
293
292
285
297
291
271
282
308
313
294
294
293
319
289
321
302
271
311
315
297
304
313
300
286
317
290
303
294
280
304
290
304
305
312
269
303
310
278
287
298
299
324
287
308
293
284
284
311
292
317
304
298
279
283
287
273
296
295
281
291
286
315
298
294
291
286
316
307
300
270
295
297
316
295
296
257
314
298
320
299
295
288
294
289
313
297
292
297
334
310
311
296
292
289
306
294
280
306
300
270
312
312
316
280
304
284
308
291
296
317
282
314
293
292
308
306
313
326
311
282
292
290
288
276
303
330
291
309
300
299
291
283
295
291
310
290
299
329
311
300
283
282
306
317
323
308
307
306
293
315
311
305
279
302
311
276
288
305
316
317
274
299
297
302
305
284
288
288
311
290
299
287
268
286
271
301
285
292
318
310
295
296
312
286
316
305
291
296
266
300
323
295
317
295
301
303
303
287
299
302
284
264
296
302
306
302
297
314
303
315
305
299
259
303
296
282
270
308
274
318
282
301
294
313
284
293
321
285
281
260
291
295
291
307
313
307
306
284
285
296
292
293
282
302
300
294
296
277
279
295
325
294
310
310
303
319
295
282
282
297
308
285
314
288
323
304
304
317
312
311
281
286
274
286
294
293
325
309
301
299
281
302
314
324
289
290
302
304
290
308
290
283
318
305
309
292
290
285
292
296
296
306
306
298
315
297
301
305
312
290
281
322
296
294
314
315
326
302
275
301
270
311
296
303
278
319
283
294
298
299
304
314
259
283
291
294
297
290
307
306
281
306
315
318
291
306
340
306
319
291
301
302
317
295
294
290
292
308
306
285
307
294
298
298
299
303
315
305
293
305
279
282
273
316
313
307
289
318
295
295
282
280
302
301
308
315
313
302
294
316
278
279
304
317
278
310
317
284
309
290
322
330
302
295
286
283
316
312
322
294
318
307
301
310
310
304
299
288
288
269
306
293
286
271
283
313
282
278
311
297
284
297
301
275
302
298
296
268
325
275
269
288
304
288
284
317
317
307
312
293
300
271
269
274
277
294
312
308
312
326
299
293
307
284
296
311
285
301
299
304
307
289
288
289
298
292
282
294
278
293
297
291
305
311
286
285
287
274
327
303
307
301
294
303
312
294
296
329
282
325
299
321
289
298
322
328
313
311
308
317
290
332
314
329
287
337
324
315
299
311
254
299
327
286
332
299
320
314
324
287
308
301
312
319
266
297
326
302
296
326
309
296
319
321
314
305
302
317
293
299
302
265
311
302
318
318
300
335
294
278
311
325
307
305
315
306
311
271
276
311
311
312
314
317
304
324
291
294
338
313
314
295
274
304
332
301
329
321
271
322
318
302
312
334
314
328
295
308
297
333
304
297
329
296
297
309
313
315
314
297
306
323
309
327
309
321
318
317
295
286
304
303
330
302
320
278
314
294
314
296
322
308
313
279
293
310
336
300
319
296
305
321
295
311
319
329
297
302
290
281
305
282
319
320
294
304
294
313
297
274
303
304
285
314
290
297
281
299
277
312
278
303
326
322
306
314
268
297
297
326
324
282
297
307
298
312
308
315
304
288
304
315
310
324
299
294
327
301
301
284
322
327
321
336
336
322
306
309
315
301
289
301
301
313
315
277
311
338
337
289
300
301
310
305
315
313
322
290
288
317
301
304
297
302
305
314
303
310
293
313
269
288
322
333
327
291
313
281
287
298
309
283
315
301
333
315
296
310
312
263
322
305
279
308
266
277
261
280
294
321
305
312
321
308
340
291
302
300
288
306
313
302
302
312
322
314
325
311
297
317
309
328
292
308
313
330
331
314
298
320
325
311
312
294
289
291
303
302
312
299
319
289
316
294
308
307
308
326
306
318
289
314
319
297
311
312
289
296
298
308
306
301
320
291
311
335
308
280
302
297
327
319
285
293
278
304
299
316
331
313
298
313
291
262
289
277
335
324
311
287
288
300
307
288
306
332
302
292
308
285
306
298
318
317
288
323
321
318
312
314
323
305
343
305
319
342
276
315
306
328
282
302
296
286
304
287
313
303
323
320
313
308
295
308
327
295
334
292
317
329
326
322
293
319
301
315
306
281
330
295
311
310
309
275
292
289
314
285
317
300
309
305
303
308
315
307
324
310
315
334
322
301
340
300
314
292
296
292
315
314
298
308
305
302
317
339
298
268
310
326
306
331
325
330
279
316
321
322
288
285
313
281
301
310
294
306
299
328
323
308
322
282
289
307
290
303
299
296
323
309
331
265
328
314
310
295
303
298
298
343
306
295
318
327
311
316
288
319
307
305
339
317
314
317
287
303
311
305
313
290
293
282
291
300
320
307
304
278
298
305
300
314
312
320
310
323
313
294
291
286
303
271
292
303
276
288
284
313
316
327
309
328
304
292
298
288
327
281
296
283
306
306
298
307
294
318
315
292
278
311
318
336
323
316
339
287
324
318
323
335
289
327
296
273
305
308
268
296
308
285
308
321
330
330
307
328
295
321
318
275
331
311
309
307
294
313
295
311
306
349
311
311
287
296
300
318
294
295
318
300
291
294
297
317
325
285
308
316
290
316
323
311
296
268
312
286
294
320
316
275
318
293
316
267
296
297
285
293
311
337
322
317
311
305
315
289
300
296
315
340
268
293
299
305
319
287
306
306
311
302
318
334
336
292
285
266
293
316
307
292
304
307
314
323
302
299
304
305
291
295
318
306
323
327
309
300
289
311
310
308
304
325
293
313
311
290
329
287
307
308
306
305
337
295
303
319
320
310
280
314
296
306
319
311
313
313
302
292
306
314
322
284
303
303
310
315
306
306
320
308
307
298
299
289
305
272
303
276
303
321
289
323
302
309
305
320
318
315
312
302
315
291
297
286
302
306
291
296
293
315
318
307
300
323
300
340
301
301
304
309
323
313
303
303
296
324
327
299
309
278
316
302
277
281
331
332
312
294
311
329
290
331
302
302
318
327
311
310
302
303
311
293
318
294
326
310
303
305
320
277
308
314
286
283
327
300
309
314
307
341
300
298
277
289
312
331
292
304
304
316
312
301
323
303
312
310
312
276
279
289
323
295
319
331
309
284
309
330
315
299
320
312
308
305
297
307
320
279
284
309
307
272
304
296
285
283
297
319
302
292
285
296
314
310
321
321
311
314
300
308
304
317
324
327
300
295
306
307
293
324
268
290
325
310
284
319
308
290
309
323
305
312
280
294
316
307
271
330
314
278
316
333
320
300
325
279
303
325
278
299
318
294
340
296
317
329
274
311
329
322
311
325
315
286
337
332
282
275
293
325
310
306
288
307
301
310
301
331
309
317
299
289
317
304
291
265
290
304
311
313
306
318
317
275
298
290
329
308
328
293
342
293
298
283
297
289
309
295
321
288
294
328
316
319
309
315
343
303
317
297
343
301
317
307
326
319
319
286
327
321
321
276
324
315
287
292
341
309
276
314
329
317
323
318
308
334
324
316
323
319
320
321
309
326
326
302
304
289
337
318
316
311
323
293
297
312
312
328
296
343
327
317
314
301
326
340
296
338
323
326
319
329
316
338
319
331
343
317
351
310
325
310
319
316
305
286
311
338
332
323
318
285
307
308
314
315
319
322
319
313
318
314
308
330
318
310
323
299
336
311
301
320
318
293
314
329
313
319
309
305
299
305
328
297
319
309
301
322
315
333
329
328
308
313
311
323
323
314
317
294
314
299
292
335
309
314
326
291
320
317
311
317
311
321
313
311
317
334
303
302
340
320
316
324
314
297
296
319
291
319
306
319
320
304
295
350
301
312
293
304
321
329
306
319
314
299
315
310
319
300
335
315
327
296
308
299
317
318
306
317
287
320
337
297
336
267
311
303
319
305
341
309
351
305
326
328
310
310
307
296
321
309
306
299
333
292
305
330
324
315
314
313
326
311
297
314
313
299
322
325
304
308
311
322
327
318
304
308
301
303
319
293
290
296
335
316
327
321
334
319
351
306
325
347
339
295
308
289
323
303
320
307
326
300
316
312
304
293
324
306
337
313
285
315
271
342
290
293
334
304
329
291
314
302
310
306
320
313
339
342
322
316
286
323
311
298
324
329
317
327
309
296
324
315
307
304
294
321
316
339
308
328
313
297
320
289
305
303
285
315
310
299
330
298
329
335
318
296
301
312
322
333
322
295
307
285
311
337
312
310
286
312
330
353
318
321
286
288
308
304
320
322
341
334
288
318
326
312
322
320
307
296
306
287
321
317
298
302
321
319
293
318
290
312
315
318
310
318
329
308
268
319
314
315
333
310
311
282
321
281
331
327
306
327
296
330
301
319
322
337
309
320
317
319
306
310
302
306
310
300
305
289
313
325
293
330
329
296
315
299
318
311
301
307
312
309
318
275
318
318
329
332
317
316
314
323
296
298
315
316
345
319
319
309
325
336
339
321
293
324
336
330
317
324
295
313
302
327
290
311
333
346
303
297
300
326
313
282
317
312
318
330
309
325
325
285
302
284
293
313
338
330
327
305
317
313
305
285
288
306
324
320
325
303
307
320
331
320
300
293
307
305
323
324
333
324
306
297
310
338
298
285
327
315
304
313
326
326
327
327
308
323
323
348
307
313
306
295
327
309
294
302
293
305
328
333
311
322
307
310
329
289
328
306
300
317
323
308
297
310
338
319
303
304
340
291
325
292
326
343
320
319
302
331
317
334
308
317
309
311
294
307
298
330
308
324
297
315
320
329
308
310
328
297
316
339
336
304
311
314
319
310
343
296
307
331
314
281
316
314
320
327
339
336
334
313
330
336
292
322
307
310
330
321
304
327
288
311
293
317
306
332
284
318
332
316
328
313
297
316
320
328
297
327
294
299
327
307
329
315
311
354
314
317
334
286
309
300
313
325
333
331
318
326
315
333
296
315
338
319
303
319
334
303
293
310
312
311
285
336
304
320
296
315
318
302
321
289
306
314
313
320
317
296
326
320
333
324
309
303
333
305
321
319
289
327
315
310
311
295
298
317
314
282
333
301
301
303
300
294
305
305
332
293
320
277
323
318
303
316
319
317
336
309
325
297
309
315
342
314
289
310
306
331
301
333
313
291
295
304
305
307
315
301
317
311
305
300
320
299
322
325
318
317
321
306
338
296
288
311
314
306
325
309
292
328
312
329
312
339
328
334
311
293
303
307
318
321
312
321
334
307
314
323
296
314
298
331
308
300
322
301
308
322
334
339
307
319
309
298
295
314
294
322
314
312
324
324
318
318
323
278
299
327
310
305
346
315
314
339
324
303
289
330
293
301
301
327
325
301
304
296
333
338
331
325
315
323
309
344
312
286
314
296
300
306
329
327
324
308
328
301
315
315
308
318
314
313
308
310
332
310
313
303
348
320
304
313
316
299
313
311
330
339
316
330
312
335
312
315
316
348
301
305
310
331
265
315
315
300
307
311
312
324
301
334
301
314
303
314
296
324
323
317
355
299
290
309
323
310
305
328
321
317
301
304
334
319
292
304
340
325
335
304
291
291
323
312
328
284
310
315
284
318
313
325
335
299
341
304
325
304
300
278
300
313
315
323
323
315
313
312
317
299
332
318
321
328
292
323
288
312
327
327
303
320
338
343
294
311
307
309
300
338
300
315
280
318
329
322
324
333
282
295
303
292
319
330
306
307
328
341
334
322
278
310
323
315
301
334
317
312
325
323
327
337
323
317
335
339
312
274
337
311
311
312
326
302
299
351
305
328
320
351
328
348
305
317
305
320
313
347
308
314
326
331
310
316
307
322
329
320
325
316
317
322
279
305
276
312
317
325
301
335
316
299
349
320
326
306
321
315
319
331
352
332
332
337
316
330
303
343
350
301
322
346
312
304
329
311
332
298
307
332
305
314
280
320
310
336
325
337
305
317
331
324
344
303
323
304
296
351
315
350
326
302
332
292
318
336
308
320
293
331
324
335
314
348
302
300
326
335
326
292
325
334
345
328
352
353
318
332
324
344
328
340
293
343
313
339
327
332
312
312
317
330
314
323
356
314
327
309
348
317
298
343
328
317
319
283
335
318
308
336
335
341
309
318
307
311
333
309
331
304
329
312
316
307
281
322
350
335
341
297
336
306
313
344
335
318
303
344
292
325
326
327
297
308
324
322
294
312
312
331
334
325
320
324
351
312
305
317
308
313
332
309
322
316
318
336
299
320
321
321
322
321
329
321
326
312
330
335
314
325
324
315
275
316
328
304
320
341
316
345
337
330
291
335
328
308
334
326
320
334
313
309
314
330
327
311
322
303
324
325
298
291
339
347
313
318
320
335
310
310
333
320
326
329
303
320
327
325
332
304
334
323
338
336
322
327
328
323
322
300
319
330
328
327
334
338
311
329
297
293
316
298
353
321
310
322
304
327
345
332
300
317
344
340
304
300
356
328
324
323
293
312
328
313
312
309
310
302
310
314
324
331
329
349
293
316
330
311
326
320
338
318
311
310
325
294
341
344
320
333
315
324
333
293
347
332
302
313
321
323
333
326
310
323
306
326
316
302
310
330
357
339
329
307
348
341
353
335
338
313
332
308
332
327
321
331
313
320
321
296
329
318
277
326
333
335
305
319
306
350
320
337
334
332
337
334
337
305
336
328
314
349
308
343
331
285
320
323
316
304
323
300
346
304
297
329
335
320
327
318
335
317
318
311
323
317
326
308
302
308
340
295
337
334
302
272
325
301
298
309
318
316
313
341
311
334
338
307
335
293
326
314
327
304
335
314
309
322
327
318
328
328
328
343
347
305
315
329
345
322
318
298
339
296
338
301
307
331
315
293
339
332
331
321
313
295
322
321
324
320
313
320
325
344
328
328
318
320
317
315
322
308
299
320
332
346
335
315
305
342
300
306
320
324
320
333
338
328
310
333
308
316
332
363
324
334
290
312
322
340
318
309
298
324
337
321
306
289
326
309
304
313
344
286
320
309
320
297
346
327
344
333
319
342
311
310
351
315
337
360
335
326
306
321
343
323
291
350
304
328
317
333
335
342
328
317
304
333
301
294
338
312
307
284
335
328
331
314
320
322
312
315
343
322
329
307
325
297
346
322
319
350
321
304
342
305
323
327
313
306
296
326
324
338
318
328
328
310
296
317
326
260
326
341
342
270
341
338
320
308
315
315
318
329
316
295
305
344
317
304
323
323
322
325
295
328
327
321
307
333
316
320
327
311
290
309
329
357
314
334
326
323
288
320
302
330
304
289
341
325
309
332
321
302
317
352
317
326
312
333
306
323
325
305
304
330
317
317
328
336
336
336
317
326
334
307
313
325
295
338
326
342
341
309
335
334
316
333
321
344
306
300
325
302
329
337
313
318
296
333
329
339
343
301
309
332
312
309
323
360
348
295
319
318
313
330
323
329
279
307
333
352
314
329
328
291
323
321
348
293
298
301
330
308
316
322
294
308
322
318
322
314
314
315
322
329
329
330
337
347
320
346
302
334
337
317
304
318
334
337
312
333
296
328
319
339
303
335
332
304
344
295
364
333
331
303
314
320
314
327
323
317
329
326
334
319
338
323
342
308
293
309
336
338
307
333
328
307
315
329
316
316
351
345
310
311
285
339
323
308
291
333
349
360
319
331
326
320
334
299
307
323
309
298
323
321
322
304
316
335
310
322
324
298
335
308
316
311
322
341
339
330
313
322
316
325
322
335
328
333
325
311
318
306
297
318
320
327
316
299
319
327
340
323
304
338
316
313
338
306
323
346
307
306
300
306
318
317
323
329
336
322
319
352
332
324
316
318
338
314
327
348
331
337
319
315
332
336
311
312
323
352
315
333
298
327
330
335
338
320
314
325
317
323
322
327
342
328
334
317
305
296
310
336
320
327
321
305
315
329
353
321
325
335
341
309
315
309
346
309
336
316
308
316
320
324
312
313
279
320
342
356
335
340
291
321
309
349
328
323
337
351
350
312
359
334
322
346
358
330
339
344
334
322
354
322
347
319
318
320
314
307
340
290
298
330
310
318
315
332
327
330
334
321
329
323
311
322
339
340
308
306
322
340
352
328
314
289
319
333
340
313
326
313
315
318
324
319
350
334
296
339
337
329
349
350
296
351
297
316
345
322
317
378
330
343
322
341
329
346
357
314
313
344
317
358
336
303
336
323
314
289
313
341
344
306
318
336
326
337
321
297
359
327
349
339
343
302
327
308
308
335
337
333
325
322
340
322
337
298
336
314
322
319
354
354
339
331
311
309
317
314
313
323
330
336
346
331
333
305
350
312
355
316
316
334
336
324
327
325
349
348
329
307
331
336
343
321
347
324
344
330
325
310
287
327
319
321
285
326
335
313
323
322
348
355
327
321
323
297
357
341
339
317
344
332
290
318
335
312
349
329
314
332
317
303
294
355
337
339
351
338
356
325
327
309
329
341
307
319
317
311
332
344
341
321
342
339
336
325
332
318
299
329
321
318
326
345
312
337
311
326
343
330
308
321
363
319
292
306
315
313
334
332
323
343
331
340
320
323
364
318
311
345
330
329
323
316
319
323
318
323
332
328
338
352
308
321
336
317
349
328
352
362
332
324
320
338
348
319
343
315
341
335
294
290
334
346
355
318
352
333
304
337
332
327
325
336
291
330
312
338
319
347
314
329
333
312
338
363
320
332
338
325
337
334
358
335
329
334
347
343
326
352
329
323
337
318
327
336
345
334
331
347
325
335
355
344
335
348
354
289
279
355
322
336
309
325
342
333
361
348
344
304
317
332
341
344
339
350
331
328
327
334
298
353
323
284
336
337
323
311
349
305
337
366
326
337
329
322
338
317
347
307
319
323
321
297
343
305
313
334
327
324
328
354
350
325
332
308
304
354
327
334
352
310
310
299
333
329
330
323
344
319
338
328
298
314
319
332
338
314
319
342
278
332
340
316
306
286
345
321
319
339
333
340
328
339
330
331
315
360
303
340
341
347
338
309
323
354
320
346
316
315
345
337
345
318
312
370
315
347
321
320
337
342
325
339
323
330
299
324
321
320
353
298
338
316
305
298
313
313
335
368
339
339
337
331
322
338
332
353
317
323
348
332
300
314
332
335
337
333
350
329
318
341
332
297
333
325
309
291
343
342
315
334
352
342
333
341
314
360
316
331
357
332
320
344
296
347
312
301
335
302
353
316
312
330
309
326
311
349
354
333
287
333
347
324
307
333
350
299
309
364
350
339
339
319
321
333
334
327
327
290
302
317
320
330
340
350
298
350
344
332
336
321
350
327
329
326
329
335
328
344
328
321
329
326
305
318
328
318
336
317
365
349
321
340
327
320
331
308
354
318
329
315
313
308
343
354
356
322
339
343
364
357
306
308
292
331
332
331
300
316
362
328
362
325
328
317
330
326
353
342
302
299
321
339
308
340
325
325
323
318
344
355
344
299
309
338
316
338
355
313
298
325
322
333
353
315
307
306
359
306
343
339
329
315
346
314
290
308
321
346
340
331
323
346
323
293
338
357
335
326
345
312
338
338
311
305
337
336
315
347
326
323
331
317
323
312
348
317
325
323
328
350
342
314
353
317
322
348
329
325
352
326
347
280
333
350
332
343
344
300
333
328
333
341
309
339
339
341
335
327
326
332
335
314
321
320
335
327
355
324
340
346
354
354
344
333
333
321
338
347
348
298
314
327
329
318
351
313
329
334
343
296
311
301
319
355
352
316
324
320
336
353
345
330
303
333
316
346
324
326
314
313
299
300
308
340
313
339
307
325
337
319
345
349
315
324
340
346
319
305
359
331
306
335
342
329
320
321
346
339
315
339
339
328
337
308
322
320
315
331
352
323
365
328
325
341
330
330
323
329
320
317
315
324
323
305
326
316
333
334
313
299
350
332
323
298
321
334
309
339
313
319
325
315
353
329
350
337
315
294
296
315
303
320
309
302
340
335
331
347
309
307
336
329
324
321
302
322
337
312
317
313
324
332
296
323
292
329
322
334
350
332
316
350
325
325
304
352
343
346
325
335
301
308
340
330
328
345
342
315
319
345
323
316
311
328
329
295
317
345
342
321
338
339
306
324
351
328
329
296
329
301
339
317
309
348
322
350
327
323
318
316
336
326
311
322
313
333
347
316
293
321
311
339
327
327
337
335
334
330
327
306
308
331
334
333
297
322
323
288
314
311
330
349
317
335
347
298
337
337
314
336
322
308
343
328
310
358
325
293
327
314
352
340
345
325
370
333
300
358
329
370
348
308
343
388
345
342
324
325
332
334
337
369
352
323
313
309
328
341
334
332
316
333
335
341
340
346
315
338
360
345
333
321
325
337
319
358
326
306
351
337
350
336
354
340
352
365
320
328
321
349
322
306
367
376
348
358
337
310
348
290
330
346
312
317
359
351
346
357
355
343
343
326
338
352
355
345
347
332
350
333
338
341
328
297
347
333
341
355
346
346
339
348
326
302
343
326
328
325
343
338
307
324
324
304
357
340
348
352
313
328
324
354
345
329
357
363
313
322
319
331
325
301
328
316
323
317
348
336
353
364
336
331
316
356
346
355
356
325
318
343
356
326
336
353
344
331
349
349
330
314
343
348
341
353
361
354
333
322
351
352
360
334
350
346
328
348
353
341
360
317
346
338
360
355
359
333
353
324
345
316
326
333
338
335
336
359
352
355
337
337
353
341
353
315
330
356
303
331
348
335
348
310
339
336
359
328
346
314
354
327
330
322
363
306
362
346
363
308
355
310
347
348
315
348
333
301
334
360
323
368
357
350
345
342
350
356
334
347
335
354
316
350
320
325
321
368
351
342
331
329
340
315
335
338
352
345
323
352
323
346
358
333
324
336
360
347
313
339
330
319
326
309
320
332
358
344
330
343
307
344
353
335
351
322
333
360
317
320
337
320
335
349
347
343
354
329
319
322
323
337
337
349
311
365
297
319
325
337
334
338
348
346
345
341
347
337
326
348
351
327
337
361
332
319
368
328
355
325
304
347
358
345
347
329
329
324
311
338
336
353
348
347
380
327
322
357
323
334
353
306
332
340
369
330
335
345
341
312
330
303
337
349
319
342
326
321
366
324
348
351
341
327
344
327
354
342
321
347
355
324
352
313
336
355
341
362
330
335
341
331
337
346
335
355
343
315
334
368
328
324
338
341
346
336
340
341
339
336
347
342
336
282
338
316
337
342
330
339
335
356
311
352
321
334
348
320
326
331
309
314
356
332
350
320
337
335
370
335
357
328
321
341
350
317
353
345
352
352
346
323
361
339
361
341
312
340
314
320
337
343
313
342
331
343
344
301
352
350
310
308
348
318
330
360
346
308
336
347
339
325
328
317
310
334
361
371
356
364
323
320
361
347
364
340
336
352
319
326
317
335
321
351
308
338
310
334
353
297
348
340
307
356
350
339
340
343
333
328
354
319
322
370
332
346
320
320
318
332
338
348
351
353
357
333
340
321
336
354
314
322
335
335
328
349
333
329
324
346
350
335
328
330
347
335
367
333
322
330
307
345
304
339
341
335
331
352
312
341
334
333
317
325
356
334
307
321
325
329
324
322
363
350
359
309
328
332
334
337
336
340
323
352
346
313
325
349
321
341
353
327
339
344
348
312
346
316
354
333
339
364
340
327
340
326
381
355
338
323
327
343
389
305
324
329
311
294
326
353
335
328
325
338
313
343
318
356
340
345
319
343
333
346
348
351
359
331
338
369
314
329
329
300
325
335
349
340
307
339
347
329
358
343
328
335
306
341
335
328
327
354
357
326
306
364
341
341
354
346
338
337
322
332
348
281
324
374
321
339
339
344
346
358
348
325
324
321
328
355
367
342
296
331
345
324
339
335
332
313
339
353
307
339
305
354
330
360
349
335
350
361
347
358
336
306
308
344
358
327
318
345
352
332
347
355
312
363
349
340
323
329
344
369
343
281
326
306
334
323
315
347
327
330
309
343
321
317
339
338
349
336
339
335
316
331
323
344
333
353
330
328
365
364
338
359
338
353
370
342
316
306
319
332
329
313
352
351
331
325
326
333
317
327
327
336
348
315
329
330
343
347
318
330
333
355
325
331
293
338
359
358
282
369
337
325
321
350
350
326
362
339
328
352
332
326
358
346
344
343
341
327
342
333
300
322
330
362
322
371
319
298
317
327
330
303
334
364
339
351
348
337
327
328
323
303
322
333
363
351
341
338
333
346
319
327
341
357
329
326
340
303
329
323
314
333
341
357
351
351
320
380
339
364
354
316
319
328
333
323
334
363
350
336
330
324
308
346
328
328
349
350
319
353
356
334
337
317
334
363
338
326
311
334
329
333
356
360
346
332
352
336
333
316
344
323
330
318
316
327
344
343
333
317
352
336
320
364
360
346
354
316
369
363
299
315
324
344
335
315
332
362
342
341
336
306
342
365
324
327
345
342
329
335
324
312
352
343
349
345
323
324
334
332
323
327
323
328
339
321
343
306
315
344
312
321
324
361
340
309
329
365
376
355
338
332
353
369
364
346
328
347
332
334
345
350
346
351
359
340
362
375
349
367
323
339
350
352
360
355
338
349
335
346
333
355
358
329
341
354
360
318
344
354
342
330
324
364
327
363
324
330
334
340
326
336
361
366
327
337
345
308
367
363
348
315
357
366
338
340
323
331
366
352
328
370
336
343
321
336
330
347
355
341
341
367
355
344
327
337
329
321
356
331
347
357
349
323
338
333
313
331
352
314
343
359
367
357
343
356
337
344
348
370
345
348
347
318
328
341
370
380
319
356
313
371
374
352
351
364
328
370
369
350
328
329
340
334
332
359
345
343
353
347
338
342
350
336
319
331
350
359
324
362
364
345
350
349
336
329
367
332
343
344
327
333
344
345
338
376
334
344
365
344
312
332
335
348
354
351
332
329
344
342
307
349
357
347
360
334
336
355
337
317
320
359
362
342
359
329
337
341
313
363
363
336
350
361
327
348
370
333
357
364
326
343
324
324
366
323
370
339
359
339
357
343
335
368
342
336
323
342
371
341
357
330
363
333
354
355
353
348
344
362
334
367
352
342
334
337
326
307
341
374
363
342
319
350
350
327
350
347
348
321
347
341
342
308
335
352
361
362
339
338
353
344
313
344
347
311
337
315
375
337
352
369
351
342
345
345
327
339
360
354
328
361
352
333
348
361
329
332
338
340
366
348
344
320
331
320
320
334
348
360
326
335
351
374
349
323
367
370
302
361
341
359
365
341
360
324
350
357
351
368
360
311
327
337
332
346
342
321
367
344
313
350
358
372
353
346
364
341
359
341
332
340
355
341
339
328
354
348
339
349
353
337
347
335
363
345
346
349
300
340
328
304
310
349
332
350
366
342
343
343
344
333
332
345
338
323
371
293
325
337
330
332
337
322
316
360
372
342
356
363
340
366
326
349
329
333
323
346
348
338
341
340
351
322
353
362
325
324
365
354
349
360
326
325
346
344
354
352
351
360
339
346
355
355
334
322
363
337
364
340
346
351
336
351
335
320
355
334
317
343
313
327
332
324
369
333
342
357
336
351
358
295
338
360
342
329
329
311
309
327
369
342
348
326
346
361
317
347
353
359
317
345
349
357
357
356
326
351
364
315
324
377
351
343
357
329
362
337
328
339
294
347
330
330
345
334
329
323
316
367
339
342
345
349
353
312
345
355
323
346
324
344
359
338
317
340
361
357
344
330
320
337
332
343
325
337
335
339
330
342
330
368
329
337
344
326
353
346
359
316
337
307
352
362
352
358
322
337
324
347
343
348
349
349
349
357
366
334
342
366
342
349
321
335
349
308
332
337
330
378
330
367
343
343
359
357
361
342
342
347
348
334
337
334
333
335
356
344
334
348
338
324
339
341
345
356
333
349
345
351
338
326
336
338
328
349
336
354
346
368
361
338
316
328
316
321
339
367
350
339
363
340
327
322
355
348
371
379
327
374
346
346
342
356
382
345
358
324
293
336
328
334
328
312
342
325
339
338
344
331
335
323
346
373
329
370
309
382
355
358
321
345
334
301
367
369
356
334
346
341
365
321
356
327
350
344
357
368
378
359
383
360
325
345
364
336
335
352
312
347
347
323
321
336
343
357
333
354
358
334
318
337
341
327
334
366
355
342
317
347
341
309
330
337
375
352
312
367
344
368
342
317
337
345
343
356
346
343
330
370
323
372
335
328
353
345
331
342
386
360
330
354
342
318
311
341
350
331
333
330
347
297
317
332
360
341
326
335
370
355
346
337
349
309
323
367
339
361
325
372
333
342
335
364
359
354
349
349
353
340
342
375
331
344
333
327
341
315
323
331
359
329
341
355
346
330
347
317
323
335
328
359
349
354
349
376
351
321
327
341
332
336
335
336
340
349
346
324
349
315
367
320
348
344
369
323
357
342
354
353
364
364
336
366
357
329
369
384
311
352
331
314
349
362
322
358
324
337
332
312
332
325
343
327
336
363
352
337
330
335
343
327
335
307
367
350
343
332
343
333
322
333
332
353
316
346
331
360
346
322
330
363
352
331
350
348
359
332
341
347
364
362
321
355
336
388
320
317
333
351
353
312
308
340
319
331
345
377
340
326
316
359
357
379
327
315
344
330
343
355
325
343
324
330
357
347
331
346
358
327
332
333
340
326
338
337
345
354
357
332
355
340
357
349
347
348
351
364
372
333
360
374
348
374
338
320
315
378
339
335
330
328
329
354
345
365
355
338
334
343
341
362
369
307
330
347
334
384
334
349
344
329
358
331
347
335
363
367
353
354
347
337
361
334
338
313
350
346
353
349
376
319
353
327
353
371
351
344
356
370
391
354
355
353
354
351
342
351
377
361
364
315
384
332
334
372
347
353
342
352
345
330
336
351
368
380
370
348
346
346
366
332
365
345
377
358
355
357
340
393
348
356
319
344
347
357
343
350
330
374
355
339
334
351
323
347
368
320
360
352
348
348
389
351
341
345
356
330
365
362
331
323
341
364
335
323
376
346
309
339
351
382
362
325
346
359
364
360
346
353
344
368
365
334
394
335
342
354
369
314
366
373
381
352
369
357
374
374
366
358
352
334
345
352
376
384
363
364
355
364
369
339
386
337
358
344
353
356
343
362
347
326
329
368
370
341
385
336
347
352
356
355
369
369
357
349
336
333
364
353
377
381
364
355
365
347
350
375
338
362
327
333
364
366
331
351
331
330
357
340
344
360
359
326
330
351
360
340
340
370
338
362
352
307
350
314
343
328
352
357
350
353
379
357
332
377
366
339
345
329
312
342
377
372
344
339
361
364
372
367
333
357
356
335
359
375
369
385
349
364
377
365
390
331
357
362
311
334
343
344
368
347
354
320
333
369
326
371
381
347
325
341
357
383
370
362
326
345
339
354
364
335
368
371
356
350
332
367
356
353
334
344
347
327
361
352
337
342
365
358
332
339
375
357
366
346
342
370
366
352
369
318
339
351
342
366
362
349
351
332
333
361
342
340
360
355
372
365
335
370
341
356
347
330
362
361
344
369
370
340
338
359
348
339
338
368
325
368
352
337
357
337
360
304
378
373
325
359
327
345
333
378
341
348
330
360
338
362
407
361
348
347
356
297
343
368
348
353
321
340
348
343
320
356
339
322
357
372
348
355
357
330
350
340
366
360
357
350
369
361
352
382
349
323
333
335
328
319
333
387
335
376
354
332
361
306
346
367
389
364
348
368
342
348
360
361
357
376
319
340
363
339
328
381
338
321
344
389
353
362
340
369
340
340
365
347
355
358
369
365
349
374
325
348
376
342
348
356
332
369
365
338
322
391
327
349
337
348
355
325
343
346
327
354
351
364
373
341
359
356
349
347
376
337
358
353
378
346
330
354
369
354
364
361
334
368
325
336
374
347
346
359
315
353
304
346
378
331
330
349
373
325
337
340
377
353
350
372
356
353
343
374
365
367
378
374
366
320
348
313
355
340
348
377
323
361
377
330
373
362
352
373
363
343
335
341
351
345
377
331
357
368
336
312
357
335
336
359
352
326
358
339
331
347
314
370
351
321
331
358
340
334
332
347
366
331
352
351
360
385
343
381
378
347
337
350
365
368
361
336
338
334
335
309
327
334
352
346
363
335
349
353
334
342
356
340
372
332
350
355
368
310
335
353
349
367
356
364
347
340
371
351
336
335
343
353
362
355
337
346
358
353
344
367
367
349
335
335
366
360
354
365
343
380
348
314
358
343
382
324
337
360
358
332
325
359
376
349
335
363
377
335
332
335
353
364
368
339
351
349
381
350
364
363
327
359
336
361
323
358
336
366
329
379
332
344
335
340
363
337
361
375
370
347
310
353
342
310
339
327
375
372
345
365
359
344
349
346
353
334
366
338
337
299
335
323
340
327
354
337
324
388
336
347
389
339
359
360
387
307
328
338
365
332
326
369
358
337
350
340
354
367
319
358
354
371
321
320
365
341
355
339
381
365
337
363
337
359
346
342
336
377
332
368
342
371
345
378
351
372
346
337
316
337
344
355
380
369
344
354
346
340
335
359
342
357
354
337
380
379
361
359
314
381
357
389
345
370
352
369
342
354
312
373
358
342
304
332
343
366
331
343
343
345
355
349
371
320
382
356
361
336
332
366
322
328
352
352
345
348
374
338
337
350
339
350
319
361
375
353
341
361
318
334
368
342
371
348
344
327
334
358
339
346
369
327
363
364
316
363
365
355
326
341
335
349
372
364
366
325
343
371
373
393
380
329
319
367
384
378
374
352
327
335
317
334
347
321
360
380
338
348
323
331
342
375
351
347
343
368
330
326
352
339
342
364
362
331
343
334
354
311
364
354
355
362
353
347
362
348
320
370
340
326
377
307
344
333
355
371
364
351
362
344
367
357
338
327
344
353
364
320
330
380
377
337
359
367
374
365
354
330
359
325
381
362
322
383
338
363
334
344
325
353
322
373
357
362
361
318
373
361
371
378
362
351
372
341
365
356
349
334
333
371
349
379
361
324
356
349
365
358
345
339
320
362
372
351
355
379
347
352
367
347
364
360
342
352
366
366
373
362
344
342
374
371
318
347
346
360
334
396
366
357
357
386
346
345
338
366
356
318
390
353
375
373
323
360
357
350
355
380
331
369
356
358
342
344
356
343
337
370
345
368
370
358
366
357
367
367
338
332
375
367
337
375
362
360
353
359
357
378
360
317
359
363
349
362
344
362
365
361
344
348
352
370
363
328
365
348
343
368
388
369
385
355
351
356
377
375
375
382
345
404
368
322
358
351
337
332
336
335
345
367
344
364
373
365
355
368
353
364
353
363
368
382
358
354
391
377
339
349
378
339
366
361
368
377
367
374
359
362
396
360
361
349
363
371
357
320
332
337
349
358
348
369
379
357
362
336
344
346
361
383
303
345
357
356
363
370
350
349
318
321
348
367
347
352
377
358
369
362
391
394
334
356
320
322
364
359
363
366
343
354
361
338
368
352
328
340
331
354
358
348
339
347
353
376
359
353
376
352
357
374
350
388
361
342
402
364
348
340
347
332
386
379
379
337
333
352
352
328
348
348
384
362
361
353
351
380
346
355
363
389
353
355
364
359
348
339
311
345
382
358
377
345
350
377
353
349
330
339
377
322
371
372
377
349
364
370
381
302
335
386
382
346
373
379
388
344
382
364
370
347
366
355
380
346
344
370
364
318
374
339
381
337
348
369
377
354
368
362
363
362
373
325
321
343
349
362
375
358
370
358
337
372
369
364
379
302
365
322
334
345
355
343
381
354
344
337
359
326
353
349
358
360
376
328
338
362
344
367
336
339
348
355
344
367
386
356
354
353
377
380
353
363
353
325
344
377
335
359
377
382
367
385
343
353
332
364
354
340
353
355
352
366
353
337
364
352
324
338
363
341
335
352
361
369
350
368
377
344
336
366
381
346
381
399
366
391
322
350
375
361
376
383
367
345
395
335
338
338
352
342
343
353
344
368
332
357
379
360
324
387
337
343
366
366
378
343
343
354
341
366
350
341
347
345
323
353
345
370
341
366
375
367
319
357
352
344
344
327
389
338
323
350
375
362
371
343
356
367
332
370
385
353
346
357
352
369
335
334
341
347
339
386
377
347
376
337
357
353
347
349
358
350
370
341
383
320
362
367
360
318
347
348
386
338
320
349
382
374
365
390
367
324
331
371
352
362
356
373
337
316
342
364
375
371
343
385
361
341
340
336
368
347
386
359
351
389
336
346
363
345
368
357
354
349
347
353
357
385
363
362
369
335
363
356
356
331
362
359
344
320
354
383
358
344
315
369
347
360
309
357
365
360
375
349
359
357
370
351
364
360
387
327
377
352
370
369
365
331
382
353
349
362
344
421
355
309
356
372
365
365
367
372
345
352
356
373
375
351
379
356
356
354
357
371
320
346
354
319
394
364
374
372
345
345
361
345
348
353
396
378
346
343
332
356
354
354
351
363
345
346
351
355
384
378
344
360
351
378
347
340
362
378
365
353
376
350
378
374
339
383
347
328
366
370
314
354
343
364
358
339
363
333
347
338
365
357
357
365
345
353
340
368
341
374
344
324
360
339
341
358
372
349
333
328
342
364
334
369
360
354
348
398
357
361
367
361
382
391
351
368
371
372
354
363
353
394
362
358
324
349
381
347
350
350
345
357
381
359
374
325
347
362
333
355
318
357
372
356
358
339
365
351
398
344
344
344
313
343
338
350
358
326
334
357
368
358
332
343
350
381
346
355
347
374
380
371
360
348
362
337
348
345
343
374
378
348
367
357
324
345
342
360
358
358
346
336
379
359
381
335
349
338
364
326
372
364
356
356
345
368
368
379
361
345
349
354
334
367
360
333
346
337
360
373
352
386
374
355
367
358
362
387
311
330
368
336
355
379
376
363
361
349
370
364
352
361
372
344
368
362
342
346
345
382
374
370
365
335
364
336
355
366
373
368
350
351
343
356
338
360
332
364
378
356
381
366
366
369
356
376
356
372
369
370
365
376
370
370
357
325
349
362
361
371
379
338
377
350
355
329
365
366
347
358
367
335
350
315
348
365
380
343
389
344
352
368
358
358
358
360
359
364
330
356
349
373
360
378
383
347
379
326
371
355
348
334
404
335
354
348
332
363
382
364
363
362
360
340
346
358
333
351
372
369
365
360
373
352
352
368
349
368
387
358
368
365
339
382
372
392
322
322
320
394
373
339
343
386
360
385
353
362
370
356
365
339
341
364
341
368
363
374
318
378
379
383
365
349
357
362
360
342
338
379
376
388
377
350
350
346
351
386
347
357
361
349
350
353
359
365
343
359
363
342
351
387
378
349
394
390
333
338
357
354
355
340
357
388
349
357
358
385
355
360
380
328
373
376
373
371
366
383
365
377
358
367
358
379
332
362
376
337
367
361
373
357
376
356
355
355
365
352
334
369
358
345
377
363
397
343
340
363
355
402
369
364
369
382
366
377
323
372
378
352
361
367
375
321
366
357
357
377
362
349
328
380
357
366
353
326
355
339
344
363
382
357
363
380
374
357
378
349
369
367
372
368
357
339
380
390
379
362
388
352
352
380
377
339
371
349
335
379
403
370
369
348
345
376
359
365
378
392
357
375
364
368
374
364
386
375
392
341
371
334
315
397
354
343
358
348
361
360
374
345
384
386
388
333
358
390
377
360
383
343
364
374
345
358
352
344
366
368
366
389
369
347
362
345
377
405
388
369
370
372
334
369
388
352
339
372
394
352
363
329
348
355
360
362
394
358
355
344
342
377
338
366
370
361
323
369
358
376
372
316
338
339
371
399
360
374
385
393
375
348
327
364
355
359
360
381
366
356
379
396
405
364
372
352
376
367
383
365
367
375
356
345
370
366
334
365
397
374
362
369
403
326
372
339
344
351
333
357
351
374
391
348
368
352
355
331
368
399
374
358
364
371
339
397
394
404
334
383
366
380
382
356
353
360
384
350
373
382
372
402
360
370
360
364
385
368
362
352
364
332
384
346
367
334
335
370
356
367
338
339
373
363
339
372
394
386
360
342
364
347
346
353
370
354
371
382
359
354
322
372
383
371
394
372
380
393
323
355
383
373
354
373
356
358
379
382
377
396
348
377
397
371
387
387
372
377
362
388
353
357
332
363
353
357
343
351
353
365
390
373
365
331
385
378
369
383
345
364
357
360
393
364
354
369
381
326
364
365
355
343
348
351
350
336
329
347
345
371
355
378
352
378
364
334
392
359
355
365
366
364
377
348
365
363
334
368
351
362
379
342
394
370
352
347
349
391
361
368
340
369
356
364
369
353
348
337
335
365
361
366
319
369
368
377
381
356
368
359
366
366
376
386
355
370
388
363
361
341
367
371
356
358
348
341
328
360
383
365
346
373
359
395
370
406
349
386
391
397
374
374
374
379
359
370
387
346
343
345
349
372
368
396
374
355
368
352
369
370
357
362
376
377
356
346
368
335
401
352
383
370
340
342
365
349
341
379
362
371
372
353
376
375
351
389
395
382
338
361
370
381
372
385
359
336
338
382
363
326
369
362
363
350
373
379
357
366
394
375
368
339
362
359
347
346
369
377
384
343
364
340
357
337
354
350
369
377
380
361
380
354
367
402
289
383
357
376
357
327
371
385
356
368
349
369
342
341
376
366
342
375
369
342
393
369
347
361
390
378
341
353
384
352
361
378
349
360
368
351
349
360
385
350
378
370
387
361
359
392
359
360
329
349
359
354
383
368
351
355
384
316
351
377
337
354
373
391
341
368
365
366
390
353
358
379
372
364
370
346
342
337
400
354
349
379
348
338
336
383
396
360
363
340
371
384
386
363
374
372
378
360
330
334
392
341
368
357
380
379
386
371
362
354
373
362
355
338
378
367
348
364
356
369
349
367
345
335
364
367
352
376
383
356
359
355
311
360
354
375
340
379
358
385
340
353
373
369
384
354
356
366
379
342
383
376
369
370
364
353
360
350
360
341
365
362
365
370
346
353
360
367
349
368
378
315
369
350
360
326
384
380
373
356
341
386
364
383
402
342
380
363
397
370
361
354
350
388
368
364
364
389
362
381
371
380
355
385
342
387
360
367
337
380
361
382
352
367
373
317
412
375
369
370
350
376
382
349
384
379
341
390
348
367
369
367
372
354
352
351
388
357
326
348
386
368
370
345
395
379
332
392
337
341
368
344
392
373
376
385
370
380
384
373
370
345
395
367
360
384
357
330
345
345
362
360
387
374
406
419
391
335
384
355
358
369
353
367
369
355
385
389
392
394
374
366
347
364
393
338
335
383
325
341
369
396
381
390
380
390
377
374
344
350
352
373
366
373
360
372
341
384
378
364
343
374
367
362
351
367
366
359
375
354
345
343
357
381
380
328
373
350
377
382
369
366
371
392
347
384
370
349
381
363
391
370
375
378
348
356
330
389
377
369
373
372
355
331
363
357
354
367
354
353
372
368
348
392
343
363
340
343
373
345
349
361
332
347
359
356
334
379
408
377
343
366
351
327
344
349
374
375
367
370
368
337
365
391
367
347
355
364
387
371
380
381
342
368
361
340
360
346
369
359
351
355
338
391
369
355
354
382
356
366
391
388
379
375
388
373
386
347
393
410
372
365
381
387
369
348
385
395
379
412
334
392
363
378
395
391
352
366
375
327
365
360
376
411
372
402
375
348
344
383
366
378
365
376
377
376
360
372
387
393
375
357
377
365
380
371
362
365
382
393
376
374
367
371
369
389
353
359
366
401
373
394
386
358
368
383
351
377
356
359
396
333
362
391
382
351
358
372
354
358
386
376
375
378
387
336
399
366
376
325
366
385
348
363
390
346
348
375
390
350
390
361
397
389
386
375
392
391
380
353
387
378
362
389
399
374
347
363
385
391
392
394
351
359
378
340
374
387
359
354
330
389
387
360
347
336
378
359
347
359
411
381
352
374
373
335
330
384
369
404
374
367
385
354
382
371
387
382
359
395
381
391
364
385
320
402
358
373
376
376
347
308
399
369
386
380
355
366
349
367
381
374
409
377
365
353
377
359
385
375
381
367
360
346
340
378
385
362
351
386
348
381
382
360
371
378
391
409
370
361
349
368
391
356
367
366
411
380
371
358
396
391
370
353
369
370
360
377
388
334
348
365
380
377
374
360
335
376
403
347
365
348
368
343
348
393
372
362
350
374
379
355
355
391
386
389
393
360
384
323
373
327
373
381
350
365
379
372
377
372
374
360
402
365
350
346
399
377
342
363
388
391
359
385
394
333
387
389
368
390
388
373
391
372
335
360
367
333
361
365
370
389
366
367
345
373
359
360
390
350
384
332
360
373
365
366
371
367
378
341
384
365
370
392
382
354
373
379
373
386
381
366
405
391
376
356
354
366
366
391
378
370
368
396
382
358
384
359
385
373
343
384
413
357
369
352
370
406
335
375
361
371
375
359
382
384
390
355
364
374
355
405
373
340
369
374
365
369
362
377
340
381
356
365
367
393
372
371
345
333
355
364
392
382
370
384
372
389
356
378
357
367
377
347
404
399
377
368
373
371
381
357
349
382
373
385
359
360
357
344
362
370
371
386
371
389
373
367
341
366
367
365
343
393
379
374
371
371
350
348
370
337
385
380
376
359
351
334
400
345
356
391
324
368
376
377
366
343
360
367
385
352
353
328
380
379
377
384
384
355
354
362
364
363
375
375
388
342
378
366
363
371
356
357
380
383
375
362
366
401
375
389
333
357
361
372
353
370
362
394
364
375
382
396
381
399
359
389
351
385
346
340
389
386
358
382
370
345
376
357
375
386
386
368
363
356
353
381
374
359
397
372
379
347
367
336
337
411
358
361
405
326
367
355
328
352
355
387
383
359
363
413
375
360
394
391
372
353
380
361
371
381
378
374
376
368
363
356
378
356
364
360
357
376
392
363
365
366
355
365
351
405
367
407
370
401
371
356
368
358
370
363
415
378
395
394
376
368
352
394
363
362
379
368
374
368
367
380
395
390
369
352
387
389
361
391
347
359
366
361
398
378
402
365
379
364
358
356
379
351
406
372
338
377
357
357
343
367
369
376
387
377
372
386
362
394
369
353
371
379
390
353
368
405
410
392
357
371
355
387
393
359
351
364
341
368
357
392
393
393
391
342
368
371
370
355
352
385
376
399
390
376
391
341
357
373
374
395
382
370
365
371
362
371
369
377
398
394
380
377
383
382
353
370
390
363
354
356
361
374
382
367
367
378
357
379
361
358
379
361
360
375
364
374
345
378
371
401
364
361
344
370
381
339
384
355
380
376
388
368
351
387
369
380
351
396
383
336
364
362
381
381
345
365
390
368
342
393
399
372
359
402
360
367
367
383
341
379
383
357
339
350
368
342
371
367
387
363
376
380
337
393
351
388
369
369
396
414
360
341
382
368
410
415
372
368
374
353
363
406
389
385
363
397
374
404
363
365
368
380
372
342
367
385
413
359
364
340
389
389
329
390
394
372
361
372
396
374
353
362
369
382
374
366
376
382
347
367
348
371
395
348
396
403
354
366
369
368
370
355
366
370
375
370
352
347
367
368
352
378
341
349
383
358
356
341
366
377
355
365
374
376
364
363
392
374
372
368
371
379
377
379
369
382
363
368
353
398
397
374
361
372
354
377
365
382
370
397
376
370
356
376
373
396
372
320
373
384
398
371
374
396
368
370
338
348
380
379
357
393
378
362
369
394
384
395
356
385
330
365
376
356
373
381
367
359
381
352
379
369
375
364
383
363
376
331
369
386
381
418
360
359
375
386
402
386
350
346
364
368
391
328
367
393
358
389
363
357
377
372
381
366
400
360
360
387
356
353
381
340
360
356
374
374
368
352
394
343
383
346
357
390
369
391
356
392
412
393
391
362
361
353
355
381
428
384
365
412
367
387
397
377
387
348
368
363
376
397
376
365
421
359
366
370
408
370
344
344
327
381
371
410
396
372
400
369
390
388
368
371
362
395
391
361
355
379
361
350
401
407
342
344
398
385
366
378
369
358
370
407
398
415
384
324
396
382
380
385
382
363
375
383
385
367
351
353
370
366
377
370
365
345
372
367
361
393
398
367
384
392
380
385
385
395
401
398
392
401
378
351
388
384
377
381
370
386
351
370
404
362
376
385
355
383
367
367
366
385
393
364
405
402
399
374
394
372
381
354
380
371
384
384
368
346
367
367
353
349
386
360
386
379
339
397
370
390
394
385
393
386
356
393
392
361
395
380
384
369
373
379
389
368
410
374
397
372
383
404
376
337
417
369
397
360
374
372
408
373
386
375
404
382
332
402
381
377
380
378
365
385
362
391
379
390
372
375
380
371
382
367
339
394
400
381
380
378
402
373
375
409
411
377
352
406
371
412
389
347
373
401
367
372
397
374
381
376
401
355
360
373
387
398
393
355
385
392
390
367
387
361
347
387
388
371
382
366
350
391
373
393
338
403
353
359
371
368
391
359
387
372
398
358
365
338
383
367
385
377
392
354
400
383
347
404
373
387
377
372
368
376
368
374
383
372
376
407
370
394
380
380
387
375
383
396
391
405
344
370
375
373
370
373
394
343
386
401
364
364
393
378
384
366
387
380
361
388
353
390
402
390
369
391
396
394
396
406
374
381
392
407
420
378
397
372
373
345
380
340
334
378
362
360
365
376
358
369
392
368
380
375
417
381
390
397
399
357
373
380
419
373
400
406
406
367
376
379
378
357
390
366
398
401
372
413
371
335
399
396
377
357
352
398
385
359
382
387
413
389
382
359
381
350
400
376
390
325
377
401
392
412
387
367
348
364
366
373
354
360
391
418
383
397
381
340
407
397
407
367
379
365
373
390
367
400
390
340
365
361
380
387
377
336
359
374
383
387
362
362
376
386
415
355
383
381
416
382
394
383
373
381
368
393
347
365
367
367
359
382
349
379
386
359
359
384
370
345
370
363
375
341
375
393
357
391
381
392
373
413
369
373
360
369
384
379
392
368
356
358
369
376
362
385
391
339
392
349
348
398
384
356
381
393
402
373
369
384
391
383
374
388
388
370
377
360
386
376
340
371
352
383
377
392
352
354
372
364
352
357
378
402
395
380
383
392
364
377
389
385
399
386
347
369
365
360
368
365
375
362
384
373
393
375
380
373
374
344
390
360
344
372
386
349
344
394
384
318
396
368
367
391
368
370
375
372
430
359
349
380
356
393
377
369
388
338
384
349
413
400
336
394
361
389
390
387
375
353
373
368
400
358
365
391
358
365
389
357
382
384
394
392
371
378
348
385
395
381
387
383
374
365
368
394
366
391
387
366
375
388
376
369
413
366
412
384
392
374
358
363
368
400
382
363
379
365
396
353
411
367
380
356
363
358
402
368
393
385
362
360
372
365
386
360
381
394
356
362
360
411
351
349
397
399
368
365
340
362
381
375
373
353
382
383
375
399
391
368
369
364
368
404
377
367
356
395
362
355
356
381
373
382
375
380
342
374
379
360
374
366
347
383
381
385
377
363
384
399
366
357
368
365
371
376
381
380
383
388
384
349
353
379
393
364
399
381
356
398
378
412
404
398
377
340
412
348
377
413
368
380
397
385
377
380
371
380
351
380
343
361
373
342
368
387
371
402
334
366
383
404
370
381
384
362
417
397
383
405
376
356
361
391
368
392
400
350
377
358
399
356
349
378
368
348
416
377
382
351
385
376
373
372
390
395
361
391
380
353
378
377
351
389
364
390
387
351
396
380
375
400
380
363
386
374
381
401
336
373
362
359
357
380
334
352
404
376
407
362
422
386
404
396
393
406
374
375
372
372
377
372
371
416
361
367
385
379
382
386
389
355
370
406
363
384
378
395
379
388
412
384
385
381
394
402
400
337
386
387
371
375
376
418
354
352
367
396
390
380
394
374
406
406
389
393
373
378
362
380
396
386
387
370
383
375
368
396
396
412
360
352
358
387
403
372
395
351
403
377
367
383
376
372
367
366
358
372
375
378
397
395
377
380
377
375
365
383
370
411
363
403
390
383
402
368
408
362
368
379
374
376
364
359
367
363
372
405
396
369
399
340
340
410
385
383
381
362
394
367
373
412
375
354
389
372
386
390
395
382
345
376
368
359
392
380
381
400
370
357
383
373
376
379
415
355
362
379
380
399
393
393
387
391
405
419
355
394
360
384
410
382
373
403
374
408
360
394
381
339
347
415
377
350
375
381
415
407
380
381
343
365
364
385
404
362
365
371
369
400
393
369
385
383
386
393
393
410
378
369
372
364
337
400
362
386
381
396
363
406
413
393
378
393
392
399
401
337
426
372
380
357
365
409
373
390
395
392
386
395
382
413
385
416
372
339
389
365
391
427
407
386
355
413
379
408
369
412
408
387
359
397
398
400
403
353
387
390
363
398
382
408
386
368
407
395
372
384
384
416
390
379
385
368
383
414
381
344
377
355
344
368
386
398
366
366
365
358
401
366
348
398
384
371
350
369
361
373
399
398
393
398
405
383
378
392
379
387
384
399
390
394
392
385
385
378
346
374
335
380
387
367
382
408
391
386
382
385
390
401
365
379
405
345
394
384
373
408
417
389
364
363
372
367
391
407
375
411
371
363
358
404
388
371
401
393
371
364
383
387
390
385
393
385
385
404
402
385
418
371
404
404
357
379
360
333
379
371
396
410
371
380
369
408
392
406
397
364
391
384
370
394
390
350
375
397
373
383
396
380
398
397
362
358
397
363
384
343
398
370
364
388
394
370
419
384
404
383
407
366
376
361
376
353
370
355
405
393
391
381
372
365
418
391
359
380
361
381
379
382
395
383
380
398
376
365
400
402
397
377
392
394
381
412
393
385
414
400
385
398
373
397
382
399
353
396
385
406
422
351
370
411
392
398
359
383
411
387
400
392
383
381
399
405
364
365
370
375
370
396
395
387
388
413
377
389
372
380
399
372
378
368
397
402
395
410
391
358
411
372
390
360
397
357
390
386
358
395
403
411
384
381
409
403
390
371
403
407
378
376
392
388
365
410
373
404
413
407
404
364
418
397
402
428
421
405
412
382
395
407
392
394
385
384
362
381
393
397
408
365
361
399
367
384
368
387
355
373
403
408
380
386
379
393
390
407
373
377
340
412
388
356
377
390
373
385
406
391
374
371
339
371
385
370
370
371
401
386
382
380
382
382
361
383
390
374
392
387
371
371
382
381
364
384
419
415
426
364
388
427
372
386
399
412
363
381
357
389
375
367
377
386
396
408
386
393
407
383
434
382
389
406
414
385
375
403
381
379
382
419
393
413
409
389
393
406
390
387
400
405
390
364
395
390
383
384
404
371
355
410
382
413
379
401
400
406
387
393
391
400
333
399
374
408
403
369
391
405
387
335
390
395
403
393
398
394
384
383
405
375
369
375
404
361
395
379
383
386
364
405
378
397
376
408
352
387
388
400
391
385
408
375
369
368
378
345
370
377
403
397
377
385
408
376
385
409
399
389
366
414
392
390
386
396
381
391
392
391
385
399
378
356
388
352
399
367
388
384
398
370
378
370
337
368
406
359
385
390
398
396
366
368
394
396
363
363
370
357
370
400
370
396
392
371
377
383
384
358
378
393
372
384
409
369
373
370
382
391
392
371
400
362
384
411
384
399
376
373
355
393
388
392
401
366
383
425
417
384
373
382
394
398
389
403
405
367
354
377
424
359
370
386
402
361
426
401
377
367
407
375
388
390
430
403
384
356
373
399
394
390
359
391
400
376
411
375
386
373
394
380
355
352
377
384
360
387
406
417
369
399
382
366
427
390
386
387
398
388
407
389
395
393
368
371
378
403
391
363
410
363
382
327
395
402
384
372
396
385
363
355
406
407
409
411
359
417
420
375
360
405
361
389
374
369
357
402
419
354
397
341
398
391
424
397
411
423
381
398
407
388
423
380
397
391
421
406
383
402
402
402
369
392
383
347
362
401
379
369
414
389
388
410
375
400
387
366
369
370
386
401
382
373
370
387
347
379
397
376
414
403
387
350
391
404
386
394
397
391
367
350
381
381
394
407
390
395
399
363
376
378
382
366
361
383
368
376
362
371
385
405
391
378
366
380
403
410
399
372
372
417
391
375
367
375
383
337
409
377
375
402
380
353
374
395
383
381
362
412
413
392
371
366
378
423
403
394
373
382
357
376
358
377
366
366
411
392
396
409
404
416
421
367
395
399
426
397
347
376
375
380
368
374
403
386
365
374
371
390
379
369
384
376
343
407
375
365
359
391
371
393
388
398
367
392
375
392
402
371
368
392
387
357
388
383
379
386
416
384
387
392
373
383
397
383
361
380
393
388
404
402
356
370
379
398
378
358
417
406
386
389
367
362
408
372
401
391
350
402
388
424
412
347
381
390
367
414
402
380
373
385
391
381
397
391
425
361
396
389
380
391
379
388
384
429
364
399
402
370
378
393
387
394
367
399
394
415
377
384
375
379
356
367
400
397
379
411
416
360
393
385
404
439
391
379
379
374
370
378
402
388
376
407
362
387
405
396
413
388
382
376
378
366
403
397
411
397
384
404
384
402
422
443
394
429
346
405
399
404
360
414
391
407
384
371
386
374
402
422
385
406
408
407
388
400
407
406
404
426
377
421
409
397
417
362
389
411
351
368
384
401
393
418
403
412
385
367
364
387
400
386
383
363
407
350
392
391
392
388
393
355
376
394
390
383
399
374
366
367
357
406
410
358
421
402
400
380
405
399
376
374
400
389
336
384
361
407
397
370
391
374
420
404
393
391
344
387
407
394
401
409
387
405
373
399
360
371
401
382
393
386
393
413
385
413
370
348
376
399
391
366
362
364
374
374
381
381
353
388
382
395
402
387
416
413
401
434
376
407
376
401
382
408
372
421
416
372
386
387
393
388
366
385
391
367
401
400
365
386
381
369
412
371
391
362
421
360
399
415
353
402
369
370
401
415
385
388
375
405
363
372
393
387
391
398
400
371
397
382
390
419
415
422
404
409
395
406
403
403
397
382
413
403
419
392
386
415
375
398
376
390
397
383
412
381
423
387
402
405
333
408
418
396
375
386
405
379
398
352
348
398
384
405
389
395
363
424
394
365
409
405
388
404
382
366
386
369
358
376
380
371
350
419
394
418
388
371
398
388
390
381
399
388
385
399
395
414
397
362
382
410
398
399
396
388
409
372
383
360
387
364
371
379
389
409
387
353
396
398
387
371
406
385
404
406
374
386
388
415
427
407
404
391
401
373
403
408
394
392
407
410
397
352
386
404
406
420
419
437
391
399
378
373
369
389
386
385
421
397
385
387
399
358
379
403
404
396
363
405
375
404
380
378
371
363
416
375
370
395
418
404
401
397
377
384
403
375
359
399
355
383
364
404
361
395
374
408
400
400
397
410
401
390
406
390
407
383
404
389
383
421
406
393
404
396
372
394
378
407
405
393
387
398
385
382
387
376
363
377
398
355
369
396
365
365
397
389
388
370
402
384
360
382
372
387
407
346
409
396
410
404
391
397
381
394
407
402
394
392
396
373
386
402
391
400
424
407
377
394
436
419
429
384
393
400
409
402
400
351
421
371
403
423
401
409
375
367
393
390
412
383
377
370
422
372
376
359
386
392
380
379
353
403
414
414
406
376
404
377
406
396
333
390
377
410
375
340
372
364
416
383
385
413
391
407
348
363
405
389
407
428
376
376
361
411
363
413
403
401
368
391
359
408
359
404
389
404
364
368
386
395
385
390
438
379
399
371
388
398
418
403
409
377
404
381
387
347
363
423
396
385
374
404
375
413
400
412
389
402
399
398
402
395
412
406
373
351
412
391
399
367
401
404
377
380
387
401
373
406
370
419
404
380
416
413
388
395
387
394
399
384
377
413
401
385
350
408
397
391
393
405
355
408
389
387
421
389
402
366
406
370
390
391
379
434
406
395
379
388
388
398
430
369
402
399
369
369
401
371
366
363
391
410
369
389
387
352
407
384
390
402
410
393
383
415
402
387
401
378
401
466
394
396
415
410
377
391
385
373
412
386
372
353
347
390
399
387
412
383
386
351
361
398
398
402
396
390
398
371
413
423
422
387
379
401
378
403
399
373
395
386
401
416
387
379
413
405
390
376
374
385
375
383
410
391
386
404
397
373
405
398
410
384
401
397
354
385
401
417
412
397
389
402
371
371
394
368
400
416
407
380
388
399
386
387
398
380
401
420
412
380
402
395
424
419
392
421
384
385
407
389
365
416
406
421
397
408
376
368
383
329
401
422
364
425
403
396
404
387
349
425
332
424
379
391
424
379
400
392
386
373
352
374
394
408
372
400
390
419
408
411
411
417
405
385
387
401
389
377
400
393
386
408
419
391
378
374
398
417
368
396
386
429
411
403
368
391
384
425
368
392
386
403
377
393
399
398
403
405
365
390
380
376
414
416
403
395
408
383
386
412
409
391
407
381
374
378
420
399
387
403
393
408
374
390
418
386
362
361
391
396
392
373
392
406
397
384
425
390
408
382
419
407
392
400
412
389
402
378
383
406
351
352
357
387
402
372
393
402
415
409
417
394
414
397
401
395
369
379
359
414
376
386
387
363
329
425
374
376
381
433
363
369
382
374
396
372
407
386
394
388
381
399
357
400
410
400
380
413
395
412
389
345
406
393
389
382
380
378
386
401
418
422
354
372
392
391
407
396
406
426
423
414
400
371
404
397
387
376
392
414
418
395
381
397
423
393
417
400
398
412
404
417
404
420
376
399
407
373
422
401
431
420
422
414
407
401
394
433
409
401
401
410
400
391
397
405
374
401
392
416
415
364
395
383
389
402
401
397
375
387
423
378
419
391
391
368
382
369
424
421
372
378
383
393
381
398
405
399
419
367
406
416
418
374
356
438
427
369
364
393
395
387
401
426
410
384
415
359
362
380
375
414
415
401
402
374
416
401
412
349
447
387
406
426
403
409
416
431
411
398
370
408
389
386
384
421
398
377
444
411
431
413
400
414
395
397
412
400
364
386
400
399
409
437
373
388
370
385
401
401
401
401
389
383
413
369
395
355
409
412
391
388
389
366
402
406
397
413
359
394
407
390
400
381
431
396
385
378
431
396
390
392
424
405
418
364
424
381
407
394
382
423
389
415
398
401
410
401
419
396
404
388
356
401
394
382
389
417
396
407
399
419
404
394
417
382
389
410
414
378
413
424
406
385
419
418
412
350
402
395
397
366
375
402
393
416
417
401
392
417
416
388
392
402
399
395
396
419
417
383
401
393
405
410
376
368
395
427
409
390
383
426
417
421
413
426
366
392
368
409
390
413
408
405
350
423
413
387
392
371
426
376
374
398
388
394
397
401
403
422
398
403
384
423
413
397
424
394
402
397
424
415
436
402
381
407
414
383
394
425
436
381
401
402
364
397
396
389
390
378
392
368
385
387
390
414
413
363
400
404
412
419
425
377
414
394
406
394
395
382
417
404
433
402
401
396
409
414
380
418
388
408
378
435
425
389
414
402
404
381
420
397
386
370
399
386
395
382
440
396
383
389
370
411
370
398
394
396
395
378
405
376
413
420
398
389
380
409
385
420
392
398
367
390
404
395
418
396
396
410
396
423
410
402
402
374
350
406
394
428
375
383
412
395
391
371
381
398
420
386
341
400
386
433
398
365
384
378
397
385
436
399
367
398
404
406
411
362
365
396
370
398
377
397
425
399
435
380
376
394
407
414
395
377
405
399
370
369
394
407
379
398
379
408
433
392
397
395
390
428
399
374
395
387
376
368
379
411
412
352
382
340
408
395
413
390
406
375
404
400
386
397
405
392
398
423
430
436
398
378
374
395
405
385
412
372
384
393
373
410
397
400
418
400
416
427
410
403
395
394
396
392
419
387
383
415
418
412
373
410
402
395
418
411
390
421
408
407
396
388
395
398
400
380
414
363
401
397
392
422
414
394
433
440
403
414
411
399
395
352
409
382
349
418
379
426
419
439
386
384
418
370
358
415
397
395
389
396
384
396
375
413
406
416
400
383
406
418
434
404
382
425
387
422
370
432
388
417
369
398
394
418
401
418
396
379
387
413
412
396
400
365
427
388
402
407
360
382
417
376
403
446
396
355
383
391
405
407
378
423
404
412
414
415
339
417
413
391
400
369
405
412
399
384
378
356
372
381
390
417
389
414
382
410
415
403
395
372
400
374
385
381
392
388
403
400
382
437
383
404
385
357
389
404
388
399
392
377
374
406
420
379
392
395
374
399
379
387
389
388
381
407
423
392
393
402
355
394
405
387
351
434
415
403
401
395
384
385
406
388
386
384
406
393
362
392
407
435
360
380
432
395
378
409
368
396
400
398
397
396
409
389
411
394
406
385
391
399
423
395
410
384
411
392
419
361
387
396
371
376
432
386
368
415
407
393
404
395
415
383
402
381
421
396
403
389
375
419
387
383
387
374
399
391
411
364
400
383
411
404
416
395
370
357
404
405
352
429
422
390
397
390
405
393
363
400
403
367
397
445
390
401
384
379
402
390
401
376
407
391
394
381
396
402
408
416
404
393
430
391
421
398
405
390
382
430
395
397
383
433
407
392
390
379
443
420
383
385
386
381
410
419
395
390
408
397
371
381
427
400
416
390
375
404
389
383
375
389
392
409
409
393
382
417
384
407
395
392
393
422
434
400
411
402
411
388
384
400
409
371
400
364
387
394
389
407
393
387
375
408
426
412
404
404
421
385
423
386
411
429
403
400
408
386
409
401
422
403
417
402
401
420
407
391
384
386
383
416
408
419
377
390
393
384
421
369
387
379
432
419
384
382
445
408
413
399
400
400
388
394
419
405
414
421
379
420
429
383
399
408
393
388
421
394
419
392
404
395
391
380
360
408
402
410
383
401
388
424
403
398
388
387
417
388
376
357
389
417
386
405
385
394
404
393
369
416
377
386
410
386
429
417
407
379
431
423
425
403
392
405
422
419
395
419
395
417
417
429
413
405
390
419
417
409
399
397
376
435
415
368
385
420
389
438
427
401
378
376
413
389
394
414
434
386
421
393
419
401
384
368
439
405
403
433
391
418
415
392
402
355
395
415
379
423
395
410
392
380
406
398
406
404
403
392
399
422
381
414
411
380
402
419
405
400
395
394
403
437
402
411
439
401
428
361
426
396
385
428
416
419
433
438
408
409
396
364
430
350
437
402
414
404
402
393
426
405
415
416
419
412
398
391
396
382
413
388
393
413
402
403
426
394
396
410
400
404
403
375
424
386
402
425
415
390
432
386
427
410
405
414
429
401
445
428
424
382
414
431
419
380
423
409
407
400
382
403
411
423
395
383
413
345
410
396
386
398
420
396
378
423
385
399
395
367
418
413
418
408
409
385
393
382
377
381
405
399
396
413
432
398
383
409
406
423
402
418
417
397
394
393
439
399
420
370
419
398
374
417
413
417
366
426
398
411
408
388
387
419
407
383
408
386
383
428
376
417
408
417
380
409
426
411
422
373
404
384
381
375
448
402
380
406
353
425
383
421
409
398
430
428
407
423
406
412
425
391
386
410
406
386
395
402
405
395
401
405
409
405
417
430
388
399
382
433
377
398
430
430
405
403
425
395
398
372
406
392
440
385
396
395
427
344
404
448
436
391
422
402
405
404
408
387
398
402
368
426
408
413
407
404
397
426
423
373
428
400
348
394
404
383
435
378
392
385
395
406
374
388
399
398
398
412
450
393
395
385
376
412
390
379
388
363
389
391
393
395
408
411
434
399
419
425
440
396
382
406
408
418
430
397
422
408
392
392
382
403
420
400
396
440
380
397
404
387
421
424
409
390
404
413
396
392
392
407
419
408
404
362
384
407
401
426
428
411
375
389
412
443
389
418
395
405
403
401
385
407
419
410
412
390
439
375
411
389
394
384
416
392
425
380
446
371
417
445
421
396
423
389
400
360
397
398
378
433
373
404
409
406
387
425
370
373
403
396
412
421
403
412
424
355
392
428
395
389
422
419
371
412
385
418
385
408
403
406
418
408
374
416
392
359
401
389
434
394
407
413
409
414
397
422
406
422
443
432
401
398
422
361
398
385
415
409
410
390
416
413
399
409
444
436
395
411
390
418
415
431
416
382
383
403
413
441
433
406
394
435
375
375
425
420
421
375
361
417
370
367
400
395
408
394
443
437
386
421
397
331
396
375
380
422
455
399
383
403
415
428
416
392
402
406
430
397
415
447
434
384
368
406
391
395
435
394
414
411
402
403
387
416
403
394
424
382
400
397
410
398
417
406
378
399
411
400
401
399
359
402
402
400
415
389
411
410
421
368
411
408
439
358
414
412
419
387
411
378
408
431
398
399
407
418
424
401
391
377
404
393
416
420
389
392
401
361
405
430
395
403
404
423
394
379
397
411
415
390
381
377
413
403
384
378
418
420
428
427
403
403
416
400
397
420
363
387
403
427
429
385
423
387
421
394
423
386
397
423
402
398
399
389
414
406
415
414
390
415
380
402
386
412
369
421
412
372
396
424
400
398
384
425
419
410
411
400
394
394
402
403
407
418
396
410
437
383
429
395
415
382
406
408
429
412
391
443
414
366
396
394
384
389
390
433
424
434
401
400
373
415
396
409
389
424
393
409
426
366
408
379
404
407
383
411
401
375
432
429
401
421
412
365
356
418
382
387
404
429
387
403
394
406
426
390
388
401
387
370
398
388
449
382
410
376
405
427
384
404
387
418
411
383
380
404
421
418
370
388
402
367
437
412
423
419
394
390
404
425
396
449
441
402
421
428
416
391
419
407
442
410
400
391
366
381
387
406
416
377
396
381
426
394
409
381
365
405
400
412
423
432
399
401
433
408
405
422
395
422
402
410
414
394
406
411
358
401
409
394
391
402
401
380
400
413
396
411
407
385
394
401
408
411
360
414
378
388
411
416
454
411
406
371
389
402
377
418
402
397
424
394
374
420
382
398
391
407
382
404
420
397
400
409
390
410
407
451
374
399
383
399
410
414
404
400
416
410
417
436
417
377
409
395
375
419
394
421
410
402
424
382
404
430
403
387
386
383
384
382
410
385
396
399
428
383
420
422
410
417
372
384
390
407
376
424
375
430
374
415
402
387
404
415
390
371
413
383
433
401
410
376
411
438
401
410
396
412
406
376
415
407
394
414
399
406
393
445
424
413
404
421
408
433
390
387
425
440
409
394
440
390
385
418
364
423
404
403
423
427
446
425
387
389
408
364
404
437
408
425
430
413
410
406
403
383
421
411
385
414
410
439
415
416
395
411
371
414
425
405
424
405
419
411
436
418
388
397
427
414
405
428
400
399
429
442
406
434
437
385
390
394
381
419
429
413
396
397
435
401
408
440
406
409
406
365
401
433
408
398
408
413
437
438
402
434
445
437
387
421
440
425
369
397
403
426
387
428
420
404
407
407
431
430
395
413
363
409
395
418
417
400
428
394
417
385
432
419
444
408
379
412
420
428
413
407
356
426
405
403
364
439
391
424
384
435
425
410
407
412
406
400
416
414
407
451
393
423
435
424
447
383
399
415
408
418
401
431
412
385
409
412
409
413
393
444
449
419
424
426
405
422
401
416
433
380
416
411
425
416
396
406
427
388
379
428
434
383
382
412
413
370
437
420
427
436
406
410
407
423
429
448
424
427
412
409
403
432
442
413
394
457
411
435
432
439
405
412
431
439
406
420
403
434
408
437
392
380
414
396
414
407
408
401
414
416
434
402
430
447
419
399
417
436
422
440
434
422
380
396
411
374
424
398
409
392
410
432
375
383
417
392
415
424
444
401
418
430
387
412
401
383
436
422
401
417
439
374
384
414
387
398
422
381
392
396
380
412
425
385
420
441
392
389
411
401
420
421
395
410
411
431
416
407
418
427
419
415
394
379
424
427
408
411
413
402
454
450
365
400
417
389
347
386
384
431
398
409
402
416
405
419
400
397
405
417
389
393
438
380
440
439
420
435
361
418
397
405
414
409
377
360
401
424
409
412
428
408
395
408
421
393
435
399
405
459
416
405
431
387
410
396
424
435
420
390
417
404
438
383
432
414
407
408
404
418
428
417
411
421
384
414
416
406
437
436
395
426
416
409
402
427
373
421
441
417
422
416
423
409
419
427
408
441
441
380
403
410
383
407
388
411
408
429
419
415
426
396
430
421
410
399
399
413
381
372
427
423
393
421
400
425
402
423
423
416
400
415
462
425
406
442
395
438
431
398
439
377
437
360
438
399
399
394
416
395
409
405
444
412
399
408
425
408
416
398
394
424
404
416
413
433
416
423
432
401
401
407
359
434
415
409
433
425
412
393
413
423
437
411
412
413
420
385
385
414
434
410
412
419
405
376
399
374
402
454
414
383
437
434
412
404
433
396
436
429
421
377
395
406
427
411
431
428
441
386
414
438
395
407
407
430
430
404
398
442
407
419
402
415
414
394
409
453
436
419
453
436
411
408
419
452
393
425
428
412
414
403
412
408
407
409
414
413
401
402
416
405
435
394
413
423
410
422
383
412
422
433
400
398
382
388
383
410
432
432
414
422
425
395
421
390
414
394
408
413
452
417
424
424
411
397
413
399
418
400
394
423
426
439
422
402
408
389
382
431
401
394
410
424
382
398
371
435
403
407
412
405
419
399
410
373
408
418
409
385
401
382
413
406
437
396
417
405
425
394
445
442
380
406
420
398
406
428
375
405
371
392
389
435
435
404
433
398
399
417
404
433
420
389
422
435
408
384
409
385
380
425
394
410
406
430
394
432
370
410
414
443
432
401
404
395
420
423
393
404
398
418
433
384
416
418
361
420
398
415
409
428
416
420
400
402
410
422
408
391
452
394
428
370
405
392
392
401
405
420
392
401
417
421
447
418
434
423
383
400
417
361
420
407
426
399
409
437
434
433
418
427
410
367
432
411
428
420
429
410
427
392
439
403
434
391
412
419
461
461
411
382
433
426
402
399
402
415
410
429
440
412
409
400
424
391
415
439
381
433
430
402
401
446
391
426
392
395
387
409
407
409
404
418
409
428
411
408
406
428
435
424
399
398
405
418
422
418
377
377
402
392
398
413
420
406
442
422
390
426
391
421
386
406
393
412
390
407
394
400
429
417
422
415
410
415
421
433
382
418
407
425
400
384
412
448
420
415
417
406
405
433
450
421
448
429
435
460
397
400
386
412
394
429
387
390
367
422
387
418
434
420
429
399
416
408
361
417
448
373
420
384
430
410
364
399
393
391
423
402
384
422
394
424
421
428
401
434
406
405
402
423
415
399
386
397
417
410
409
394
389
383
401
410
394
433
426
408
365
410
367
407
436
419
402
417
418
409
416
394
407
429
428
379
417
425
412
433
411
406
385
387
390
439
391
405
405
404
378
403
378
431
412
422
413
426
398
390
402
407
381
406
410
415
431
383
423
396
428
410
418
435
415
441
439
367
412
398
399
427
405
388
405
380
381
411
398
417
435
386
450
409
412
412
378
409
410
407
435
400
381
423
431
420
432
427
435
429
428
412
424
417
377
421
418
410
409
337
377
418
453
423
423
396
434
408
382
452
398
430
398
415
428
425
408
439
419
429
426
412
459
432
444
407
409
430
415
430
439
423
435
411
450
429
418
400
423
425
395
437
411
403
430
398
436
400
433
412
453
404
421
420
444
387
438
419
397
415
423
431
451
448
424
442
405
386
419
393
398
419
422
404
377
399
441
422
412
411
404
418
407
436
439
427
408
439
422
408
399
417
405
420
400
380
416
405
424
461
422
437
411
403
387
400
391
384
467
445
437
405
427
454
417
431
429
432
379
415
424
440
392
413
397
420
430
434
434
436
443
422
440
444
441
438
421
413
430
418
441
425
410
430
431
379
422
435
384
397
436
411
430
405
402
409
442
379
403
428
438
429
419
448
414
428
412
457
406
385
397
411
425
438
432
431
448
450
407
389
394
391
434
437
431
410
431
425
444
431
419
428
421
419
366
456
406
406
388
381
426
391
404
434
437
389
420
381
414
395
412
414
449
410
395
413
412
401
415
417
404
415
424
439
431
425
420
431
413
411
400
416
448
386
410
397
435
465
397
422
414
412
430
460
408
434
440
409
404
418
388
391
385
416
450
411
419
386
421
403
438
403
433
449
415
407
403
417
420
423
420
417
414
414
435
394
414
431
416
410
432
430
438
396
423
407
414
429
396
445
419
419
441
428
440
422
414
411
398
413
441
410
414
392
422
412
412
433
425
420
406
421
440
417
420
445
400
396
453
432
447
408
424
407
453
414
391
410
410
404
432
411
421
418
419
440
408
402
393
401
397
433
411
422
425
429
416
382
373
410
444
388
399
427
431
443
427
421
398
415
418
388
417
423
382
432
446
397
397
409
439
419
422
369
419
412
430
401
371
410
438
415
378
449
417
400
430
411
407
410
365
421
428
408
416
450
448
413
415
428
402
399
396
435
446
422
391
430
416
449
407
427
439
449
427
418
414
409
424
432
435
415
390
400
449
415
454
408
428
416
380
417
414
403
383
441
428
407
429
406
415
405
423
419
415
408
403
373
458
412
406
412
409
442
425
403
401
420
378
433
428
427
419
436
414
447
414
447
458
418
426
391
425
427
451
403
459
413
426
435
406
396
398
423
422
415
406
428
407
434
432
400
404
444
433
383
415
412
443
420
419
399
458
404
378
390
438
412
417
417
385
412
366
445
448
397
415
394
420
417
414
449
409
431
394
412
434
423
428
430
442
412
431
438
433
389
436
396
409
420
435
388
386
399
410
434
437
416
419
471
435
447
438
416
457
403
441
412
417
404
404
400
406
420
425
397
431
381
424
433
408
404
423
405
411
422
426
439
394
482
381
402
406
406
443
401
446
399
434
387
409
427
439
402
395
384
432
408
430
424
454
405
382
427
423
425
402
446
405
414
424
430
446
412
440
445
363
409
421
445
436
438
403
406
420
421
435
413
423
412
396
398
453
399
429
446
420
399
447
389
414
411
437
412
424
427
419
379
452
417
372
406
405
396
416
397
421
399
429
422
425
426
424
433
402
417
385
411
403
418
380
386
409
416
373
398
411
429
410
425
412
441
433
422
416
406
450
423
426
407
413
427
432
393
455
421
408
430
424
426
463
438
418
414
430
407
431
404
417
390
385
450
414
423
398
394
428
430
430
435
431
370
406
421
407
389
409
406
423
412
392
427
416
440
427
404
395
413
430
454
376
412
404
417
392
434
405
435
407
403
461
410
392
428
445
433
427
424
422
394
437
418
409
442
414
429
380
429
433
421
429
401
438
407
391
405
409
447
408
392
437
409
451
416
410
419
406
391
427
450
414
417
387
400
437
441
433
381
410
352
409
442
409
408
416
447
427
415
417
408
451
423
427
396
436
414
412
405
454
400
426
458
430
413
422
420
447
415
432
410
387
429
403
418
405
426
443
405
400
426
446
423
443
403
420
409
426
424
430
397
422
435
438
423
420
403
422
388
437
415
421
403
405
429
404
413
428
397
410
427
412
428
440
448
422
449
389
408
419
394
405
367
430
425
466
412
433
417
372
408
430
438
414
432
438
401
420
403
419
407
431
420
422
435
425
403
426
401
388
416
440
394
424
409
397
436
420
429
387
434
367
388
427
416
426
447
394
429
454
413
415
423
427
364
407
408
402
376
433
364
406
455
426
427
343
391
397
410
432
454
414
419
389
416
397
453
426
459
367
398
388
404
438
458
396
376
422
401
409
405
406
413
438
436
433
395
435
399
431
424
395
456
441
415
383
426
436
426
430
422
429
405
401
423
474
394
406
416
421
435
431
406
440
408
408
421
449
391
466
420
468
415
417
447
396
425
423
419
430
437
414
394
450
436
437
421
391
416
425
406
437
411
422
435
423
402
425
389
434
436
421
421
405
388
419
431
460
427
423
430
412
436
406
402
442
422
461
445
390
406
404
439
414
401
427
393
433
403
427
419
431
426
393
423
440
443
405
399
399
423
424
436
452
441
453
425
401
445
417
427
431
402
408
387
436
448
427
440
404
420
444
432
421
393
421
414
411
432
390
444
405
410
451
423
419
413
438
411
408
456
437
459
448
405
426
438
443
399
413
433
458
406
410
407
430
400
432
408
422
419
419
418
409
423
414
413
438
428
403
410
418
409
411
406
410
424
422
428
449
422
440
419
407
436
394
427
440
408
393
425
435
426
402
452
424
412
426
445
455
435
420
437
453
394
445
440
427
442
413
429
440
385
405
413
476
438
444
443
427
431
386
430
420
437
441
393
427
422
453
414
449
435
412
404
415
432
402
480
420
398
411
427
423
460
430
429
387
437
406
393
435
396
433
418
462
412
417
427
405
372
414
409
427
390
439
403
433
437
446
418
436
413
441
418
423
412
441
455
488
441
429
411
407
441
411
409
413
448
396
400
419
422
412
431
413
417
398
446
419
423
404
395
440
444
408
435
420
448
432
419
440
428
426
420
422
420
408
454
399
424
464
436
429
433
401
436
401
415
444
410
428
434
423
407
408
409
408
390
410
435
444
390
430
413
401
409
412
436
400
420
403
432
431
420
417
382
430
428
401
444
455
415
411
429
418
438
464
439
448
442
405
432
445
428
471
413
441
392
420
439
406
409
425
440
378
420
443
399
371
446
406
428
430
440
422
419
450
417
439
410
445
427
428
445
429
387
444
389
403
420
386
447
431
449
453
418
418
421
397
405
432
438
449
455
423
448
421
424
428
413
460
450
410
455
435
433
389
444
458
438
407
434
434
424
385
412
431
408
423
447
429
426
407
439
445
389
392
413
416
423
430
425
397
447
406
448
406
397
440
416
448
437
423
455
443
396
441
401
414
402
399
410
413
438
416
415
434
405
452
429
418
438
425
444
410
438
404
442
420
425
458
431
431
453
450
396
443
411
449
422
434
413
437
421
433
437
443
460
422
408
443
452
388
425
450
406
417
422
459
416
425
397
426
413
422
436
438
414
440
424
453
416
395
436
437
409
414
384
416
466
433
396
404
416
424
423
442
410
426
417
402
430
397
398
436
416
410
417
444
407
434
410
416
393
439
421
409
433
437
459
435
420
445
419
434
410
389
375
429
403
434
426
424
410
448
405
414
445
437
387
448
413
444
426
437
444
452
427
458
454
438
438
421
418
411
426
485
442
406
413
440
420
390
450
405
407
462
444
401
395
430
406
427
415
431
425
421
398
425
448
425
412
442
450
439
416
418
437
403
427
430
420
433
445
438
429
413
445
450
431
416
447
406
439
422
420
404
420
425
421
374
410
389
450
428
409
418
439
406
442
406
466
456
433
431
437
418
403
430
437
413
388
449
433
470
388
419
430
416
405
395
399
446
436
406
395
412
438
446
445
404
451
425
410
386
423
375
441
453
439
431
403
475
406
415
447
436
445
438
421
427
418
458
437
449
427
383
445
422
358
464
403
442
394
426
436
435
426
381
430
416
427
437
429
442
411
413
423
428
447
433
464
432
412
396
427
400
432
427
390
408
389
428
431
431
432
393
421
396
449
454
423
420
419
443
439
413
399
431
419
444
422
424
456
427
434
458
417
392
470
439
399
392
450
436
451
438
439
433
419
442
415
392
440
433
419
430
436
438
427
408
443
434
437
429
410
417
420
439
425
421
439
413
434
443
431
430
422
438
445
434
406
423
407
420
381
404
440
463
423
394
438
400
440
387
429
415
427
446
429
438
432
424
403
427
426
420
423
412
419
410
426
455
408
410
447
369
428
439
422
413
393
436
417
420
416
423
408
433
413
419
452
407
420
418
433
431
479
421
402
389
433
422
422
440
401
437
399
422
436
422
427
429
424
454
449
448
394
422
414
419
404
429
435
412
433
420
438
424
410
429
420
452
443
453
440
433
444
397
432
419
422
428
423
439
437
413
404
396
408
434
445
424
438
432
390
408
445
407
457
413
410
386
452
426
435
405
441
413
429
428
400
426
436
440
437
436
462
414
422
448
401
420
420
424
400
387
398
407
420
425
437
435
414
462
443
480
442
454
401
429
442
435
401
416
449
423
427
440
437
399
424
456
419
461
450
412
476
423
405
402
419
414
372
401
450
422
444
465
391
415
381
411
458
463
456
414
389
425
425
464
390
407
437
393
412
440
436
416
426
400
418
429
410
412
419
413
470
413
457
417
456
390
440
425
432
432
442
451
429
415
436
413
435
442
427
417
417
408
445
443
422
453
402
409
425
424
415
417
432
461
438
423
423
431
452
464
441
455
426
444
429
416
436
445
446
445
395
440
441
402
442
426
380
401
410
447
456
439
428
424
444
442
412
436
439
422
446
432
447
415
449
411
442
415
405
401
407
425
414
425
416
449
468
410
450
408
397
430
414
396
416
416
415
402
444
420
442
404
443
421
441
458
416
413
445
422
436
448
423
440
426
450
434
433
427
402
413
440
449
452
437
402
457
494
420
450
430
424
419
457
454
429
452
416
441
433
408
407
436
415
432
451
415
422
412
437
414
414
426
448
421
427
431
442
401
446
411
418
427
424
432
419
467
405
454
423
373
443
429
441
452
460
404
431
434
410
438
421
425
399
466
432
431
423
423
421
406
420
426
479
402
438
444
436
425
413
448
423
427
431
414
405
395
465
414
407
430
407
424
422
446
391
440
432
446
432
415
429
464
394
444
360
418
411
431
404
440
451
396
440
453
456
440
422
431
450
396
456
429
434
418
450
404
447
404
444
453
441
432
432
450
458
430
400
413
485
462
414
434
410
432
401
402
431
454
445
443
415
414
434
419
401
422
453
448
409
429
400
424
414
454
414
419
411
461
417
436
420
415
425
447
441
428
477
396
423
442
399
435
412
436
436
420
435
420
393
436
450
421
440
470
437
441
421
435
406
443
432
426
452
433
424
448
426
431
446
425
400
430
438
424
441
429
459
416
417
424
424
432
412
408
437
403
413
380
444
426
429
414
399
457
437
408
420
444
426
409
416
455
407
445
413
447
429
448
466
450
430
402
412
416
404
439
452
415
396
430
417
443
440
423
435
452
408
442
445
426
405
440
430
462
409
442
436
430
396
455
397
414
416
413
425
412
424
415
409
440
442
418
440
404
453
458
446
441
431
434
393
427
448
466
447
412
406
461
413
430
431
405
409
430
456
427
443
436
415
428
463
423
424
435
423
413
446
421
435
399
430
404
455
442
440
450
448
428
433
393
421
471
366
421
406
451
438
449
412
442
404
406
415
440
419
441
444
431
411
448
443
432
463
450
448
425
432
447
433
441
430
462
432
408
426
462
460
436
384
392
435
437
435
423
438
437
446
468
421
398
432
411
445
451
435
426
430
453
431
427
417
440
433
458
433
427
435
454
423
439
453
404
445
449
399
438
416
429
427
418
429
444
424
448
413
447
432
419
423
431
438
437
415
403
433
410
431
432
439
444
445
408
438
418
413
428
437
404
428
412
433
441
454
426
453
362
453
395
438
453
451
420
389
420
438
417
439
415
445
432
434
438
413
436
433
414
444
427
404
409
450
425
406
435
416
450
421
429
407
423
423
469
436
409
412
422
449
427
440
406
425
457
439
432
393
440
443
402
424
448
425
440
423
406
453
426
436
420
461
465
447
437
448
448
424
410
419
423
407
449
426
437
447
461
417
391
434
454
449
439
429
408
402
427
418
424
427
435
457
442
406
440
442
414
448
439
428
408
441
431
434
444
420
417
398
423
434
452
442
397
407
431
406
429
437
410
373
403
432
439
417
419
433
460
424
428
446
393
470
419
415
447
448
417
426
461
407
434
403
448
446
437
433
424
462
424
440
444
378
431
414
435
464
439
419
444
430
448
437
424
455
468
444
418
422
428
405
423
416
438
398
472
415
461
402
402
460
441
421
425
453
434
416
440
406
431
435
443
449
438
468
452
411
448
421
462
450
463
431
418
472
409
427
438
428
405
419
418
420
440
432
457
461
428
438
440
401
424
421
469
485
421
444
398
454
408
433
420
428
415
431
417
453
441
425
433
439
472
468
408
414
476
449
429
445
399
420
415
419
430
430
419
400
421
419
440
440
428
457
439
435
414
438
401
450
467
377
421
430
422
446
426
426
454
452
434
449
461
434
449
434
419
434
432
424
414
421
392
447
425
435
452
420
392
472
437
449
428
411
417
449
419
396
441
403
428
445
450
443
406
446
467
460
412
420
482
432
398
431
435
404
450
399
401
446
426
449
405
473
396
478
421
429
430
438
456
440
429
427
435
448
417
449
414
376
419
436
440
392
411
434
437
432
423
423
420
465
426
428
437
419
441
406
406
450
421
429
410
442
442
459
438
445
423
432
450
441
436
419
462
426
408
462
439
419
441
462
444
437
420
448
431
445
431
453
391
460
422
451
459
470
434
449
426
409
448
437
433
461
464
443
438
453
457
417
441
428
453
435
426
449
411
428
425
450
440
483
470
421
441
424
432
433
414
443
439
444
408
436
404
427
454
442
441
435
443
465
437
442
426
474
432
433
410
451
416
427
434
447
442
447
439
410
430
417
436
418
442
440
428
477
445
416
417
406
428
401
442
438
412
431
421
436
462
423
415
422
413
448
419
472
412
438
445
424
452
456
415
439
422
447
463
427
426
457
440
445
447
446
472
490
464
455
423
431
456
420
440
443
408
433
421
432
417
440
469
463
451
445
457
435
491
439
454
449
428
467
428
416
409
440
398
417
444
458
434
430
419
452
456
446
441
439
447
419
433
438
455
446
414
438
414
457
436
460
452
470
424
439
446
474
430
440
473
420
434
409
417
446
441
427
457
434
414
456
407
429
432
447
406
468
468
453
433
406
488
404
424
408
458
472
445
416
415
402
454
414
455
445
404
414
448
419
412
401
421
420
459
415
420
393
420
423
422
462
429
426
417
452
421
425
441
427
414
443
409
465
445
416
450
458
445
458
434
417
428
400
433
439
458
442
467
417
417
434
446
438
437
402
421
466
421
428
455
452
473
421
406
409
413
405
463
440
425
416
413
456
477
458
414
416
433
455
449
423
433
419
416
428
423
431
452
450
441
438
411
426
426
457
430
465
442
445
408
449
422
404
429
436
476
417
452
414
460
441
432
424
439
422
421
438
465
424
370
441
425
456
387
393
428
424
444
456
428
423
428
411
446
446
438
395
465
407
424
420
367
436
410
431
409
406
397
467
383
407
454
457
443
439
448
412
396
410
402
428
450
370
451
448
448
430
461
404
422
417
443
434
440
459
426
443
459
413
384
459
451
408
440
440
466
412
472
463
424
405
413
437
451
436
424
392
434
459
433
428
425
421
439
475
402
432
437
408
419
426
438
430
452
465
448
444
418
422
383
464
463
426
404
444
416
421
437
398
410
411
436
442
428
431
381
473
457
433
420
444
413
425
427
392
432
428
415
469
430
436
404
418
432
412
423
447
439
419
412
392
423
441
449
461
429
432
451
437
422
484
468
452
438
412
418
436
424
417
446
444
461
458
411
444
421
438
448
444
448
405
418
424
448
448
447
457
442
435
422
427
396
408
415
441
410
474
427
452
389
446
473
456
422
428
455
438
432
413
447
429
421
441
413
441
425
401
431
436
435
431
465
417
443
469
462
454
429
421
443
414
431
448
450
402
433
439
476
434
431
396
433
418
410
448
420
440
462
430
462
445
427
427
461
428
432
410
445
467
433
430
455
424
427
435
460
374
438
436
433
457
428
442
431
451
432
438
447
445
457
429
440
461
419
451
433
465
404
423
453
457
430
432
453
455
383
418
423
445
427
453
416
424
466
464
439
412
432
438
367
444
460
433
454
420
436
469
444
438
450
455
443
439
423
418
377
438
431
446
440
464
432
455
445
427
446
425
426
461
428
445
453
422
463
429
465
450
450
434
466
438
428
454
447
460
436
404
441
434
419
450
394
426
447
460
417
420
448
452
464
444
443
434
456
439
424
409
426
474
449
438
438
430
464
443
441
426
412
442
424
394
474
435
431
436
464
425
449
437
393
455
448
453
418
408
435
453
427
432
420
452
450
440
429
461
405
414
451
414
408
469
416
444
418
443
430
456
442
423
413
447
461
450
438
421
442
443
442
424
439
443
404
442
457
437
455
461
408
447
456
422
422
452
425
409
461
434
445
438
443
464
422
414
429
453
397
423
458
457
442
470
441
402
375
434
417
429
433
487
410
454
433
414
456
468
419
473
425
417
469
449
432
436
424
455
412
394
436
466
445
484
411
433
457
455
401
459
436
369
466
444
440
432
478
421
470
442
464
416
444
454
448
452
441
435
440
471
406
467
428
409
454
430
453
409
454
438
418
418
440
443
427
471
434
407
461
440
411
462
405
443
438
458
429
472
429
473
439
466
418
418
454
456
450
443
452
422
442
437
428
409
477
426
403
432
451
443
435
430
430
437
441
438
468
423
456
402
447
433
461
424
433
409
410
422
455
407
440
474
431
434
425
441
416
450
430
462
408
458
420
474
405
421
421
467
464
433
399
445
428
401
434
448
404
445
421
428
433
421
445
428
439
415
430
424
455
446
453
426
425
446
443
446
447
435
451
420
468
415
445
469
425
439
440
436
445
410
407
459
451
419
477
446
438
459
441
426
429
464
428
425
429
431
441
432
456
421
414
444
430
420
432
440
447
433
436
473
453
466
448
459
443
456
490
438
438
463
463
444
454
427
469
454
422
463
440
484
436
450
468
449
427
435
444
418
409
465
456
416
413
494
515
425
440
432
486
435
445
443
423
419
417
427
441
401
434
443
444
449
459
448
439
434
405
446
412
451
449
430
453
432
469
473
431
428
423
450
443
431
444
444
454
462
436
455
438
448
481
453
460
415
472
427
402
463
485
441
468
468
461
434
429
434
453
467
456
443
458
452
465
406
463
450
429
404
444
469
446
422
441
448
434
418
414
424
450
481
463
471
474
471
439
446
459
432
427
486
463
443
429
450
467
416
446
465
435
446
468
466
471
405
422
463
435
469
463
428
432
478
450
421
445
443
449
437
458
472
475
469
437
460
430
420
477
460
409
428
423
430
452
409
468
434
430
449
458
441
420
435
436
448
445
446
436
453
380
454
430
444
444
433
415
460
425
449
410
449
444
435
414
463
464
422
407
459
429
429
451
422
426
435
454
444
443
447
422
424
484
437
458
455
418
443
448
429
462
480
456
443
423
436
431
422
437
465
454
439
466
437
423
490
463
450
456
417
430
436
443
478
423
453
439
441
436
466
459
455
390
480
409
457
412
415
451
463
457
425
478
462
425
411
484
446
483
422
447
442
446
440
423
511
421
414
447
469
454
443
410
392
460
459
476
425
461
421
467
464
435
427
438
420
451
420
433
454
460
437
451
464
466
436
470
419
432
430
443
463
448
452
444
396
410
450
409
472
424
421
425
411
468
404
443
438
455
420
424
422
436
423
437
396
446
441
404
468
460
466
454
467
441
462
460
442
436
399
436
400
421
440
416
448
419
437
426
438
452
502
460
434
434
402
469
452
439
439
450
448
450
450
455
488
438
441
449
427
420
415
444
443
441
434
457
453
457
459
427
413
435
449
407
455
444
458
443
443
463
420
416
428
431
419
458
446
454
435
474
428
428
457
462
434
460
430
434
439
429
464
451
468
481
457
442
419
458
432
466
481
420
414
412
429
421
427
440
444
441
437
440
432
479
445
430
453
442
434
414
440
393
425
494
464
439
451
389
446
438
456
436
443
420
439
422
446
437
452
436
393
442
440
433
451
455
424
412
437
467
444
426
454
431
474
451
417
434
423
434
491
467
475
430
420
445
438
464
442
441
403
477
456
463
439
416
453
417
417
459
445
432
442
442
439
454
430
433
404
443
449
477
438
439
452
418
431
471
418
451
461
411
483
404
446
456
410
442
470
426
453
415
409
425
438
413
443
461
465
416
438
429
463
455
454
423
465
440
434
469
463
464
461
471
440
411
458
454
432
440
454
423
405
429
455
462
446
426
447
469
427
450
430
471
442
447
428
426
423
439
453
463
430
491
430
445
443
464
434
456
415
431
426
475
426
452
427
464
468
459
447
418
424
455
409
425
469
476
446
455
404
448
431
421
444
418
439
423
393
425
418
459
457
430
464
436
432
427
440
412
458
421
452
456
412
446
420
411
467
471
457
466
462
459
407
458
440
401
443
443
434
433
468
449
409
378
460
428
469
449
434
472
440
388
471
450
452
435
424
404
458
439
456
434
435
435
433
476
457
444
441
439
439
432
460
452
450
443
468
435
443
438
421
436
480
463
428
492
456
441
461
410
427
432
448
430
452
425
423
460
434
471
422
436
458
432
440
467
455
418
432
465
377
441
432
449
397
465
474
406
444
426
418
484
435
446
471
442
430
460
459
464
440
430
435
410
468
416
439
438
439
447
421
461
479
414
425
472
470
425
437
472
406
443
417
417
431
413
424
467
451
480
421
405
445
425
453
420
468
437
423
437
398
437
452
459
454
435
459
437
432
440
468
421
429
438
419
449
463
449
420
441
461
431
470
421
432
447
452
452
457
407
427
441
435
445
442
447
471
454
429
434
441
444
436
457
468
458
450
438
435
466
482
428
439
438
419
448
482
470
455
449
455
443
485
436
479
429
433
416
462
410
447
414
445
435
427
475
454
407
446
447
458
458
443
432
403
438
440
440
428
466
448
447
434
460
410
480
468
467
448
472
434
407
434
452
434
404
401
484
463
416
483
421
428
460
440
428
421
460
430
438
402
481
443
431
408
440
420
495
419
472
451
478
439
403
457
437
466
450
465
431
420
456
429
461
459
445
429
442
443
452
425
411
456
445
440
429
451
452
448
447
433
451
459
456
468
451
482
407
442
426
464
447
421
452
484
442
463
457
461
455
436
434
450
467
455
457
481
463
471
471
477
475
467
454
466
449
486
450
481
473
441
439
388
437
472
406
483
432
440
446
455
427
433
455
427
463
466
403
463
436
426
459
438
457
446
447
475
443
441
445
458
413
462
445
468
450
435
501
479
430
456
404
487
450
408
455
439
472
434
452
430
446
449
425
446
431
411
462
478
494
459
426
458
420
457
480
450
461
492
466
468
475
443
426
457
456
453
416
421
448
459
443
414
447
474
467
442
477
432
465
438
442
481
450
407
457
481
464
459
470
457
469
460
448
431
461
409
468
442
466
464
425
430
405
415
460
452
488
470
444
435
463
458
456
450
442
480
478
452
465
483
467
467
442
431
432
413
410
453
418
468
437
448
445
458
448
439
440
443
433
442
469
436
478
447
414
439
472
476
495
452
408
413
443
468
471
465
459
425
427
460
469
455
482
445
443
416
444
442
441
473
473
454
441
462
382
427
453
457
420
445
435
495
458
448
453
422
427
416
425
443
427
462
425
426
424
482
453
467
421
460
455
411
475
436
455
424
446
442
474
441
456
452
458
467
471
435
436
477
444
433
423
438
437
447
416
465
468
460
437
437
461
465
438
410
449
441
445
450
435
469
472
431
436
470
426
438
475
476
445
478
454
451
468
419
497
450
451
457
453
447
449
432
456
442
480
399
427
487
440
456
463
458
403
448
444
474
463
442
458
437
464
462
464
444
429
443
396
441
441
408
447
489
424
399
452
469
496
426
440
412
477
461
441
415
456
479
457
498
437
454
479
450
473
456
449
475
473
444
463
450
465
429
421
456
466
408
500
435
489
463
466
484
470
430
423
448
440
466
464
486
425
438
473
446
463
456
463
445
453
447
446
439
438
451
466
437
442
462
472
452
456
439
457
444
472
479
423
472
437
450
467
430
476
476
435
460
486
454
433
438
461
466
433
428
447
450
437
465
433
454
477
421
432
456
482
463
410
438
431
434
417
460
450
450
433
400
438
437
448
441
422
461
422
442
412
470
481
425
417
439
421
467
435
472
473
431
470
438
445
438
451
436
478
474
463
430
430
447
451
441
459
451
465
465
453
441
430
443
459
466
435
507
429
465
430
441
449
474
466
484
443
443
443
473
468
476
443
469
457
434
458
446
446
455
425
435
429
405
418
437
447
469
427
444
465
416
421
448
468
443
474
421
445
463
486
469
457
456
413
461
476
447
423
448
461
476
411
446
470
453
428
418
427
442
470
437
455
442
409
447
453
441
468
432
454
423
442
454
450
425
462
441
453
439
453
444
432
441
479
470
432
445
474
425
439
445
407
459
465
473
426
433
449
424
445
449
448
457
450
437
466
451
428
475
414
509
457
413
463
427
458
430
456
403
451
446
451
463
430
437
452
434
466
488
438
452
469
467
442
483
470
480
460
463
453
453
443
479
443
464
437
474
444
444
441
417
439
406
455
432
452
455
484
441
466
439
434
425
437
463
494
482
463
469
434
464
451
436
483
423
473
457
433
423
449
461
468
473
428
444
448
449
444
443
442
427
447
448
422
472
418
472
429
431
477
481
452
467
451
457
484
483
434
474
434
471
437
431
484
471
444
443
457
440
448
477
451
431
463
464
470
450
435
478
420
465
450
447
433
445
439
450
449
410
466
426
450
424
395
432
460
450
466
474
413
485
457
459
474
432
490
446
421
467
457
475
456
449
445
446
430
427
470
472
454
449
462
433
431
454
440
451
441
459
448
443
442
440
444
459
472
455
402
476
445
401
472
465
439
464
484
432
473
476
438
437
490
438
445
438
483
444
458
448
442
462
420
469
439
437
432
442
440
425
457
460
465
419
445
415
483
453
419
436
441
448
464
454
457
439
430
472
427
491
421
436
455
403
434
478
456
481
462
443
435
466
454
461
480
468
443
415
457
458
484
428
476
464
443
424
453
423
432
406
448
429
462
456
406
448
456
435
448
466
453
465
436
447
444
401
468
433
459
389
431
433
428
438
450
481
431
431
456
442
447
423
476
462
469
499
413
414
411
454
463
453
423
444
443
450
459
450
440
457
466
478
423
467
429
479
446
468
478
431
456
472
439
453
440
455
431
427
441
481
469
467
443
454
463
474
448
480
441
453
460
456
487
471
462
466
461
428
401
430
444
449
457
459
442
455
467
432
429
442
461
458
440
463
458
479
453
453
428
426
481
462
462
465
447
451
433
382
463
420
479
475
464
464
429
440
465
428
473
463
441
425
449
472
471
504
475
436
419
480
461
462
494
445
420
462
424
442
420
456
458
450
482
441
511
479
443
453
465
414
463
450
447
452
457
435
445
459
461
458
447
457
425
444
461
472
478
452
440
436
430
463
457
442
500
457
433
462
449
469
464
447
442
478
455
455
432
455
463
456
477
470
505
447
479
441
471
425
468
466
456
420
446
453
455
447
450
426
455
448
416
455
434
459
464
453
439
443
410
418
459
445
470
459
433
460
470
472
466
433
464
480
435
481
484
443
441
459
458
499
462
465
429
440
465
454
450
424
456
461
452
474
459
456
477
484
442
469
463
451
553
452
416
425
431
461
439
449
473
414
444
404
452
456
442
441
434
463
440
473
425
462
424
479
459
463
469
447
459
448
452
493
476
439
446
442
470
459
449
466
443
422
470
458
481
437
480
465
462
469
445
460
422
443
467
446
493
459
452
433
500
423
450
456
464
492
454
445
472
467
433
457
442
411
433
444
465
444
475
434
438
467
424
449
464
436
477
456
446
474
497
426
446
415
440
507
473
468
434
458
428
464
427
438
442
444
467
454
432
432
433
452
472
474
452
491
472
464
409
434
436
448
454
463
420
453
475
422
438
466
423
442
451
457
451
456
455
469
440
468
461
496
459
481
456
469
444
407
460
460
448
464
422
454
452
434
448
449
483
444
461
472
422
453
457
493
459
450
430
453
429
445
442
431
446
458
463
452
441
476
451
445
464
428
440
442
410
422
451
437
468
453
459
458
412
462
489
484
444
431
460
432
455
429
445
449
447
450
449
431
446
405
453
437
464
476
482
466
455
437
421
496
439
467
463
477
478
469
404
453
437
468
454
450
427
453
466
463
453
474
398
464
437
431
474
450
468
440
414
429
425
433
479
474
473
433
488
466
471
474
447
443
463
441
442
463
480
429
460
403
461
466
424
459
466
460
451
451
463
480
464
425
468
475
423
433
459
461
449
474
441
464
446
471
471
443
487
451
451
483
440
460
494
456
444
455
438
439
463
437
453
463
457
444
470
470
432
473
446
479
429
442
472
469
464
449
465
424
444
427
438
513
469
454
457
430
469
457
512
465
425
496
468
474
440
465
487
476
479
438
443
489
424
443
462
486
401
448
471
450
472
444
449
479
439
454
471
416
441
400
438
479
435
459
441
538
476
464
447
519
423
450
430
414
475
434
420
488
469
427
456
444
451
480
445
454
507
419
506
508
471
430
471
463
449
465
453
477
439
397
436
474
439
438
434
442
429
471
440
435
474
446
466
450
436
464
432
433
445
434
402
454
439
430
493
450
445
467
484
458
429
448
474
447
410
444
478
452
455
466
461
411
432
442
466
461
473
485
449
445
465
427
464
460
468
444
415
445
451
427
439
459
454
442
442
443
420
472
462
469
458
436
472
464
465
468
455
486
465
431
454
459
476
449
443
463
445
441
491
416
456
431
445
452
464
453
453
451
488
427
452
469
429
457
489
481
454
444
479
484
460
437
450
472
447
469
477
458
459
460
467
443
428
441
439
424
483
458
436
447
443
461
428
478
473
469
473
422
456
480
448
460
458
444
463
446
405
418
459
460
433
466
475
439
458
434
451
482
444
480
434
456
401
447
428
471
457
437
506
447
473
450
459
470
447
428
407
469
449
461
420
476
427
483
481
464
432
442
470
447
476
455
451
458
462
473
445
484
447
447
470
423
443
473
469
449
465
466
436
499
469
440
474
447
478
422
457
464
444
473
474
404
452
458
469
471
450
426
449
443
490
470
459
471
477
451
481
430
450
453
431
434
476
415
472
475
499
491
437
432
436
452
430
488
467
458
451
464
466
469
427
438
454
465
442
475
454
435
473
470
484
438
471
446
452
442
450
442
462
458
434
452
461
468
460
444
467
483
455
427
456
435
465
436
453
452
453
452
452
454
474
455
437
476
478
449
471
436
476
435
441
427
424
479
443
444
456
448
409
438
468
474
455
466
461
404
462
474
461
438
479
464
459
483
462
452
455
507
427
461
458
433
444
474
463
472
474
472
466
466
465
409
462
451
471
431
474
456
465
471
471
481
472
443
446
460
485
467
464
450
427
458
466
428
476
442
461
462
465
464
491
464
439
422
473
468
448
478
452
475
467
466
438
459
497
472
456
447
437
472
463
447
456
476
447
467
465
468
451
457
453
479
461
453
454
457
479
485
468
468
456
483
457
444
440
463
441
465
460
438
457
444
449
438
467
449
477
472
447
459
436
465
458
472
464
467
496
487
431
438
456
458
488
436
469
440
478
506
453
464
450
452
449
449
455
487
495
487
429
468
468
475
472
448
422
467
466
440
462
450
467
492
488
444
473
469
455
432
475
474
451
453
460
473
459
470
489
466
429
460
450
430
472
458
472
468
492
466
454
475
446
455
438
485
484
424
437
477
448
452
460
495
473
459
491
440
445
463
493
478
429
452
450
432
437
468
471
453
427
473
460
446
462
437
442
449
449
454
452
482
476
466
470
463
493
462
468
450
434
462
469
486
465
459
446
439
447
469
433
454
490
459
480
500
483
463
449
471
449
471
459
446
427
426
406
409
457
444
457
468
422
468
449
467
425
493
451
428
455
463
449
484
459
460
502
451
482
472
522
473
497
460
459
486
448
457
444
462
458
450
451
492
493
435
443
478
410
431
443
504
462
491
484
457
507
483
454
433
464
468
433
453
489
445
449
410
467
449
461
471
450
483
485
474
481
452
458
481
491
440
453
509
440
508
448
497
454
472
485
462
470
470
453
425
443
462
492
433
438
458
439
465
482
419
455
491
479
439
495
460
461
457
466
498
476
466
472
450
472
469
432
470
443
468
452
468
447
436
458
461
443
455
438
442
468
468
469
461
487
448
425
480
498
500
439
424
462
446
487
463
473
473
468
483
476
466
494
459
489
453
449
480
475
467
449
444
401
484
472
451
472
435
461
468
465
421
499
469
445
460
477
437
456
456
470
445
452
468
461
438
476
463
464
479
448
465
473
487
463
410
444
453
445
476
441
462
446
465
436
470
464
446
474
457
490
454
469
482
445
482
458
444
417
425
415
464
471
429
476
433
475
462
471
466
435
418
500
428
464
465
480
450
454
397
456
454
478
473
446
447
465
488
387
456
436
462
482
476
503
407
463
473
462
471
437
487
498
507
470
469
483
487
451
469
494
457
501
484
460
462
432
496
449
471
460
461
423
456
474
458
460
446
449
456
435
451
436
440
452
478
455
465
512
441
473
430
480
491
435
476
474
480
478
471
452
448
469
441
462
503
429
490
463
452
436
414
429
466
448
461
495
462
475
480
452
441
444
442
449
444
492
512
439
455
456
434
427
453
457
448
453
466
478
451
468
478
486
439
458
458
428
464
460
450
478
476
475
475
464
487
487
443
477
451
439
479
447
479
461
479
528
451
473
460
429
444
452
444
473
467
460
500
458
445
452
442
446
455
457
444
495
488
461
470
496
466
489
496
416
448
519
460
474
457
412
428
465
466
426
444
475
435
437
495
481
458
507
462
443
463
483
454
417
460
437
455
458
495
482
479
476
457
457
453
458
440
481
465
466
459
478
478
465
420
464
498
487
466
471
431
477
452
469
445
463
451
483
463
428
516
475
451
505
476
447
455
471
457
466
458
487
474
484
467
494
490
434
423
457
485
462
449
452
471
454
462
465
431
498
467
479
429
461
474
470
465
484
470
440
438
464
441
449
462
480
454
454
412
459
434
476
460
476
451
480
469
430
439
478
489
429
454
495
482
441
466
480
446
443
457
479
436
461
455
458
477
465
483
527
443
465
448
463
454
471
428
448
444
469
470
486
445
456
489
485
437
427
434
430
414
448
509
467
479
484
463
472
460
482
446
476
453
473
495
504
426
475
434
472
442
431
479
481
449
456
474
430
465
442
479
430
454
463
476
444
452
455
443
496
443
470
469
475
461
438
483
460
474
465
450
476
481
462
467
446
439
467
477
450
465
429
483
465
455
480
446
448
493
428
454
443
493
491
498
467
500
458
494
492
483
485
438
428
458
462
474
497
493
450
450
497
479
485
465
476
475
479
446
441
433
462
472
470
454
443
462
472
450
458
466
519
457
454
471
464
440
449
471
402
475
459
467
455
464
480
464
424
472
488
464
466
463
470
461
481
454
438
424
489
458
475
447
462
488
454
467
477
479
458
454
482
464
446
474
482
434
471
435
474
473
420
491
431
472
471
459
475
471
447
443
479
435
461
456
471
446
499
467
447
477
455
465
452
492
476
440
454
478
437
456
472
464
443
490
435
493
448
454
439
451
463
480
413
457
432
450
491
435
460
476
389
459
465
470
454
466
491
444
476
461
475
494
476
458
426
446
476
453
470
473
461
457
468
467
478
475
444
445
451
452
475
466
464
457
459
415
447
445
474
469
449
493
436
501
449
447
438
488
464
470
464
505
461
473
484
499
486
470
466
453
457
448
446
462
457
464
428
444
478
467
413
469
465
388
436
472
474
441
450
457
433
486
460
445
442
452
453
490
444
456
444
492
464
456
429
459
482
441
492
451
466
454
438
484
454
450
418
444
505
484
463
508
482
427
456
458
480
481
496
502
434
446
471
457
464
449
466
442
433
456
464
456
477
481
459
466
490
464
506
486
482
481
424
465
441
457
436
469
439
450
478
412
447
492
433
486
475
476
467
494
471
479
464
455
498
455
480
471
463
472
455
505
483
481
466
483
482
490
446
501
472
464
460
462
456
487
459
492
498
463
460
459
482
455
508
485
460
456
489
468
478
473
444
495
494
482
471
484
471
454
442
488
443
458
459
467
463
458
490
461
465
472
471
447
458
449
461
459
457
429
470
504
470
467
483
467
415
479
468
468
464
472
453
469
472
473
463
475
533
457
448
479
469
445
462
441
465
449
478
536
497
473
431
447
470
495
468
488
489
490
444
476
436
466
510
462
485
477
480
485
468
426
470
430
489
458
446
449
469
459
450
452
499
509
468
504
497
431
464
430
483
480
492
469
491
445
446
426
424
486
464
473
513
478
457
450
468
477
433
455
455
476
460
447
470
471
428
463
429
479
481
466
458
493
517
463
463
445
453
441
485
465
504
445
508
434
521
480
459
470
447
492
433
440
458
438
467
460
473
475
461
465
447
472
464
445
495
473
476
457
492
458
435
457
447
499
494
459
466
462
469
458
466
452
476
464
446
484
456
488
480
452
475
473
478
476
470
448
472
497
483
478
501
443
443
450
487
442
510
437
458
423
469
491
478
456
430
485
491
441
441
427
467
465
438
449
468
444
473
438
480
442
444
496
468
489
473
442
447
470
445
459
411
450
454
478
427
457
435
445
449
472
485
471
468
459
442
432
477
453
496
415
454
452
502
479
475
480
466
468
441
474
464
460
475
456
477
470
417
468
449
477
448
479
444
451
488
454
487
459
458
469
507
441
472
456
517
479
462
467
447
435
479
445
488
495
498
481
467
473
456
487
469
464
428
437
454
465
454
427
418
476
410
479
456
494
460
458
466
437
486
474
448
474
463
504
462
475
455
463
455
473
502
456
437
461
430
463
488
444
468
454
472
463
472
447
499
480
494
487
521
487
449
460
464
447
409
487
453
502
469
441
465
480
429
475
460
467
475
461
443
483
434
435
465
455
486
477
484
455
493
468
460
417
446
506
488
477
460
473
475
461
512
424
458
420
467
446
492
473
470
496
434
494
439
487
499
434
434
478
488
451
443
472
496
494
453
445
466
522
443
476
458
477
473
474
468
453
433
472
464
465
477
439
425
482
466
465
439
473
466
472
434
461
445
466
512
465
444
447
462
470
501
461
464
471
445
471
484
452
454
431
440
438
478
482
468
446
464
439
469
477
490
509
466
480
440
493
506
481
495
488
468
441
443
483
497
470
496
443
417
514
448
484
449
482
470
482
481
480
424
454
463
450
474
450
478
489
449
458
491
465
472
491
468
444
461
449
469
484
464
494
472
495
480
483
462
485
451
488
486
437
474
504
450
476
480
459
462
459
478
469
472
490
460
484
498
430
488
519
461
438
479
462
474
451
458
475
480
472
478
465
479
459
462
489
435
497
475
446
492
482
489
466
490
461
461
462
436
449
470
473
468
477
464
492
458
464
448
421
458
482
484
498
477
482
477
458
479
494
442
475
447
465
474
460
505
488
447
423
433
460
495
485
491
446
445
447
470
478
470
445
472
476
524
523
476
498
473
435
454
467
456
438
458
466
448
462
480
439
496
454
486
483
430
513
476
448
442
463
457
502
444
458
486
463
485
497
440
493
476
482
473
494
448
492
461
465
449
505
480
468
455
471
461
489
463
466
460
475
483
469
475
446
439
481
454
446
446
461
490
468
452
470
465
443
458
477
490
475
437
500
486
473
469
474
460
446
434
480
489
483
473
468
468
497
486
477
457
470
450
439
448
474
462
440
454
440
446
456
521
437
498
444
472
471
471
489
469
493
484
450
477
426
445
489
462
463
453
473
492
484
441
470
498
464
475
443
456
482
494
477
476
440
432
504
484
468
475
455
473
495
468
470
457
487
493
499
464
470
465
433
468
459
461
482
443
480
495
447
441
510
499
468
458
490
478
456
445
429
479
448
474
480
467
472
474
465
433
461
447
456
463
498
447
444
482
478
431
457
467
466
431
460
468
492
484
462
497
461
477
454
462
480
460
491
443
472
459
462
476
450
450
491
472
494
436
490
488
481
457
483
468
458
448
465
486
459
485
448
455
458
446
501
487
472
450
488
487
484
452
458
482
487
488
472
457
459
457
491
477
470
453
495
435
459
493
473
485
514
465
458
456
434
471
525
468
469
486
440
448
454
448
443
470
508
475
464
477
430
480
452
452
490
424
493
499
471
476
491
465
495
457
459
480
485
483
486
456
452
515
499
478
495
500
480
448
483
477
484
458
493
451
455
476
477
482
487
444
484
451
471
462
467
482
476
466
461
474
487
453
485
464
498
467
446
506
467
437
484
492
453
425
503
453
453
473
516
498
478
473
473
462
477
477
433
476
466
430
473
497
461
483
477
460
499
464
490
487
431
452
489
500
451
449
490
490
414
484
483
506
457
493
501
490
493
476
492
436
454
477
480
512
465
502
473
451
425
453
483
458
464
446
472
503
493
488
497
447
469
476
453
462
456
444
488
481
519
482
433
502
450
469
437
487
482
499
486
438
485
498
432
440
457
468
454
460
466
496
442
460
486
510
463
464
505
489
477
470
486
499
523
472
487
470
491
520
478
493
453
487
465
486
477
502
472
467
481
465
481
485
461
436
500
470
493
468
437
464
462
515
514
490
429
484
448
489
446
449
509
443
486
514
484
466
448
456
469
467
456
463
479
504
475
481
469
452
474
495
466
465
495
495
492
475
477
480
431
478
485
443
483
483
461
444
467
487
460
501
473
506
503
478
484
452
488
448
471
441
482
481
442
518
475
500
471
449
519
496
443
486
475
445
451
453
445
474
497
487
477
493
491
492
466
501
499
471
450
469
481
455
483
505
468
499
488
493
482
462
470
469
466
400
467
474
469
452
503
466
498
494
501
453
468
495
458
475
469
488
482
455
443
478
488
493
470
485
482
510
492
446
502
485
485
506
477
472
478
477
466
467
482
479
467
460
485
465
433
478
479
458
498
463
491
488
466
444
469
481
461
467
461
505
451
497
507
443
492
504
509
501
447
439
490
490
435
464
474
494
448
495
469
471
475
440
501
462
489
474
511
490
439
478
478
439
474
460
458
493
467
501
491
456
498
485
495
457
504
423
495
476
461
479
481
476
501
482
534
474
475
481
491
471
465
469
470
467
460
468
493
456
500
451
473
475
497
495
498
457
483
454
458
466
476
446
486
430
465
469
467
486
456
454
488
474
449
454
482
477
491
458
475
458
498
472
505
454
479
438
470
460
470
494
457
455
495
478
481
494
438
495
456
468
463
465
450
493
502
467
507
502
496
461
486
481
457
465
416
435
495
453
451
492
478
509
509
475
489
489
471
493
499
482
505
456
460
501
500
475
476
477
508
446
482
474
539
466
457
493
460
466
440
465
432
427
455
438
481
447
472
488
452
487
482
455
451
511
480
466
466
498
493
476
450
440
443
421
438
484
451
475
461
478
460
500
467
464
485
508
478
477
484
463
455
468
476
463
446
446
437
473
489
454
444
499
438
480
449
472
494
485
496
480
462
454
450
466
456
513
439
481
472
464
480
489
436
504
498
455
477
468
504
515
468
446
476
446
458
459
482
466
485
512
449
486
485
500
499
489
459
490
509
473
449
475
472
502
464
515
477
494
481
490
464
434
489
420
425
501
494
464
432
465
451
438
477
517
463
483
465
483
465
457
426
461
512
459
461
452
489
516
474
422
471
506
468
475
486
446
489
454
450
463
489
478
494
447
459
464
524
475
498
488
455
501
462
414
433
470
476
482
510
446
467
468
483
482
491
482
473
489
489
457
506
483
492
508
483
471
452
487
498
441
461
465
470
494
493
476
465
491
497
496
513
467
464
454
461
438
446
470
439
471
469
473
447
461
494
437
464
468
483
485
448
506
519
409
480
468
460
469
496
483
461
432
469
459
447
514
482
463
487
484
475
520
488
508
461
525
432
480
478
481
484
457
464
478
455
465
467
469
503
486
468
500
448
473
494
476
484
504
472
460
534
484
493
450
504
510
467
445
518
483
459
490
465
462
448
464
484
443
498
473
499
437
475
489
464
528
456
427
475
479
469
505
482
484
511
467
489
452
491
500
440
450
454
528
470
478
464
452
468
432
482
457
490
494
458
487
446
454
493
467
492
486
490
430
493
500
483
480
443
478
496
487
450
489
458
472
458
465
483
473
495
469
470
466
481
473
467
460
492
500
458
503
486
462
476
470
468
503
472
473
508
532
501
484
476
475
467
491
474
446
472
443
492
496
485
469
444
512
465
454
453
494
488
473
479
452
513
452
477
484
489
464
458
502
470
469
489
532
463
445
457
470
459
485
473
477
448
434
464
440
474
482
479
414
460
469
486
473
483
497
480
501
492
504
483
470
480
473
504
475
473
482
457
489
494
488
488
471
469
469
495
462
472
516
465
481
480
506
472
458
445
469
438
493
469
485
454
456
483
486
440
464
468
483
449
432
444
452
494
509
486
485
484
507
500
480
456
456
483
518
481
459
488
493
484
465
474
427
489
491
475
430
470
496
442
490
512
490
504
495
472
461
452
467
514
493
487
480
463
479
470
451
507
505
483
466
457
489
456
457
482
461
455
476
525
486
504
504
468
460
471
512
518
496
464
454
465
468
500
467
487
454
485
468
446
484
436
490
487
467
450
493
441
467
483
435
451
473
465
515
455
481
489
475
463
436
475
478
487
458
480
484
478
490
531
482
488
457
511
447
475
473
489
475
447
517
470
455
453
463
472
472
486
505
480
489
490
493
488
509
467
467
473
464
507
493
499
492
511
489
492
484
473
484
491
520
443
498
485
472
491
454
449
472
435
453
463
468
488
482
442
496
483
490
505
466
485
485
517
499
482
493
436
473
468
499
417
484
467
517
467
456
452
465
476
483
447
483
455
477
489
474
472
474
513
440
488
512
508
478
487
481
491
482
480
439
490
427
501
497
490
478
497
484
494
412
502
512
464
482
500
467
474
472
458
468
473
470
469
487
491
472
451
467
463
461
468
483
515
490
477
469
477
503
455
491
472
447
456
513
471
476
443
456
495
454
488
450
480
496
481
460
430
470
505
510
482
492
461
491
465
470
491
484
456
470
502
478
481
425
459
474
447
472
472
448
497
459
486
468
489
473
487
468
527
467
459
463
446
487
484
460
494
463
499
507
466
490
473
487
409
461
468
492
460
516
487
533
494
446
489
485
479
482
480
450
490
479
421
458
470
511
508
451
466
476
482
464
480
506
477
466
470
475
488
499
485
508
485
462
440
467
475
478
466
458
470
500
468
483
452
466
514
440
492
453
497
451
496
476
491
455
483
495
489
449
467
468
469
487
491
488
474
437
465
476
486
486
475
476
480
490
498
451
459
472
498
493
446
488
450
470
491
494
490
439
469
489
489
470
497
483
483
459
476
497
452
490
473
478
505
447
459
496
494
474
476
471
493
456
458
504
445
491
483
491
460
423
474
475
459
506
489
478
485
479
469
523
527
493
459
486
505
511
460
485
445
452
456
513
502
458
483
457
469
430
494
444
473
489
465
468
461
490
436
490
488
454
454
493
513
467
503
502
481
489
464
480
438
460
450
500
464
461
475
455
481
484
456
471
472
451
522
482
467
504
478
463
464
525
475
520
463
472
518
476
453
466
479
443
474
481
442
469
467
436
484
451
520
475
496
474
497
521
502
462
475
523
493
492
426
462
477
467
502
468
487
480
462
498
487
485
477
487
488
498
477
485
501
440
469
426
469
486
481
450
489
469
481
477
520
502
458
459
507
465
490
476
496
479
473
499
482
499
438
466
468
462
450
448
461
503
470
515
484
461
496
474
483
468
464
455
469
448
498
459
492
488
520
506
477
460
477
475
502
450
482
449
477
484
491
479
482
502
480
479
500
497
524
505
495
480
502
460
459
419
466
477
470
475
448
490
494
459
505
439
496
456
480
469
469
481
489
528
520
437
507
505
487
488
467
454
491
466
507
477
507
473
463
480
470
472
489
480
513
458
449
488
524
486
477
463
503
487
466
467
468
492
472
477
515
460
479
489
488
467
491
499
447
499
479
451
477
445
491
473
517
473
496
474
493
494
470
490
465
480
479
500
460
478
486
541
487
486
463
488
478
505
485
484
531
495
464
476
480
483
454
479
499
493
480
512
497
485
480
479
463
528
469
461
493
444
445
479
463
443
454
490
460
465
441
472
455
467
461
478
447
507
496
459
465
515
449
496
458
498
472
501
515
457
471
457
502
471
484
463
474
498
433
494
475
512
487
475
473
430
468
513
450
472
474
515
480
501
464
475
494
536
488
501
458
485
503
507
455
510
461
519
466
506
495
464
484
492
476
493
474
480
510
455
475
509
499
491
494
447
514
463
491
463
480
476
479
465
483
481
466
484
443
486
476
489
473
499
429
500
511
501
467
463
482
484
489
514
482
484
540
488
492
459
485
480
479
491
469
430
476
465
510
482
475
455
483
472
516
503
474
463
490
457
497
473
454
465
468
462
461
482
493
437
463
506
469
436
518
486
512
463
482
482
431
465
470
485
478
469
436
489
430
474
483
479
506
468
506
512
464
461
493
421
503
470
478
508
475
509
497
478
467
463
466
491
492
490
456
511
504
463
513
492
514
491
475
450
490
458
523
511
499
510
492
485
514
451
452
512
436
465
464
476
481
481
503
511
497
482
501
463
490
493
499
430
509
575
491
486
503
482
452
453
485
493
488
494
454
479
470
467
515
531
493
475
475
513
517
522
500
488
502
489
506
485
501
492
483
491
522
504
488
469
498
535
507
498
473
513
506
484
477
435
504
457
505
473
465
479
490
457
454
513
495
440
490
455
485
495
479
478
491
507
431
490
483
447
493
484
485
480
469
498
470
483
443
501
491
460
524
488
477
516
494
504
487
481
475
468
467
446
506
496
473
499
444
483
470
480
490
487
440
534
483
510
496
436
523
480
488
484
471
478
481
488
462
486
501
506
489
516
506
459
501
476
481
492
495
467
490
463
481
500
495
506
465
459
508
467
504
474
450
466
508
487
448
490
463
472
498
501
490
455
491
477
484
498
473
471
462
488
483
518
484
508
475
517
513
487
482
484
503
505
476
522
483
407
474
481
483
467
475
473
485
465
489
471
463
502
480
473
441
480
494
472
507
496
475
458
487
488
459
502
474
443
518
502
476
500
494
512
444
492
552
474
462
506
494
486
497
484
521
506
447
535
483
505
447
466
469
477
471
512
480
510
508
452
495
500
499
592
473
509
475
483
451
468
524
490
519
508
503
473
494
476
508
447
483
487
459
486
504
432
477
442
494
497
538
474
468
512
491
489
513
534
485
463
495
491
465
502
467
496
484
490
449
491
503
488
509
493
486
488
507
486
477
455
493
465
499
496
486
484
513
513
530
452
468
473
453
495
505
464
494
427
448
469
477
511
496
485
498
481
501
474
456
491
494
466
489
488
514
488
473
479
456
478
456
470
525
481
496
490
516
489
498
462
500
452
503
508
501
529
505
519
487
493
478
509
470
517
511
490
484
506
494
487
433
467
438
507
480
492
480
521
465
473
500
458
463
477
462
451
495
494
452
503
519
466
515
478
488
460
482
467
516
495
472
480
453
483
483
476
499
491
483
478
510
505
512
514
474
516
487
483
499
477
483
477
454
480
507
491
477
507
506
480
480
459
469
487
482
477
495
539
442
503
514
513
483
493
489
490
482
474
489
484
491
526
484
481
503
478
497
520
439
479
492
474
497
468
437
473
419
470
464
476
475
461
511
494
477
490
508
488
487
498
462
495
495
502
476
477
444
499
495
493
464
479
504
506
496
488
492
450
479
486
475
512
492
471
462
499
462
514
496
494
490
512
455
454
476
497
473
503
483
465
494
473
513
490
486
480
481
451
474
425
522
494
506
470
489
472
472
464
496
485
446
460
459
499
502
509
478
462
502
502
498
500
508
507
466
455
481
506
482
493
480
494
486
453
463
427
484
482
489
510
480
486
519
457
487
477
478
460
454
502
480
484
445
503
476
489
467
496
470
460
486
524
506
470
470
460
480
483
509
452
468
505
507
461
518
473
463
445
490
459
464
480
460
456
494
505
467
504
445
496
501
503
467
452
475
457
482
463
478
475
458
473
481
501
478
489
472
494
484
440
467
503
486
498
520
485
478
496
475
534
520
457
444
515
464
465
502
471
460
478
502
472
487
489
462
491
521
473
468
503
497
504
450
477
458
478
510
503
513
514
467
520
498
489
465
479
479
502
476
443
507
482
483
482
475
476
500
494
487
507
522
465
486
481
504
511
479
498
462
473
478
497
440
443
497
470
474
442
492
495
448
462
501
489
453
489
456
509
464
490
514
512
428
474
493
496
454
457
500
498
487
461
464
502
470
513
483
515
489
469
463
462
448
511
493
508
516
463
472
468
452
481
460
493
508
478
507
496
459
470
491
486
503
460
478
462
500
487
494
474
457
503
481
511
529
499
483
503
478
464
499
445
500
492
463
452
468
480
504
492
441
492
509
495
457
487
504
490
489
501
457
482
481
429
485
460
488
515
456
508
469
504
547
503
469
482
488
492
479
483
464
490
483
452
489
430
516
506
478
433
458
485
510
500
503
468
491
466
443
474
480
476
479
504
493
483
500
482
470
482
467
458
458
491
508
474
487
450
553
520
486
467
450
528
534
475
467
470
497
457
485
465
529
509
518
494
487
478
491
468
493
483
503
470
466
463
511
497
463
495
498
520
485
487
462
469
470
484
487
444
518
530
491
501
452
478
487
475
454
482
477
475
473
500
447
462
474
474
464
485
514
496
482
465
473
464
464
484
508
511
502
481
508
495
478
520
519
497
472
479
455
508
483
512
490
519
451
514
494
507
454
439
453
479
493
476
496
495
519
452
483
481
470
483
471
448
502
478
427
476
497
494
481
471
501
519
486
466
502
471
495
464
501
494
500
458
505
487
521
459
484
499
515
410
486
511
487
493
447
483
480
515
460
477
495
531
495
500
554
478
496
539
481
490
513
439
480
469
505
505
499
514
453
469
458
522
522
480
494
448
490
479
532
518
476
477
450
522
465
442
506
490
452
489
457
518
511
473
488
478
441
487
510
479
492
500
510
483
494
479
488
453
498
514
475
470
523
471
494
450
484
495
487
440
502
495
500
479
507
516
461
506
524
493
495
474
514
501
540
475
502
481
456
477
501
523
503
521
510
475
472
454
499
542
516
518
538
504
525
500
506
508
504
486
506
506
479
477
495
492
509
534
502
500
478
498
497
476
452
502
507
502
475
494
521
505
497
474
487
515
505
466
469
479
498
491
503
464
493
492
453
477
465
507
495
526
491
481
467
481
483
458
501
508
549
488
479
521
491
473
470
465
507
477
492
539
493
480
488
491
477
482
491
472
515
516
501
442
486
502
431
494
486
488
524
462
479
496
513
484
499
449
512
457
471
495
458
492
520
515
500
450
496
460
486
509
530
503
476
475
486
512
479
523
481
476
498
504
486
479
470
480
495
500
493
469
461
498
494
442
504
482
509
503
475
471
468
525
483
502
458
463
460
503
510
518
468
514
489
470
484
486
488
529
485
502
503
465
505
487
477
481
531
476
501
500
498
524
524
524
491
478
463
493
500
494
454
490
500
469
454
482
496
544
436
501
453
503
506
491
536
475
487
492
506
516
472
455
506
511
517
508
460
500
492
473
472
488
494
463
493
496
496
505
485
463
480
497
447
476
514
495
479
498
491
468
529
509
459
488
479
456
502
486
492
476
498
517
532
503
484
487
496
501
510
485
502
529
515
493
501
500
532
498
468
490
493
457
497
510
484
522
510
492
502
473
442
484
486
538
516
482
481
476
501
494
489
519
438
481
530
492
460
508
504
504
498
531
467
469
446
521
501
528
511
498
529
496
521
486
435
495
474
484
514
477
481
509
480
493
493
503
462
493
501
489
480
512
501
439
491
506
498
477
493
496
458
503
497
454
457
521
472
500
469
473
498
463
475
464
484
517
484
440
476
468
494
499
497
502
470
530
471
420
506
491
512
485
452
485
470
469
513
479
508
495
469
468
451
504
484
493
433
500
515
471
488
455
490
489
463
495
488
506
475
491
510
468
454
448
482
473
498
483
473
443
504
489
474
479
480
506
472
485
520
512
521
509
486
488
486
486
476
524
529
500
489
441
482
497
459
497
496
505
503
507
476
473
450
477
502
469
515
446
507
481
473
458
462
489
500
496
485
487
466
503
475
454
456
494
507
510
497
484
502
464
500
531
468
491
486
488
531
486
454
512
497
488
504
468
496
529
502
504
490
472
470
470
496
486
479
482
516
491
496
473
458
498
528
495
487
497
492
493
518
501
491
465
472
470
519
487
461
499
480
499
501
503
500
485
497
484
465
469
467
513
504
500
507
494
516
511
470
506
501
492
509
504
461
525
521
499
461
526
546
520
471
495
482
494
489
482
540
482
494
514
486
511
464
483
472
474
491
516
488
460
475
500
537
505
513
547
518
497
467
493
541
480
461
479
489
541
513
484
447
466
518
465
482
479
517
486
504
472
490
493
457
479
457
483
488
456
472
487
487
478
489
509
474
490
489
495
458
482
512
462
453
494
513
443
498
504
474
494
504
482
505
465
495
484
496
494
546
498
504
477
536
497
513
474
501
498
505
503
502
497
487
511
521
496
494
490
471
536
477
480
471
486
505
482
521
482
466
495
502
458
511
475
505
477
488
521
515
478
499
403
501
493
517
504
463
502
509
503
532
505
514
490
483
490
484
475
456
448
484
532
482
465
480
531
477
501
498
496
489
460
480
515
465
493
498
495
466
427
469
496
444
516
506
446
508
533
499
490
516
539
461
522
516
483
457
489
492
474
482
497
484
536
500
490
496
457
490
482
494
462
491
463
463
486
497
509
520
505
476
479
537
483
441
535
465
481
509
487
477
503
484
488
450
475
535
475
483
468
482
536
497
455
458
472
477
472
490
471
493
503
496
473
456
501
488
529
498
455
473
519
528
458
493
487
470
484
490
499
496
468
503
470
471
525
449
507
511
509
490
525
508
467
466
469
500
520
523
510
508
477
485
490
517
475
467
474
478
466
513
470
472
486
539
473
507
452
459
457
466
487
511
441
498
477
515
481
478
523
476
506
506
486
484
479
483
482
465
508
487
497
491
483
472
502
481
488
518
489
511
493
472
481
492
453
541
489
451
480
458
497
451
483
507
483
501
515
479
505
511
506
437
482
528
467
464
481
517
489
485
491
502
494
525
477
496
492
527
476
496
469
484
506
478
491
453
505
510
499
532
537
476
499
487
482
494
500
495
490
512
507
492
509
500
485
468
494
478
517
465
484
524
453
487
502
525
491
512
512
507
480
493
472
480
487
524
522
477
521
486
512
469
523
506
464
495
506
494
491
514
483
499
501
472
502
509
443
511
518
510
540
529
484
472
511
478
465
455
489
475
489
514
489
485
515
496
476
518
471
473
492
534
504
459
495
527
506
507
509
513
458
509
503
500
495
524
470
487
485
473
533
518
545
481
510
481
502
455
503
532
500
551
465
487
529
504
478
528
455
484
507
490
485
499
491
495
485
509
535
507
525
511
475
511
479
499
476
426
509
501
471
521
524
470
509
488
504
526
496
449
481
512
512
478
519
505
500
479
524
481
505
507
462
550
509
474
503
515
508
506
492
459
519
481
465
527
507
472
483
499
462
526
467
502
484
522
497
528
507
494
495
481
462
499
486
476
472
499
491
529
500
486
485
486
481
477
485
506
524
480
493
476
484
522
489
501
482
494
526
477
513
470
485
521
497
464
522
481
481
505
499
532
473
507
480
510
499
493
477
488
509
502
533
451
467
462
495
536
500
481
474
522
510
500
502
478
494
489
475
476
466
506
479
497
499
521
511
481
512
530
494
516
483
512
506
499
487
498
494
488
518
523
477
471
483
493
470
476
504
486
512
483
509
478
475
473
499
514
521
498
511
497
526
520
490
518
519
484
493
446
514
487
497
496
483
446
495
496
501
478
468
489
513
486
529
499
491
457
477
472
471
483
504
506
512
488
533
482
489
479
519
494
459
496
470
460
532
461
509
505
497
491
506
478
527
532
498
496
519
498
504
498
489
537
518
454
481
473
504
532
498
482
477
489
495
530
478
524
488
533
516
495
466
481
511
516
510
506
470
456
485
488
491
515
472
475
478
470
509
517
488
481
489
476
525
452
505
500
475
543
493
474
497
488
498
523
516
488
500
473
532
467
508
487
490
471
486
496
523
524
490
501
500
458
483
502
475
457
473
486
522
506
488
523
503
512
493
555
518
482
481
513
486
495
491
458
503
488
476
488
461
462
455
505
494
534
497
498
475
483
472
518
488
476
497
516
498
485
507
520
520
505
509
488
506
543
537
497
510
491
515
497
489
500
478
513
511
496
502
498
505
490
511
502
479
519
469
530
479
519
504
501
484
486
529
544
506
501
482
458
496
498
478
516
500
512
499
484
500
493
461
471
468
495
487
489
483
463
467
454
501
493
510
478
495
467
459
499
517
513
521
523
499
480
504
494
505
474
512
505
546
466
476
481
458
502
533
480
504
519
504
475
467
507
505
508
508
509
475
487
491
482
535
472
464
495
466
480
510
450
507
518
474
494
512
513
482
500
500
492
511
483
482
490
525
508
467
538
480
508
506
522
516
488
481
468
511
489
468
480
543
469
526
507
459
485
441
500
479
487
493
535
479
479
428
449
520
528
496
503
512
501
476
499
527
491
488
474
474
459
486
466
506
456
500
484
551
525
501
483
525
490
469
466
497
470
491
483
519
508
530
475
525
474
479
478
504
510
539
480
463
529
512
503
493
488
504
479
483
497
525
466
482
486
478
505
481
524
476
533
517
534
493
515
521
493
499
497
484
523
507
473
485
500
528
475
494
520
497
511
475
480
494
510
511
503
523
477
503
448
496
477
489
485
493
493
499
484
486
503
495
487
508
484
503
502
419
506
518
463
493
504
493
485
496
503
501
514
534
504
500
513
497
498
501
492
490
510
471
494
491
478
513
531
463
533
467
536
516
498
495
478
493
496
519
517
515
552
504
511
534
502
490
489
467
499
472
479
523
531
511
494
513
510
515
522
508
479
499
522
488
493
484
509
501
449
490
499
536
519
490
490
486
457
489
480
496
499
496
490
466
492
502
470
461
482
513
511
478
517
500
457
497
491
438
468
490
464
499
470
444
522
483
495
506
508
502
501
467
501
519
487
540
513
502
507
512
488
507
470
487
488
437
505
520
462
514
473
505
483
508
493
511
527
504
500
485
556
506
529
529
512
551
490
468
488
492
517
488
501
481
571
475
511
527
531
493
519
493
497
525
444
522
487
491
473
503
512
496
506
526
508
487
511
500
507
482
519
496
463
529
512
530
466
497
513
518
509
494
542
507
525
481
501
505
526
450
469
504
483
505
515
513
516
491
501
574
490
541
496
496
472
477
477
492
525
492
510
524
517
489
503
497
473
490
518
491
516
496
493
487
493
490
510
494
549
530
537
524
506
500
488
494
465
473
525
470
480
533
526
471
500
525
506
486
474
468
500
489
509
532
454
500
483
520
489
525
605
508
495
508
491
510
487
482
458
550
505
492
487
544
497
492
516
494
527
485
486
511
469
522
472
509
522
529
482
499
512
488
498
516
531
483
502
517
534
508
552
505
498
479
499
522
485
537
505
493
519
487
524
497
501
522
537
478
497
475
518
497
503
492
507
524
503
489
521
501
508
513
506
475
509
523
504
499
463
477
539
490
494
508
516
487
471
514
486
513
488
474
497
493
479
507
485
510
518
490
537
508
514
534
505
533
501
542
529
500
487
483
483
475
510
542
484
492
513
522
537
521
463
513
515
493
504
525
515
509
469
484
466
507
498
490
482
463
490
497
528
528
492
489
498
483
476
489
490
476
478
450
512
477
479
504
517
531
463
466
523
518
548
531
528
499
477
496
482
524
519
516
509
499
513
488
489
495
497
483
506
506
494
505
486
478
511
501
472
476
515
545
491
511
515
531
459
486
514
474
488
510
503
520
488
520
474
526
507
499
507
482
524
528
484
479
464
506
511
476
534
505
504
496
480
450
520
461
484
513
468
568
509
495
476
510
523
479
467
486
517
521
484
530
508
492
520
489
495
503
513
494
522
527
519
517
481
515
500
508
540
521
497
488
453
539
526
490
539
462
514
489
538
540
507
524
519
522
536
509
524
505
469
487
490
481
499
522
484
520
546
503
487
533
517
504
499
493
531
492
509
510
515
520
492
498
503
486
498
522
514
482
497
489
499
508
528
490
522
469
493
489
539
482
509
489
517
497
516
483
515
558
486
492
472
525
487
515
513
501
514
524
487
530
516
474
478
507
490
521
453
472
495
479
516
511
512
499
493
521
515
493
493
490
483
501
505
530
501
465
477
514
502
485
537
486
512
513
517
550
523
479
490
521
513
524
486
497
517
505
513
488
523
490
511
509
507
528
496
526
480
491
538
500
514
501
548
500
480
500
502
501
510
493
535
481
475
488
472
480
539
497
502
506
494
503
486
506
516
492
543
495
465
521
454
526
492
506
505
512
511
506
499
463
466
508
440
538
489
523
488
480
498
483
484
482
498
512
522
494
472
493
518
517
494
545
490
500
479
511
528
490
493
528
490
508
524
536
513
505
504
473
505
503
477
496
479
505
507
521
491
498
513
515
513
508
495
519
481
487
493
485
506
516
531
470
538
501
503
489
488
491
513
522
516
493
489
498
511
496
522
517
456
504
493
497
508
506
487
500
499
504
481
505
452
507
522
550
461
478
518
513
509
494
493
463
547
469
529
465
464
492
519
514
502
516
480
531
498
511
505
520
456
519
467
513
516
476
529
508
494
539
468
503
524
510
494
522
492
525
491
471
468
512
494
505
498
521
472
523
535
504
537
495
454
492
479
535
522
499
484
546
474
486
485
516
503
474
528
521
486
491
475
494
462
503
515
498
541
479
504
515
527
478
510
433
484
510
509
499
533
481
515
539
482
493
491
477
496
529
498
529
515
515
468
477
492
504
529
512
517
505
530
491
519
496
496
498
452
544
522
494
545
504
491
488
472
543
509
483
461
502
524
534
485
533
502
532
504
533
511
512
501
538
485
510
516
476
512
552
464
500
521
488
499
493
477
511
453
500
503
496
504
513
482
525
497
487
452
484
527
490
483
490
527
535
531
518
501
482
500
491
523
514
533
490
517
502
509
503
471
495
440
538
512
551
503
510
474
483
520
487
500
534
477
492
524
464
454
504
517
536
490
505
518
509
508
506
494
461
495
511
486
482
479
478
503
494
471
500
492
504
530
495
500
481
508
521
477
507
500
509
510
483
530
493
515
533
460
502
524
504
507
502
472
493
467
489
489
461
499
453
523
504
488
464
521
492
471
464
495
505
493
519
494
450
468
493
526
514
492
528
512
531
476
480
521
515
537
487
483
533
481
524
516
486
511
531
485
499
450
531
494
539
518
485
494
502
572
503
503
495
477
476
470
522
510
498
514
532
485
497
496
519
497
479
510
520
503
490
540
472
514
498
524
496
544
523
500
477
506
510
518
501
475
518
514
490
511
487
497
486
474
510
516
491
531
489
485
497
526
449
474
514
528
514
496
493
532
480
504
522
519
519
513
498
505
515
490
509
500
510
462
499
477
508
511
478
491
493
499
522
484
483
495
476
543
542
506
491
518
524
514
505
472
614
515
532
512
524
491
547
520
514
507
533
487
525
497
516
508
484
506
500
514
512
522
495
510
528
490
519
474
541
506
534
499
541
502
501
513
526
506
538
497
480
490
516
506
483
482
543
500
511
526
548
561
517
492
496
492
509
616
482
511
514
486
520
530
516
519
534
528
534
524
476
485
509
521
498
459
501
468
504
541
479
481
515
473
502
485
516
476
520
551
486
515
504
525
506
491
479
476
469
490
474
494
477
523
557
518
530
530
504
497
550
473
486
454
453
505
520
509
492
488
511
509
510
506
510
455
511
526
466
514
524
498
476
523
518
486
495
520
524
528
479
515
519
498
516
520
511
511
501
524
529
514
479
505
488
527
547
496
520
524
500
513
514
485
521
501
490
516
534
522
545
501
532
508
488
505
488
485
501
517
497
528
519
495
497
471
506
510
505
494
514
518
532
505
481
508
501
516
516
481
529
496
494
487
509
475
466
486
458
537
499
494
514
485
504
511
493
511
529
489
513
486
476
515
464
469
520
494
502
517
505
505
465
524
542
458
510
523
504
516
500
484
505
488
499
495
508
471
486
480
532
470
488
507
482
584
478
496
498
500
501
516
475
466
513
532
543
524
478
488
500
502
487
524
444
510
492
561
527
521
478
468
520
455
515
532
472
513
504
523
519
509
501
492
486
500
558
510
497
520
527
504
509
487
472
476
555
522
519
519
506
519
511
489
489
492
518
476
485
527
494
487
526
500
480
453
497
479
500
498
511
542
514
478
502
501
522
478
521
497
527
523
512
549
527
507
493
542
505
486
502
496
484
526
523
505
526
536
527
494
523
504
485
489
480
480
491
488
514
543
508
515
512
502
500
479
476
532
505
557
547
504
465
487
505
499
520
496
505
527
537
570
555
512
498
503
539
522
484
524
531
503
505
499
519
469
534
503
509
552
494
520
507
487
481
569
531
501
519
455
456
496
500
496
504
517
530
513
498
525
507
484
508
499
518
510
521
498
524
515
470
515
511
527
491
507
509
475
512
487
492
505
512
499
488
518
497
512
526
501
509
478
479
506
504
525
519
520
512
520
478
481
511
509
500
478
512
523
519
488
489
447
531
535
487
511
493
538
517
499
504
536
522
495
512
501
516
502
494
501
502
499
514
529
475
535
501
474
472
494
508
560
490
493
474
542
496
511
474
499
498
546
530
527
485
570
511
494
519
470
523
497
480
501
515
534
470
536
527
470
462
522
483
533
518
518
518
503
522
498
504
529
525
480
542
541
473
524
552
526
500
471
512
527
495
489
489
454
518
506
490
440
525
557
507
540
504
504
562
510
493
476
491
529
530
482
514
500
507
499
551
497
521
510
516
464
532
527
482
480
504
505
493
513
493
496
514
501
450
501
446
474
487
556
513
495
507
500
521
470
513
529
475
479
496
515
510
531
525
511
490
488
486
491
506
504
505
468
549
465
533
519
518
497
468
496
511
504
526
466
528
500
512
513
528
512
517
500
478
490
509
512
552
502
530
504
521
561
527
517
512
499
549
489
497
507
518
496
489
551
519
517
527
458
513
485
508
479
504
534
540
527
511
515
516
518
473
477
510
550
481
488
537
523
490
520
530
486
520
521
517
506
489
513
506
505
514
492
538
477
507
492
493
517
494
486
530
514
506
501
478
504
535
467
469
504
492
479
511
522
498
514
525
533
530
504
475
498
514
505
483
504
524
491
530
534
518
529
541
531
521
486
506
517
487
496
521
529
531
491
458
497
563
510
543
536
493
491
531
492
520
501
487
547
492
473
499
495
496
473
501
540
511
511
514
508
506
510
473
505
548
497
499
485
514
504
489
508
501
505
496
524
486
501
517
514
518
505
521
530
508
482
479
476
490
465
488
551
511
520
482
491
503
519
547
536
513
489
491
538
483
540
497
504
518
478
511
531
464
532
484
490
496
489
552
522
531
523
492
492
538
522
542
518
506
454
528
538
527
503
514
487
479
472
541
462
516
525
503
546
470
498
483
509
502
507
538
516
505
462
540
509
521
484
514
471
486
463
494
503
536
486
493
520
557
481
495
510
492
492
486
543
507
491
512
493
530
475
495
505
481
518
494
494
499
516
520
549
509
501
465
531
498
515
506
463
505
467
477
500
513
486
495
546
468
511
501
500
508
482
486
515
487
516
510
530
521
489
532
525
484
520
511
501
520
509
483
518
500
471
511
552
524
468
538
489
557
521
525
550
531
508
509
480
492
509
478
521
491
504
497
519
511
536
510
544
517
534
510
518
475
534
501
496
498
528
525
486
492
518
546
488
531
559
523
538
520
533
524
528
502
522
536
494
518
502
518
483
456
532
493
499
508
496
514
470
521
517
510
499
501
507
476
500
513
503
526
537
512
505
538
490
547
508
515
475
514
481
543
485
506
515
510
500
467
532
512
487
473
515
526
548
514
548
520
515
522
500
509
476
501
485
464
561
475
559
509
528
505
492
549
529
509
519
496
540
472
551
498
520
533
504
524
562
521
503
526
470
556
493
531
534
483
519
506
539
460
517
509
509
524
498
473
553
525
532
514
557
524
551
524
505
465
524
502
493
485
518
472
549
558
482
546
503
520
511
481
487
519
540
535
528
516
513
499
523
473
480
518
501
488
532
504
459
510
491
520
472
552
496
562
505
521
520
486
491
515
550
508
534
510
501
491
532
523
498
479
552
513
542
490
527
556
457
497
496
544
496
471
538
499
501
490
520
531
539
514
558
544
508
504
482
517
513
554
531
552
531
520
529
502
512
504
503
507
507
501
493
514
509
525
531
516
508
531
526
509
503
508
486
510
530
529
515
505
518
524
480
541
541
531
517
562
526
491
543
513
554
545
527
557
518
490
536
527
482
532
525
496
508
520
515
500
530
480
515
541
504
493
508
543
488
498
501
509
491
526
519
548
586
539
535
516
483
523
549
508
494
501
508
536
494
553
532
517
513
534
527
512
501
472
504
495
520
511
553
493
521
487
506
518
527
561
534
535
498
502
490
502
526
534
497
518
492
499
544
524
483
525
500
502
498
533
511
522
515
545
489
546
511
529
512
516
485
490
506
514
521
505
498
526
537
507
507
498
509
545
494
497
502
522
517
541
527
512
522
499
519
528
535
514
520
509
497
518
496
503
509
481
531
503
518
507
490
457
551
518
493
515
496
514
528
500
517
512
507
520
544
514
542
511
497
510
518
507
528
515
542
523
481
529
513
522
511
480
548
553
515
460
469
478
487
494
486
541
505
514
490
501
480
528
474
476
502
521
501
511
502
538
531
525
518
547
485
516
517
509
511
485
505
484
503
538
498
502
524
537
512
522
513
552
520
552
516
464
545
509
502
535
482
536
533
477
538
502
551
539
517
516
520
481
508
525
538
503
480
525
535
541
492
542
528
503
496
458
494
509
528
535
492
519
526
511
477
527
500
510
482
531
465
530
534
536
517
506
532
527
507
508
556
473
538
519
524
500
545
494
523
553
527
482
520
546
492
500
505
482
526
511
523
561
509
485
514
505
493
528
532
518
511
510
529
514
529
488
499
512
503
518
487
537
530
480
519
507
520
516
534
511
504
488
513
503
510
513
527
503
512
516
528
517
495
494
525
517
513
531
509
475
476
497
539
496
507
526
545
506
500
527
509
508
516
498
497
527
493
509
541
526
522
495
549
540
507
529
492
497
546
535
516
510
505
504
522
530
480
515
536
487
506
500
469
549
472
519
481
516
489
503
499
517
514
497
487
495
507
545
536
465
530
522
478
511
491
507
527
516
499
521
504
489
507
489
506
493
532
505
503
541
487
521
484
526
503
496
547
533
479
495
505
525
536
529
480
493
497
513
532
475
500
509
534
539
552
489
520
528
560
498
500
521
526
510
531
456
474
496
522
533
519
502
524
499
467
521
531
470
531
515
455
502
524
526
525
502
497
578
533
510
543
518
496
552
526
523
519
476
548
509
508
508
517
501
536
515
501
497
499
498
533
489
520
530
544
484
554
501
528
517
506
493
518
495
529
521
533
503
551
508
527
490
517
504
521
518
548
550
535
514
548
487
511
517
520
498
498
532
545
522
491
526
527
489
528
479
536
501
494
502
494
526
506
513
529
480
520
474
525
496
502
515
477
540
515
518
532
525
490
507
490
516
527
513
517
489
516
482
497
548
518
522
523
515
513
545
540
512
502
455
517
527
499
504
521
540
477
517
495
493
521
498
449
473
496
487
557
494
534
502
526
492
515
520
518
528
484
537
522
516
535
527
488
486
521
573
518
491
526
523
518
517
488
523
511
511
523
484
536
519
503
494
490
474
520
517
532
490
525
535
489
483
511
546
515
502
499
483
513
516
531
498
496
504
527
485
494
528
528
479
497
556
531
518
513
506
538
547
542
518
522
525
520
540
484
512
501
515
492
547
501
482
489
515
518
505
486
499
496
520
462
518
480
543
485
457
464
498
498
534
514
508
473
520
557
523
495
564
509
519
497
543
530
561
488
554
516
523
535
502
508
508
531
511
524
520
549
530
534
493
498
495
516
518
554
521
503
525
515
496
526
530
527
484
527
525
555
538
522
515
543
515
561
511
470
502
498
509
526
524
546
494
502
493
530
556
503
494
473
537
523
507
549
524
552
506
516
532
516
538
502
516
494
475
523
555
518
491
511
565
520
490
537
521
545
529
481
566
492
546
519
554
549
552
493
518
522
497
486
494
515
480
552
543
517
500
530
520
536
545
559
499
493
520
493
478
542
514
506
511
545
525
542
497
519
476
489
506
512
482
517
535
485
532
538
483
519
507
508
512
557
528
538
511
522
536
498
501
480
507
509
494
543
495
526
521
532
505
499
532
517
477
517
537
515
504
518
514
536
550
501
512
510
526
518
543
536
530
548
551
523
526
553
527
521
525
478
523
572
567
502
519
483
500
511
495
524
482
527
512
472
516
520
566
520
506
494
509
514
514
521
544
542
521
505
531
554
496
531
535
541
500
512
543
537
460
496
498
512
520
516
532
528
540
517
545
498
515
474
490
535
534
491
509
582
495
496
543
511
533
512
515
514
538
528
556
499
538
535
562
543
470
530
486
486
527
516
515
538
525
511
536
515
528
519
531
468
516
483
494
519
520
559
516
514
531
532
514
484
484
518
512
519
524
532
552
555
501
525
489
485
509
497
518
504
546
515
532
474
517
564
474
499
545
498
533
517
538
497
501
523
488
524
527
560
533
506
531
475
491
468
509
495
540
537
532
490
505
558
482
542
524
515
508
513
479
491
524
494
524
518
533
526
492
529
474
522
505
497
515
515
469
508
496
520
498
546
478
550
510
532
531
532
503
500
526
508
523
515
514
505
527
511
521
496
533
541
490
542
537
491
515
544
542
515
506
533
517
532
538
511
523
498
545
513
475
547
484
548
524
506
543
548
489
488
523
500
502
502
512
493
524
502
534
481
523
562
495
507
522
564
514
517
514
506
543
553
492
466
505
488
527
510
530
489
541
491
490
496
483
481
511
552
585
557
519
499
475
514
494
497
522
517
497
497
526
541
497
524
538
519
492
540
508
461
527
526
473
478
520
523
547
533
530
527
493
495
494
497
508
525
517
538
486
524
505
518
489
512
523
510
508
512
493
513
532
509
524
534
522
524
543
527
549
497
525
536
515
528
527
487
508
549
507
499
519
498
507
485
562
487
531
511
548
488
519
491
531
504
540
508
515
504
529
521
499
515
528
525
511
503
531
536
517
536
523
520
528
510
556
508
489
502
509
509
521
519
516
534
511
489
482
489
517
477
551
525
535
536
536
542
533
521
560
459
531
510
475
525
528
536
535
477
524
503
496
543
525
496
492
466
505
523
550
521
521
541
529
501
476
520
527
538
524
527
492
494
523
488
481
530
531
525
516
511
543
525
526
525
518
536
559
531
533
522
522
492
541
534
532
550
526
534
506
549
518
516
454
551
516
526
494
519
513
496
521
526
510
539
527
514
561
532
498
526
535
527
547
492
521
492
520
516
469
539
504
516
499
521
546
566
522
511
495
511
510
523
529
465
526
571
483
517
520
501
543
527
527
521
506
513
532
557
538
475
514
506
524
503
517
541
516
531
487
550
486
502
499
541
507
515
539
499
545
501
505
562
537
507
527
519
558
484
493
489
501
484
531
511
550
541
494
509
559
511
482
499
547
540
502
550
529
495
551
499
532
519
515
497
484
548
505
505
486
503
531
538
499
518
545
481
504
523
543
510
488
545
505
532
478
548
525
534
474
530
513
493
559
546
462
538
513
528
507
513
543
518
482
497
516
520
484
500
526
495
515
559
531
513
474
485
547
524
558
524
552
492
535
530
549
494
560
512
505
490
510
534
545
534
502
522
539
478
513
532
544
509
478
513
467
506
499
503
518
522
538
541
500
522
501
524
543
533
505
501
528
538
541
479
531
440
544
482
531
521
531
542
529
460
480
553
521
457
509
520
548
504
538
484
497
510
539
492
539
541
487
520
487
491
535
552
538
466
546
540
529
527
514
529
531
551
528
559
504
520
487
494
493
547
508
542
529
554
529
533
514
578
511
542
485
547
501
507
528
489
524
498
509
489
516
537
506
522
537
540
528
489
508
538
566
500
517
533
568
493
504
474
517
501
515
529
508
518
548
544
505
521
566
481
516
556
510
513
524
522
501
504
527
472
488
544
516
532
496
522
551
552
484
551
527
521
554
492
549
556
529
508
546
557
532
534
567
547
525
511
533
522
541
536
512
532
482
538
525
561
530
542
550
515
508
503
508
521
514
554
509
541
520
520
499
488
528
526
546
545
507
544
543
504
541
552
530
525
534
508
526
513
543
534
532
536
464
517
515
530
524
534
552
564
532
530
536
544
516
510
454
498
511
510
538
511
531
513
515
554
536
530
517
534
534
512
530
552
510
556
556
522
538
520
540
524
521
572
519
533
468
468
553
526
522
511
527
494
550
531
533
540
524
529
525
530
519
517
556
542
542
530
486
536
500
526
518
520
530
487
529
499
503
544
530
530
539
525
551
501
519
490
508
495
541
544
504
524
530
509
535
487
522
485
537
504
517
503
551
522
531
552
523
524
512
515
489
514
522
523
539
515
521
563
467
518
508
525
519
516
534
530
546
514
558
494
535
464
538
501
518
511
525
552
507
550
541
531
524
518
549
554
537
556
521
472
510
483
538
512
505
547
522
516
518
522
537
501
543
521
496
537
478
568
546
548
474
507
525
518
539
536
514
523
537
568
527
572
531
520
488
514
546
501
513
503
550
512
503
490
515
519
585
528
539
500
530
507
511
508
565
575
507
553
504
539
537
506
520
543
484
540
538
573
489
538
536
559
509
533
525
558
539
506
475
528
552
496
517
561
477
495
527
495
543
516
530
521
512
544
548
542
517
516
536
476
574
532
474
532
527
467
509
478
549
525
585
567
523
524
555
545
491
443
527
514
555
514
518
563
522
546
540
556
557
518
555
514
543
521
527
563
536
544
550
504
545
541
516
536
497
538
528
533
512
500
496
492
528
535
503
508
514
525
525
529
538
530
524
512
491
508
512
540
551
489
521
514
543
496
554
595
531
512
478
500
502
511
512
522
515
536
517
465
517
505
521
539
519
509
548
524
536
502
574
533
486
567
534
535
509
530
545
530
530
536
536
531
527
516
519
525
527
528
526
522
497
486
514
542
530
489
559
486
542
491
529
499
545
502
491
533
542
515
490
507
472
547
539
531
536
509
485
521
540
485
526
540
491
545
543
530
493
568
484
535
527
582
532
499
492
534
493
543
575
514
567
522
528
508
559
523
499
558
534
510
556
543
522
561
549
495
519
500
521
549
534
528
523
518
501
592
511
538
549
518
478
515
528
529
547
529
529
534
494
490
535
544
526
523
529
517
508
503
523
509
561
472
525
567
532
479
556
527
517
542
558
524
513
541
507
562
526
539
530
547
534
549
544
521
519
524
476
579
527
550
500
513
510
486
540
509
517
514
504
521
518
513
553
526
534
500
544
539
515
526
510
519
528
495
505
514
522
521
550
485
523
512
544
555
516
526
528
552
508
512
531
510
560
550
535
535
528
527
500
515
536
558
525
488
539
538
512
527
536
504
507
531
556
507
500
528
500
514
505
537
513
507
495
520
522
479
498
505
519
526
497
543
528
476
553
503
528
485
532
507
503
512
516
511
518
498
551
534
545
534
524
560
511
551
490
503
503
511
545
520
512
555
502
539
519
522
545
519
531
486
505
537
558
506
525
482
524
522
532
542
509
555
525
524
517
517
527
508
538
524
545
543
498
553
520
538
526
512
517
524
501
540
478
529
515
526
553
549
514
509
539
497
559
524
512
525
561
528
516
534
528
545
530
504
550
525
549
488
526
528
513
499
510
511
525
539
486
532
506
531
537
509
537
526
542
552
507
546
545
505
550
540
542
511
544
528
515
508
544
489
493
525
538
540
526
538
507
498
496
473
517
526
486
523
481
531
547
553
500
498
540
521
510
511
520
566
527
500
556
511
560
513
539
555
517
492
525
515
523
541
538
519
547
534
513
496
509
550
494
521
510
500
518
519
515
533
557
545
522
552
542
486
498
523
554
523
535
494
528
523
516
516
533
554
532
551
494
555
507
497
510
549
528
527
514
514
500
510
513
504
531
535
519
491
519
534
513
499
504
546
518
529
542
482
513
504
523
536
498
502
516
513
523
529
537
519
547
508
486
542
529
534
537
532
550
506
504
539
527
543
550
528
526
515
492
501
540
501
494
518
523
509
508
544
551
469
511
544
555
541
502
507
486
535
524
521
522
517
527
508
518
490
494
486
514
515
523
558
539
547
509
550
526
517
506
481
559
527
509
529
516
472
514
521
531
518
541
517
501
491
553
525
489
552
487
559
483
505
532
488
532
530
472
533
534
497
517
528
534
515
519
578
515
542
466
510
521
528
557
512
494
508
551
516
514
532
552
492
493
582
515
536
552
560
557
561
525
523
533
564
560
503
499
546
545
550
507
520
556
526
521
559
543
576
519
535
520
563
592
530
491
549
533
540
566
512
513
498
528
546
494
531
497
553
505
558
538
513
576
527
540
505
569
528
531
570
472
546
498
543
485
560
527
515
529
510
547
521
510
532
513
533
518
498
527
476
529
519
540
536
496
542
587
492
535
548
548
484
540
554
507
465
536
506
552
538
519
532
521
528
461
545
564
543
520
481
495
534
526
565
525
535
497
518
531
533
535
528
509
560
517
476
559
532
507
564
525
514
519
529
519
525
557
561
487
523
533
510
488
537
538
516
577
539
503
519
522
525
521
484
555
550
489
523
528
569
526
524
502
513
507
452
512
515
557
531
491
525
504
571
542
493
523
508
488
528
540
541
500
542
573
553
486
584
555
503
562
528
518
549
590
549
528
521
525
542
543
522
497
490
539
558
496
522
484
536
533
519
493
537
520
521
563
554
577
556
535
531
504
544
514
533
517
516
540
550
516
554
521
514
518
504
555
543
511
513
512
515
498
533
503
523
539
554
479
492
543
501
550
522
532
478
520
532
557
538
512
569
506
527
517
526
518
546
528
555
529
528
488
539
533
507
496
556
519
559
545
483
512
547
549
548
569
506
552
536
479
538
524
517
581
472
533
540
519
534
564
533
538
539
549
524
521
491
517
531
516
563
518
513
529
568
542
535
494
563
522
566
507
531
558
552
528
569
536
553
523
528
568
560
484
526
527
538
542
480
552
543
505
550
529
528
506
561
534
516
554
527
558
537
520
524
531
525
549
503
561
533
505
538
527
492
509
495
522
575
520
542
531
523
545
561
561
526
553
471
503
528
494
526
556
514
527
508
518
536
576
513
540
525
526
559
560
591
525
520
540
514
530
505
502
561
536
526
546
521
582
535
502
534
561
519
486
509
508
548
510
541
525
549
503
560
507
489
512
546
520
516
505
501
540
528
533
522
532
512
510
485
500
523
519
514
607
501
469
530
545
533
481
526
495
461
551
512
520
583
543
532
528
541
550
541
502
542
501
570
512
506
528
529
549
503
537
533
534
547
521
525
508
518
554
512
529
524
555
559
530
535
516
503
545
547
511
528
512
489
546
556
529
494
495
545
486
508
556
554
552
556
541
583
537
538
495
531
535
527
498
544
518
542
568
536
517
522
492
529
558
537
518
554
552
525
513
517
516
489
556
511
498
496
534
507
539
534
515
542
563
498
487
546
514
515
562
531
527
503
497
561
489
553
540
534
519
541
518
550
561
535
511
561
498
517
522
504
508
516
517
601
513
555
569
532
505
506
567
538
492
525
529
554
542
559
527
558
533
535
528
505
515
550
630
507
522
530
510
532
562
527
534
548
507
514
519
522
514
526
534
544
501
539
576
533
549
517
514
539
504
534
509
506
542
540
496
519
547
500
568
544
520
527
492
499
528
511
547
508
512
524
579
469
539
539
517
537
540
545
548
530
537
533
497
592
544
509
569
540
496
544
513
606
525
515
497
518
558
531
531
501
531
498
524
508
484
522
491
548
518
507
495
536
499
515
519
544
549
491
537
542
478
529
512
526
522
503
523
514
511
526
554
514
575
523
545
530
533
530
530
534
554
516
539
522
528
501
531
532
523
555
518
511
531
495
499
505
535
538
525
530
569
539
479
539
526
519
540
568
525
526
528
525
537
499
534
536
541
517
516
536
508
533
512
535
526
527
538
551
509
544
521
509
615
563
484
524
506
551
520
527
493
513
554
521
545
522
519
531
521
554
516
545
544
570
522
520
521
541
526
537
596
542
508
538
534
530
539
539
549
539
532
530
497
544
496
490
520
493
523
565
549
516
488
536
548
557
525
502
541
563
503
562
580
539
554
503
501
519
551
533
529
546
551
508
560
544
535
534
513
585
516
509
532
501
527
506
517
529
537
500
509
529
525
531
566
544
516
495
510
530
532
540
528
489
507
522
515
535
512
530
562
538
497
537
495
554
558
520
496
550
493
552
518
533
556
529
524
529
529
501
510
548
502
522
458
533
544
516
547
524
529
514
491
522
518
524
539
556
511
547
480
507
523
507
501
501
520
502
538
528
539
563
509
498
523
532
568
549
514
554
525
515
520
524
533
517
546
562
535
516
499
502
501
555
524
539
494
563
540
525
500
546
518
529
501
537
506
489
486
535
569
538
555
472
566
519
534
506
503
540
507
543
570
581
519
505
518
501
518
534
552
483
511
521
488
531
489
554
527
474
504
509
496
544
503
535
503
549
554
545
575
534
531
518
551
551
528
536
543
547
562
531
584
574
573
503
522
553
548
554
531
504
544
509
542
564
564
532
505
565
506
588
525
522
510
527
515
543
539
496
518
554
544
542
534
497
505
530
561
506
549
529
554
531
545
486
486
558
529
542
521
538
522
511
558
547
511
539
473
554
536
516
541
538
516
576
520
512
568
517
511
557
550
574
515
582
559
510
519
545
526
567
555
538
529
540
543
500
546
514
483
546
558
527
574
528
556
558
523
551
544
577
569
538
538
520
509
531
545
552
512
487
558
496
508
528
549
511
515
542
521
537
471
551
510
532
531
535
536
499
485
523
530
559
542
561
534
519
504
561
553
507
552
496
509
528
546
560
507
489
533
537
522
533
555
543
508
533
503
556
527
527
487
539
551
525
525
536
522
542
500
546
530
554
533
545
541
563
519
551
524
535
541
534
550
516
545
551
563
520
535
531
552
554
490
541
489
534
503
528
526
548
496
532
561
542
504
573
554
578
519
511
545
541
524
543
510
502
527
549
500
564
559
546
573
529
511
509
563
554
543
518
563
522
547
508
535
528
504
504
583
530
531
544
547
548
537
499
521
524
632
536
543
512
520
524
546
512
503
487
538
557
530
527
515
513
546
526
519
518
540
530
545
524
529
558
517
521
523
543
533
509
550
522
542
512
560
532
518
530
537
525
509
548
557
565
545
553
548
553
488
526
519
527
512
535
541
568
558
503
515
545
506
547
527
540
548
512
585
543
552
522
565
543
538
541
519
522
548
505
507
521
570
537
506
547
507
541
524
526
535
549
566
533
523
530
528
528
505
550
523
520
540
557
506
500
500
518
512
510
528
543
535
543
521
561
535
466
548
549
556
504
568
566
505
532
566
540
542
526
475
567
554
533
564
546
502
523
523
559
580
515
551
529
539
534
505
491
544
542
532
513
531
579
545
538
540
543
551
503
529
539
517
521
571
554
566
513
535
540
513
520
492
508
503
508
531
523
549
492
508
524
547
568
556
573
528
562
542
554
565
544
509
514
554
563
525
547
501
557
554
513
548
515
510
523
545
495
497
522
550
539
511
511
533
527
529
563
534
519
511
548
529
525
537
534
513
537
530
476
533
569
550
552
521
545
523
558
523
564
536
561
546
537
569
511
549
540
530
570
536
501
520
540
523
564
517
531
562
535
530
556
527
520
532
538
536
516
531
507
514
520
503
582
507
527
497
548
553
512
581
562
557
560
521
587
522
531
563
527
531
527
556
495
521
535
546
564
556
525
559
509
546
492
542
516
495
505
531
547
552
541
548
542
564
515
517
558
503
557
516
530
479
508
517
514
518
528
515
541
550
505
546
556
521
496
527
485
514
518
539
561
528
560
512
540
519
552
527
529
545
561
530
511
514
557
509
543
535
512
544
493
540
556
552
532
548
543
541
560
521
510
561
508
503
577
518
470
529
520
536
553
533
546
541
548
543
505
518
540
541
537
534
542
528
558
513
542
536
529
511
519
526
547
560
547
548
518
565
477
548
502
537
539
532
533
545
568
580
522
548
541
541
561
556
498
495
526
521
589
544
486
577
511
529
538
532
543
498
532
529
501
517
548
501
551
540
559
560
527
521
565
552
528
539
504
547
555
545
490
539
543
510
514
517
546
505
534
565
473
568
556
509
559
582
515
529
544
538
551
556
515
516
527
511
553
537
507
543
513
510
545
568
547
536
546
539
543
541
573
526
518
520
551
527
541
519
537
516
579
581
519
545
566
541
501
551
541
511
520
573
538
551
580
506
545
551
535
588
508
517
579
503
567
507
531
455
549
515
519
534
503
541
537
503
540
543
532
587
550
521
546
536
524
560
496
532
518
534
547
487
520
506
510
539
541
540
540
561
569
574
517
510
553
556
538
497
506
544
563
547
528
536
568
550
530
527
525
505
540
498
567
536
568
532
504
520
554
538
557
540
560
545
542
581
542
542
537
545
560
506
522
538
566
497
537
502
519
523
522
582
560
565
487
532
519
527
539
537
528
554
536
544
539
501
568
512
539
528
544
538
555
497
559
568
539
533
536
523
585
538
505
509
569
495
526
498
518
526
500
567
488
489
521
506
517
538
506
508
530
536
501
529
571
494
528
528
570
530
540
514
538
560
568
513
545
549
529
532
520
554
535
470
538
524
514
551
561
552
526
550
514
530
513
547
522
552
546
552
535
525
543
531
557
518
533
507
493
548
539
572
531
558
530
549
513
541
553
546
554
548
526
552
519
520
519
539
542
550
546
546
532
501
520
536
550
535
497
521
531
549
537
549
544
493
586
567
556
572
551
575
528
555
550
566
536
556
538
542
508
559
528
533
580
490
549
496
522
553
499
507
534
514
551
521
555
555
552
537
538
545
533
579
530
534
519
505
503
542
538
512
511
510
544
542
574
540
529
498
521
517
535
551
539
531
514
536
538
545
554
480
562
534
549
540
570
515
573
572
530
572
533
541
537
542
563
542
542
564
537
548
539
502
565
584
529
562
536
530
572
566
509
535
511
548
518
538
517
545
568
515
546
559
590
534
586
561
588
527
552
521
506
537
524
525
547
553
510
522
525
535
506
527
523
527
535
592
553
549
552
551
542
525
541
558
569
523
535
564
525
562
526
551
502
552
546
529
522
556
525
732
522
501
571
563
525
526
539
537
557
536
535
521
522
529
503
517
529
524
509
506
576
549
489
530
553
526
540
550
519
531
566
537
547
556
560
549
559
544
479
571
555
499
550
542
608
537
564
568
539
524
514
524
537
562
541
534
542
569
532
543
484
536
513
563
547
535
574
537
547
554
518
521
525
555
537
580
536
580
544
535
542
566
538
514
534
537
536
555
526
542
540
505
515
521
525
514
561
496
551
541
568
547
518
559
522
548
543
546
517
532
548
522
544
547
508
548
540
533
565
487
572
536
565
556
525
519
563
548
545
539
531
528
547
560
511
512
548
582
543
520
503
554
562
547
582
529
541
549
542
564
554
528
561
554
548
532
534
486
534
549
575
514
532
524
485
532
561
547
552
552
519
546
525
502
508
533
565
528
527
530
551
530
497
504
540
541
498
482
530
546
533
523
563
570
509
522
556
603
540
542
515
541
550
556
549
576
529
524
511
521
558
547
463
507
531
560
514
543
512
547
546
522
530
525
558
536
549
544
577
504
523
555
560
540
555
536
553
537
556
553
517
548
558
537
553
535
583
563
593
528
535
552
561
567
514
568
508
527
598
536
545
483
498
533
531
544
546
523
523
524
521
549
522
571
549
543
544
541
555
558
548
537
569
498
569
548
575
519
570
553
544
560
662
510
546
557
534
541
543
526
559
538
515
541
544
490
549
550
542
564
567
538
516
519
567
558
553
546
566
548
544
554
538
558
540
533
559
555
498
541
541
549
559
535
540
569
546
539
522
551
508
545
521
566
525
541
576
533
542
549
536
510
536
524
551
540
541
531
523
568
517
539
548
534
516
529
557
564
506
508
574
557
530
508
552
521
523
480
486
550
562
566
539
503
516
521
530
518
508
531
573
595
516
523
579
499
550
542
520
498
541
536
516
514
514
566
538
539
507
537
555
538
566
529
522
539
525
543
574
531
499
542
546
526
565
543
549
523
540
528
543
559
545
531
530
513
499
504
512
513
517
543
539
546
522
523
529
553
539
524
557
560
539
509
557
593
525
548
589
532
520
560
548
494
543
544
545
525
549
520
529
575
549
509
529
528
515
521
541
527
491
499
519
546
569
599
569
540
551
535
536
590
551
544
545
559
534
520
569
548
549
560
574
526
557
491
540
535
558
514
533
530
532
573
591
542
516
526
541
543
490
534
564
523
496
519
502
521
514
534
516
557
543
487
554
523
579
507
551
538
529
537
520
514
546
519
524
544
568
539
533
522
573
517
568
520
490
597
532
536
532
521
549
509
535
551
543
549
521
498
498
523
552
560
549
562
520
577
561
525
493
521
543
523
530
518
524
548
532
538
550
536
547
493
555
519
559
574
567
597
540
557
524
528
542
544
519
538
532
538
547
501
522
544
553
545
537
544
518
553
534
526
533
488
539
515
522
568
535
524
543
554
544
491
518
529
501
567
526
537
541
544
558
548
528
576
526
486
518
543
538
492
508
554
498
580
520
509
533
526
573
562
541
532
580
554
530
544
537
506
542
528
546
508
539
540
538
520
539
563
567
557
544
524
514
535
538
540
530
516
540
564
554
507
532
525
535
551
568
574
523
584
503
545
508
551
554
520
551
515
511
525
530
480
518
537
507
523
539
526
588
517
528
480
503
542
525
535
526
531
525
511
519
530
537
525
568
578
538
553
515
523
540
515
531
560
600
551
511
574
535
575
557
545
567
562
543
513
514
562
559
546
555
563
579
571
559
572
573
533
538
517
557
505
505
499
513
568
540
472
521
566
549
518
536
549
513
527
542
529
527
516
559
564
529
530
540
523
513
553
482
556
554
527
542
558
536
580
535
511
568
533
512
495
550
544
520
503
498
533
559
547
543
520
522
580
565
555
547
471
557
524
535
553
527
542
546
536
551
549
569
581
547
537
530
514
540
516
539
534
558
508
544
510
553
538
530
527
530
522
560
524
543
497
577
530
532
544
509
598
564
561
556
528
561
526
530
528
502
527
519
520
545
568
509
483
565
536
548
559
561
549
541
595
546
540
559
526
562
531
544
550
510
577
565
548
518
566
574
549
530
527
564
563
557
530
518
543
547
587
530
559
573
527
538
520
551
529
561
535
536
565
578
518
555
544
547
549
572
549
527
517
537
566
535
508
520
505
592
524
510
553
538
559
549
530
503
565
538
520
525
558
518
568
541
562
530
576
525
543
525
549
540
551
527
543
564
551
546
566
494
530
558
543
518
575
575
546
539
555
563
544
564
573
573
525
526
511
550
567
537
537
524
529
588
555
504
576
558
527
540
587
497
586
549
567
550
528
557
544
535
504
518
536
531
531
492
544
534
524
549
571
537
549
537
495
541
567
497
520
578
525
529
506
550
550
531
543
533
539
540
523
546
576
559
543
581
584
538
520
550
545
491
558
579
499
556
537
567
473
563
561
509
557
498
555
534
524
554
600
548
588
558
527
520
531
522
571
500
479
552
511
557
550
572
558
556
557
515
554
558
544
556
532
504
513
520
516
547
523
539
591
531
513
567
562
534
530
513
579
534
537
543
543
543
583
540
528
549
580
528
536
537
569
532
569
533
579
506
525
568
525
519
510
554
553
524
516
529
569
542
551
581
538
566
566
567
558
566
534
526
557
534
587
535
510
562
592
525
512
549
498
541
564
551
525
530
531
563
534
559
516
554
551
510
555
535
509
545
515
545
543
548
508
543
544
541
542
546
564
555
539
552
537
519
561
554
564
559
552
524
540
560
521
532
529
549
578
558
536
542
535
553
539
533
530
568
597
567
584
566
516
561
521
569
543
544
525
587
598
556
546
534
555
547
566
547
522
526
538
571
539
547
577
554
523
576
539
557
574
530
525
572
561
546
580
541
560
531
549
575
536
538
550
554
538
550
540
546
526
557
544
557
525
541
586
562
518
522
555
491
533
512
572
563
552
533
553
553
560
517
548
526
482
503
556
530
564
586
537
525
537
550
555
510
514
550
507
531
571
540
540
570
538
534
536
500
568
499
528
560
562
501
518
523
560
513
569
534
526
552
574
548
561
541
524
542
514
526
522
571
576
535
550
547
511
540
560
537
557
484
589
567
497
523
532
541
535
575
548
489
684
574
571
526
547
561
569
563
529
538
554
518
559
546
517
541
549
541
550
539
549
553
516
567
527
559
513
514
542
532
542
532
536
544
565
497
512
547
568
584
516
536
534
542
558
548
530
550
606
567
579
553
568
554
543
536
571
531
493
552
552
540
548
518
539
506
533
566
537
506
544
557
543
552
532
559
534
537
545
551
540
523
553
545
548
537
563
524
559
555
530
582
553
551
540
539
570
559
536
538
546
569
508
591
554
581
524
588
585
538
537
535
495
547
560
524
550
499
537
560
522
544
543
538
509
543
552
495
534
561
518
523
565
511
541
563
546
540
528
551
540
537
527
573
533
494
500
528
525
556
583
536
519
532
505
561
556
531
512
548
568
572
553
555
531
552
574
573
560
517
567
569
589
548
558
532
543
515
561
557
494
502
566
550
550
533
500
522
538
526
529
544
568
546
537
536
538
544
575
547
526
527
551
517
549
532
554
543
497
557
546
568
509
500
518
557
530
554
561
541
532
528
537
538
527
567
531
561
537
554
534
565
567
566
543
555
550
566
538
579
550
499
534
501
562
560
519
513
547
503
547
542
548
529
539
541
548
549
504
549
544
556
533
530
579
579
522
559
519
558
552
550
515
538
555
553
527
559
532
568
536
559
562
584
562
524
541
596
571
559
540
524
554
551
550
550
548
542
528
530
546
571
546
530
553
570
563
551
539
527
552
544
555
562
543
539
557
519
555
555
528
519
537
512
540
546
540
531
567
573
527
595
501
556
487
544
530
554
540
542
564
553
527
556
544
520
553
528
538
567
537
532
594
524
549
507
536
560
538
563
569
544
547
572
569
568
532
520
546
533
534
527
530
527
553
558
547
572
532
562
563
530
575
556
501
565
560
518
524
530
513
559
537
554
546
510
566
504
535
576
549
562
518
592
537
521
550
543
545
576
552
534
594
513
568
537
558
508
533
490
547
550
553
538
505
560
531
561
592
540
569
566
578
556
551
554
554
571
557
546
555
554
518
555
583
569
531
559
520
548
555
522
542
549
535
519
566
544
517
575
543
548
527
559
536
541
530
561
545
543
510
552
556
583
542
522
553
525
596
552
520
563
520
549
527
535
588
538
548
546
547
533
562
580
550
522
531
532
521
524
569
572
520
560
600
540
506
556
557
594
525
563
564
548
546
548
567
564
545
587
553
578
526
534
534
550
526
580
557
522
581
587
601
541
595
576
510
552
554
535
538
577
496
552
548
514
541
577
536
534
555
538
554
558
544
511
516
514
512
539
525
538
581
529
561
539
561
521
562
534
539
550
545
519
538
568
540
542
559
545
512
546
559
566
535
552
559
543
553
547
522
542
549
498
564
571
578
535
551
566
543
486
548
563
510
582
509
528
554
539
536
546
560
548
562
560
567
539
521
533
503
594
563
553
539
557
518
550
529
568
538
536
571
552
543
572
556
553
542
543
530
560
559
559
603
591
562
622
535
552
511
545
561
557
536
516
565
539
546
527
545
538
546
527
531
550
555
578
564
545
545
563
497
514
577
615
541
541
543
579
540
591
530
505
521
533
557
554
555
556
570
555
574
542
550
564
549
522
502
546
568
542
574
538
542
570
550
521
528
579
536
525
551
551
520
524
566
527
540
555
543
512
532
596
565
530
543
585
557
557
587
521
503
558
561
567
571
529
584
585
605
558
499
554
479
534
514
555
561
577
564
505
526
594
548
532
552
567
538
539
573
584
519
565
571
527
537
565
553
603
566
571
582
549
490
555
548
565
529
556
538
575
587
584
512
558
502
547
537
512
563
547
582
528
532
525
566
563
527
542
527
552
516
541
549
546
549
543
556
514
547
569
537
555
566
502
552
538
556
546
529
567
547
517
547
535
552
568
574
515
551
566
566
556
539
534
547
570
696
525
555
541
533
567
552
527
526
565
551
566
555
567
554
496
503
477
560
579
538
551
513
574
528
540
579
544
548
586
547
550
551
556
521
626
520
589
519
584
568
522
522
562
563
529
549
509
518
559
576
573
538
557
520
563
560
538
563
533
533
556
560
544
584
547
510
578
531
562
563
539
542
565
538
526
587
574
556
518
505
515
558
573
579
546
579
508
556
559
543
497
577
542
557
529
576
509
589
516
545
526
567
531
538
560
545
550
560
526
590
547
551
548
594
533
554
555
547
538
528
530
526
526
542
548
491
562
535
577
523
515
526
575
523
524
504
573
559
541
576
559
587
561
545
545
542
542
553
581
517
568
564
528
513
557
506
519
577
601
540
544
558
564
553
539
559
540
610
528
517
567
537
588
582
506
549
552
525
566
549
515
537
529
547
549
533
557
562
544
547
561
557
535
547
534
544
550
525
533
556
524
507
536
541
533
564
531
554
535
581
537
572
577
533
559
535
560
550
581
544
551
538
561
553
579
521
529
579
543
528
565
538
574
532
542
537
560
535
545
580
592
556
541
558
575
515
534
541
542
616
567
563
562
555
531
564
566
521
557
539
532
563
537
571
548
529
507
520
525
577
513
512
553
528
532
563
527
565
540
545
526
596
522
564
544
557
533
537
520
541
525
606
570
597
576
570
589
547
563
543
504
535
569
562
531
500
520
514
595
578
557
530
532
540
562
552
539
540
538
546
556
562
547
542
563
510
582
560
578
555
523
548
583
553
561
570
531
543
551
544
544
542
522
558
520
545
569
574
543
563
541
568
587
519
550
514
533
551
536
529
554
539
564
546
557
548
538
545
538
539
506
526
537
589
577
541
537
547
597
559
580
586
538
542
547
549
544
567
510
525
515
569
526
590
537
552
563
569
582
561
568
553
524
555
574
532
554
566
551
526
504
539
506
524
532
534
544
559
531
504
508
550
550
533
532
557
552
558
519
563
595
522
552
571
561
565
522
562
567
547
516
541
547
519
577
545
537
547
584
597
546
532
559
561
547
571
554
546
556
559
542
533
548
568
568
568
584
536
570
558
556
559
552
565
562
541
535
521
540
542
520
540
516
552
545
530
502
529
551
609
596
516
566
586
573
587
538
558
561
550
581
578
558
547
545
578
530
521
543
556
519
556
505
533
544
552
566
568
540
552
551
575
603
519
584
553
514
541
547
580
531
544
549
508
592
546
585
561
556
584
537
546
595
526
563
558
523
549
542
547
559
532
544
563
509
561
543
558
543
581
545
568
556
607
534
585
559
537
522
553
533
541
545
571
548
546
563
560
591
567
555
525
544
556
538
529
539
509
533
506
537
565
503
533
584
559
506
554
525
556
568
548
577
577
556
527
580
533
559
554
574
572
523
535
564
546
543
568
583
551
560
555
541
555
560
578
507
538
547
562
593
545
536
541
568
560
582
534
532
517
569
574
547
529
493
600
576
562
584
565
585
509
567
559
557
564
565
558
522
583
578
547
532
536
535
614
525
549
580
530
525
585
542
534
525
614
541
508
606
529
586
552
524
540
540
558
561
554
554
565
538
565
576
574
548
590
563
545
489
549
580
550
553
519
540
567
539
611
514
560
557
560
496
580
542
542
556
578
578
545
534
544
566
556
593
558
551
558
555
542
549
534
555
545
495
527
535
533
573
529
528
548
540
535
527
556
573
574
561
548
503
579
514
569
517
579
513
570
517
576
548
526
566
545
543
519
548
518
557
554
589
592
555
544
537
520
558
525
609
578
541
550
588
545
539
576
501
571
509
553
530
568
532
537
514
569
530
522
547
532
561
558
569
525
540
530
561
529
552
544
543
545
544
584
546
559
556
584
584
548
575
566
514
536
565
549
597
578
580
560
520
544
514
562
567
520
549
581
561
587
584
498
562
579
568
520
531
541
557
577
563
569
574
514
580
516
552
567
581
570
568
548
523
539
562
510
503
529
511
565
525
504
568
565
539
574
583
561
584
534
501
549
571
575
539
530
578
554
560
597
545
582
519
534
573
547
551
516
536
565
540
586
557
567
545
549
549
583
545
585
536
584
528
572
568
565
546
570
584
576
599
556
586
556
548
521
556
578
557
577
532
556
586
560
578
579
556
541
510
546
544
534
498
560
531
557
488
535
496
588
566
583
593
529
538
591
517
527
531
534
549
583
586
572
511
554
573
548
514
558
584
519
540
549
529
572
562
518
477
586
521
526
530
577
556
576
517
573
568
536
555
580
570
524
576
542
538
539
564
560
590
566
550
544
556
563
556
560
567
541
598
564
537
521
545
546
508
568
548
555
542
565
551
582
551
542
571
556
537
549
571
544
513
520
570
552
585
563
569
590
550
556
534
543
553
600
576
560
541
534
539
542
554
522
525
533
570
576
575
607
588
539
568
565
513
538
551
571
545
562
524
555
562
568
573
551
519
574
576
554
602
533
567
541
568
553
555
544
548
533
531
559
561
570
520
534
497
529
547
534
516
549
538
576
544
565
595
583
512
565
549
531
584
535
557
521
540
563
572
521
553
589
517
565
534
542
592
568
547
591
577
572
551
574
546
564
561
598
541
546
559
569
513
583
520
566
576
548
561
565
603
566
524
530
508
519
561
587
544
562
572
585
525
521
574
566
549
571
534
538
554
566
553
561
554
562
565
581
537
545
569
580
526
517
580
533
541
548
571
550
505
571
587
536
530
565
538
532
549
546
520
515
552
545
529
551
585
540
552
533
594
593
533
542
529
567
509
582
570
547
530
516
551
569
565
544
556
549
533
555
528
580
574
554
567
553
544
541
570
575
508
533
573
525
567
551
543
523
502
577
570
510
543
541
567
557
561
556
531
569
544
569
544
560
530
540
541
573
582
532
583
545
522
542
536
534
576
550
549
529
531
556
569
543
539
558
537
538
567
523
555
575
546
564
541
551
537
586
498
577
549
553
567
544
586
565
546
573
549
548
593
585
570
589
524
534
553
549
564
561
580
556
529
583
575
553
566
585
542
528
568
520
544
532
564
547
542
573
560
514
516
554
533
545
537
559
552
584
588
584
530
553
581
556
579
567
571
565
564
568
578
587
563
591
545
545
556
547
529
584
539
541
532
569
548
590
590
542
564
540
520
530
538
519
585
552
545
560
525
545
588
565
517
552
599
585
546
538
550
562
548
572
544
581
616
535
539
510
544
539
576
569
566
537
538
607
567
562
578
556
526
574
572
559
538
541
529
605
565
551
551
574
584
600
560
558
527
542
560
526
574
552
564
582
566
544
554
572
522
553
522
555
561
502
577
575
580
553
596
536
583
565
555
500
550
555
548
529
544
542
594
558
568
544
590
797
571
573
537
576
551
574
524
574
561
564
553
569
572
538
580
572
529
564
593
534
545
515
545
537
537
535
518
518
547
550
579
535
559
562
567
545
560
585
545
566
550
572
574
571
547
514
589
506
581
597
553
544
552
573
565
541
551
604
556
562
541
570
583
571
569
551
579
565
556
524
605
558
549
557
562
546
559
579
572
551
567
662
578
585
550
582
522
563
536
587
601
573
528
526
544
543
572
572
553
526
582
577
549
567
564
545
554
547
611
549
585
569
549
548
577
555
577
528
566
564
568
594
555
518
539
538
516
533
569
576
568
610
564
570
555
591
584
550
562
556
573
509
554
573
531
543
546
553
515
573
543
545
526
544
555
536
587
556
561
585
531
561
560
571
600
558
594
585
550
572
534
555
547
543
583
560
544
562
540
559
585
513
576
564
610
592
557
603
552
526
579
544
556
562
566
578
557
555
531
611
568
561
534
590
547
509
550
508
572
599
508
583
537
547
561
521
547
526
575
577
568
519
545
566
566
557
562
545
560
558
576
586
524
596
543
543
570
580
557
571
570
547
567
566
559
509
526
593
567
554
610
561
550
547
545
580
543
544
561
530
536
550
572
516
565
546
546
547
556
574
586
592
585
525
577
548
523
550
545
606
561
538
551
548
586
567
561
534
581
555
534
550
537
559
578
527
559
566
594
553
523
556
539
583
527
536
560
539
552
590
563
563
551
555
526
540
556
566
548
606
556
538
546
548
558
519
548
581
560
577
540
553
531
542
601
541
566
566
576
554
599
494
517
555
518
591
554
531
547
578
574
554
564
556
568
545
516
559
531
538
575
583
515
555
572
546
562
541
564
603
572
584
557
588
506
575
605
543
582
551
534
553
546
574
542
574
592
551
564
564
574
534
538
555
576
565
513
534
579
566
573
568
554
547
582
556
558
565
533
588
579
572
554
618
510
558
573
563
501
565
560
558
561
586
576
573
558
523
556
561
567
568
516
585
585
575
579
596
551
573
558
553
579
564
525
546
542
540
568
542
569
557
558
575
535
562
570
521
540
554
556
534
570
573
560
561
560
564
569
567
573
560
530
523
603
528
530
576
582
542
563
565
579
554
551
560
548
602
570
531
530
570
540
597
556
533
574
562
534
553
569
548
556
540
588
537
515
541
585
539
583
569
520
506
535
566
536
561
574
579
550
561
557
590
576
606
576
552
539
592
570
582
585
569
522
537
577
567
588
559
551
517
533
545
569
565
555
555
543
551
582
553
566
494
556
536
557
590
544
553
563
528
539
552
572
544
565
543
613
543
585
569
566
536
571
564
527
511
579
572
549
561
570
552
542
572
544
518
525
541
572
593
532
533
547
550
523
535
508
521
548
573
567
553
528
541
582
567
548
540
534
535
538
539
563
564
565
582
555
559
554
522
533
579
570
527
587
559
551
580
511
583
566
576
582
544
588
532
542
572
587
536
524
553
568
552
555
554
574
548
545
591
565
563
554
575
563
557
538
554
574
583
579
569
573
582
562
597
559
564
545
526
556
553
547
563
526
563
560
611
546
560
592
541
558
549
566
538
593
544
572
540
550
553
554
598
599
525
598
527
532
554
570
530
606
552
507
546
552
565
525
596
538
498
608
553
537
555
537
552
520
554
555
569
579
552
617
527
511
548
546
535
543
539
545
593
590
553
554
568
513
549
533
561
582
530
558
551
504
576
603
595
547
524
570
587
557
538
581
547
563
574
528
571
526
570
596
574
570
537
580
574
542
531
600
520
570
550
577
523
509
549
561
546
578
558
568
610
499
574
547
564
535
570
574
550
564
563
593
597
543
553
584
534
566
564
557
540
569
538
539
571
577
539
558
555
537
532
575
519
564
532
533
568
526
535
555
524
562
551
560
566
552
551
562
565
552
566
591
597
557
562
560
553
587
557
570
564
555
581
528
571
593
605
521
564
557
581
539
560
552
570
574
546
527
542
539
576
556
527
590
561
547
587
541
573
553
550
549
567
559
543
551
640
602
560
603
583
596
541
598
548
524
565
563
573
574
564
559
560
583
538
576
544
561
584
602
536
537
531
564
607
553
593
553
570
539
572
508
597
539
573
569
557
584
571
583
539
526
562
555
571
566
534
573
546
545
566
502
580
582
545
552
570
581
598
547
577
563
579
574
573
547
538
590
536
541
544
565
568
591
513
538
556
561
529
540
558
547
541
602
563
576
563
612
538
536
549
537
553
570
561
522
553
555
547
533
596
540
521
582
534
561
572
525
634
559
563
588
571
572
547
602
539
549
568
566
590
593
533
522
560
564
556
563
520
557
572
562
552
590
502
527
603
561
544
533
582
525
551
549
601
563
566
581
583
536
551
571
537
560
596
551
570
554
526
578
548
579
562
605
569
559
543
577
584
569
579
522
558
573
590
542
541
595
542
540
547
610
569
555
613
555
568
535
567
574
578
589
569
554
563
556
555
593
579
592
540
560
549
542
547
548
572
569
569
540
582
539
572
564
541
560
573
545
553
607
544
571
532
570
560
604
591
537
609
550
557
507
553
515
587
558
617
582
581
580
532
574
579
577
536
532
536
610
551
559
556
576
545
547
578
592
603
580
560
574
542
557
568
585
530
584
568
586
548
551
580
573
580
567
513
551
551
532
519
598
549
563
508
541
543
569
584
569
552
564
592
616
572
517
548
582
556
555
549
579
586
561
554
603
516
534
548
566
549
548
537
571
588
566
534
564
575
551
557
531
579
558
647
533
571
537
585
523
521
568
525
585
557
558
603
549
609
513
572
605
556
537
558
548
561
575
565
534
608
565
552
555
553
598
558
569
591
583
587
548
590
540
577
580
571
569
595
550
574
595
568
587
557
576
575
564
554
584
548
592
519
563
587
540
549
610
568
542
550
516
558
565
542
522
553
591
550
606
554
573
560
565
574
562
554
539
538
564
554
573
567
547
539
564
546
580
521
561
551
552
525
522
580
561
601
564
595
557
544
515
556
598
589
553
574
599
593
568
512
570
545
585
571
556
575
534
600
553
562
557
561
579
546
578
532
565
546
577
523
518
552
571
570
534
564
573
563
565
611
549
548
570
583
610
553
549
586
563
584
575
570
592
559
573
561
568
553
566
545
629
565
567
605
579
566
587
556
585
527
579
567
569
571
563
554
526
551
552
576
545
588
576
533
591
540
567
600
544
548
564
575
545
583
551
560
518
547
565
560
566
587
583
551
589
583
551
583
559
551
616
560
597
580
575
519
556
543
521
553
562
548
576
554
592
538
593
572
597
546
579
557
596
533
554
617
572
569
568
616
553
610
567
555
569
578
565
554
548
542
571
578
553
581
582
534
527
530
579
558
569
577
568
531
555
597
533
546
580
537
544
587
532
548
525
560
596
565
572
587
536
510
526
560
572
543
516
584
571
582
589
565
598
550
547
571
558
620
544
603
592
571
563
556
542
574
558
584
581
562
550
552
518
578
594
597
546
555
570
544
539
593
591
583
549
527
522
527
552
600
556
574
548
599
558
567
574
568
572
536
579
588
556
552
591
565
537
583
594
545
514
571
575
555
577
557
595
571
540
553
569
614
567
568
573
579
546
582
517
532
605
578
544
566
547
600
553
597
580
554
602
541
594
599
531
580
547
584
519
594
566
516
598
579
550
558
566
582
585
579
557
559
594
566
595
570
526
575
566
548
557
588
589
542
568
554
586
585
563
585
549
587
543
506
538
535
549
551
563
554
553
561
570
590
598
576
588
607
581
533
570
568
538
582
554
524
537
586
519
590
579
568
608
565
616
536
566
547
525
552
602
584
585
569
514
576
540
541
608
576
558
585
580
562
565
579
512
564
621
544
538
583
589
568
565
585
546
528
548
515
585
535
579
583
535
566
579
577
534
595
605
581
580
555
545
580
560
556
555
569
595
549
547
565
567
573
569
546
534
573
572
575
593
550
559
560
593
569
558
589
529
574
589
573
543
511
591
596
520
543
568
612
547
600
508
557
558
585
594
554
528
569
611
577
531
575
538
551
573
549
549
577
576
574
548
529
561
604
559
559
611
549
540
598
560
607
557
569
532
573
519
548
564
566
546
548
559
569
544
586
574
554
580
592
558
571
576
558
620
544
587
557
529
557
589
562
540
598
554
566
623
526
589
617
598
559
590
544
584
523
551
549
600
577
557
607
561
555
538
558
568
566
597
586
588
593
560
554
571
618
546
566
595
564
611
539
589
560
552
582
584
566
585
501
609
559
564
554
591
528
573
574
574
574
556
585
560
579
549
532
544
522
550
568
576
577
531
573
537
564
565
582
568
611
577
553
562
524
536
582
530
555
562
587
579
569
595
552
619
579
561
560
550
580
581
555
583
579
566
555
510
573
595
578
563
583
610
578
539
549
577
515
565
584
613
579
555
560
574
575
547
534
572
535
577
597
562
563
578
593
575
593
567
584
572
570
548
620
563
492
548
527
624
613
544
573
546
508
592
561
604
565
556
585
612
542
542
576
546
548
520
617
555
553
541
544
573
573
528
598
595
577
535
547
547
570
610
541
620
528
579
564
541
580
522
568
549
567
537
602
540
511
555
535
556
534
530
558
561
549
574
546
567
572
576
492
585
581
551
545
577
548
545
592
557
513
557
533
546
553
536
534
569
567
538
629
558
524
540
587
545
570
546
540
571
559
545
568
534
492
583
545
582
566
569
530
553
553
595
564
560
569
550
553
592
562
560
592
561
570
540
552
565
549
574
565
611
553
580
598
594
559
562
531
548
602
581
549
606
547
528
552
558
610
541
527
584
569
601
567
561
565
571
538
564
572
532
523
604
602
538
541
542
528
536
568
551
609
563
569
545
579
562
550
580
589
553
604
555
561
535
529
606
557
575
533
613
548
567
550
561
592
573
552
567
550
575
566
588
529
534
583
543
564
558
574
546
583
549
577
548
560
576
597
555
545
598
554
546
578
563
566
580
604
580
567
560
576
551
589
549
558
608
585
568
520
588
605
563
568
578
553
588
579
583
538
580
570
538
596
549
528
583
557
563
539
563
582
554
604
557
566
578
547
616
569
580
546
566
585
573
568
587
602
575
562
533
569
590
556
613
549
582
547
581
572
538
553
476
557
580
578
532
552
580
567
554
535
558
560
549
582
590
560
597
562
570
551
581
570
552
551
545
601
578
575
565
582
599
541
533
593
543
558
559
541
574
553
613
596
597
585
568
561
588
610
587
589
598
581
570
596
554
586
506
546
534
549
564
562
517
574
550
562
560
603
559
565
544
573
562
559
565
591
579
579
605
568
564
567
581
524
556
543
595
603
524
568
541
585
577
585
578
523
580
542
583
585
592
503
588
617
563
571
527
592
597
585
609
587
519
594
521
544
528
551
598
576
545
563
578
589
528
549
538
586
585
576
600
594
573
571
597
574
581
558
539
598
567
577
546
590
592
577
553
575
607
599
538
601
599
584
566
570
583
592
572
557
558
546
537
567
589
598
547
541
544
519
606
591
576
585
598
560
570
605
592
552
568
586
546
586
602
579
570
565
585
580
541
589
611
603
542
553
574
563
544
581
566
588
587
563
590
562
560
581
592
551
588
546
541
554
577
591
556
606
546
545
575
569
544
558
568
573
609
562
557
548
573
574
577
563
602
567
582
598
569
612
579
590
575
568
569
619
550
577
518
588
549
591
575
564
567
580
521
523
566
583
575
602
566
567
578
632
559
546
539
578
544
551
546
582
569
558
602
553
539
637
568
619
580
579
555
610
553
601
626
596
590
586
557
579
578
580
583
568
570
574
548
613
557
543
618
586
557
583
584
599
565
586
612
566
590
564
546
599
532
609
573
572
592
556
567
543
554
510
573
553
578
563
596
560
612
571
579
583
559
594
577
586
579
589
553
607
555
570
563
581
554
572
521
581
542
595
579
575
559
539
575
571
519
568
588
562
576
596
620
530
584
575
539
582
517
588
512
552
569
589
561
565
594
570
560
568
558
563
636
576
542
554
551
577
540
581
538
582
528
577
562
578
554
592
606
546
532
551
529
583
575
586
561
576
554
578
571
536
591
599
603
579
548
602
577
572
590
551
568
576
568
550
580
561
539
550
576
554
573
595
596
567
582
574
581
578
541
620
580
538
530
522
566
596
536
585
597
573
592
600
604
558
546
571
595
599
567
570
578
570
581
546
574
595
564
557
563
547
552
569
547
545
580
529
583
568
576
611
542
579
575
578
555
594
568
547
527
570
575
605
587
584
559
561
521
564
590
582
559
551
601
557
584
560
556
553
603
569
564
595
576
605
547
568
607
609
591
593
588
556
559
581
603
572
608
583
603
540
565
563
595
582
546
586
686
580
581
608
556
567
596
596
579
564
590
528
535
511
565
557
583
542
549
591
601
586
598
573
564
553
591
581
549
541
562
559
565
568
614
597
521
534
544
546
578
597
548
540
579
579
567
518
573
585
584
547
546
529
554
590
608
583
569
583
568
572
575
576
594
541
561
565
572
544
589
580
602
529
566
560
574
608
580
551
521
613
572
530
584
558
573
562
605
598
542
556
564
540
544
580
570
613
592
601
567
601
551
570
549
555
581
550
544
519
558
594
555
591
593
557
565
544
600
612
578
570
604
551
532
542
569
546
537
578
577
568
552
602
576
594
561
566
568
567
582
583
536
576
576
586
593
557
587
550
559
597
586
545
594
573
608
605
570
591
560
578
589
563
598
552
556
564
564
594
542
547
563
557
575
550
583
531
553
560
570
601
596
563
545
562
578
528
562
580
553
596
574
537
592
562
589
560
550
554
611
526
567
596
582
569
566
595
585
587
575
574
621
548
562
557
556
618
549
561
561
599
596
592
577
603
557
599
540
563
604
587
550
549
582
568
540
565
579
541
587
575
590
578
601
584
592
558
533
555
549
580
545
604
581
601
543
562
601
539
545
566
566
572
549
611
567
598
533
577
577
618
572
532
568
545
594
563
578
568
560
543
571
534
550
550
599
584
579
567
546
543
597
532
605
559
558
580
558
589
535
541
582
578
568
597
537
541
552
572
554
562
571
519
593
588
576
557
568
549
553
583
580
575
608
577
572
533
546
592
539
559
630
570
605
585
535
552
572
569
587
553
567
568
568
553
603
535
573
560
538
540
571
580
601
598
607
538
570
547
571
568
555
529
571
582
558
598
556
560
625
571
544
617
625
559
580
535
586
545
561
571
575
592
593
582
560
596
559
594
558
586
531
526
580
564
563
552
596
529
589
552
575
598
572
572
595
574
515
551
626
540
630
543
595
588
574
600
568
556
597
594
597
514
599
577
634
563
578
591
551
583
587
520
537
604
572
538
590
574
544
548
551
564
542
551
564
614
570
576
564
667
563
592
600
542
573
537
578
589
550
597
543
556
581
578
595
569
577
644
579
551
585
570
560
567
561
594
588
579
600
607
556
547
557
568
566
600
544
601
573
606
529
593
597
594
554
539
597
524
578
569
559
562
556
584
505
566
574
618
606
591
605
581
601
568
556
550
567
588
582
557
563
563
555
559
616
559
581
583
558
564
551
598
573
544
566
538
587
551
583
568
568
604
594
566
586
580
541
583
586
603
553
553
552
543
552
566
578
609
555
562
616
550
578
570
568
569
553
615
591
555
553
602
591
602
607
532
631
569
561
546
597
611
589
554
582
582
553
552
552
531
535
575
573
550
609
568
598
532
571
562
552
588
544
588
577
537
576
584
565
574
607
573
588
588
592
559
595
564
564
523
604
580
590
560
595
539
560
568
539
602
595
582
615
577
558
583
568
534
604
596
580
551
532
561
549
571
589
604
602
587
559
542
548
604
607
544
577
601
562
595
548
539
563
531
581
581
588
550
616
579
589
607
544
576
597
591
579
546
582
593
592
586
615
562
585
560
547
596
578
571
539
564
604
529
545
583
557
595
571
548
586
564
556
492
569
583
579
591
574
543
582
530
546
596
600
599
549
783
593
565
540
608
558
601
575
568
566
608
585
604
603
568
563
598
583
576
631
590
617
570
548
576
581
561
564
608
550
553
620
541
570
570
600
625
583
563
626
552
581
574
581
565
600
604
599
578
580
573
532
591
616
532
599
581
580
548
588
583
583
569
598
574
612
639
603
536
593
568
580
511
583
594
563
562
568
530
533
594
586
569
551
599
575
611
557
584
568
569
587
535
574
600
598
594
578
554
607
560
577
574
574
582
567
559
592
622
608
549
584
576
559
611
543
572
616
601
572
582
576
597
562
580
615
578
558
580
618
534
605
612
569
544
563
573
572
566
576
598
571
596
513
589
580
586
588
564
593
603
581
555
592
549
610
580
582
587
563
600
570
598
588
605
550
565
558
592
600
552
591
610
533
553
580
581
546
572
566
582
575
567
561
606
543
552
563
585
582
589
572
582
547
584
566
588
588
576
560
600
584
575
597
583
587
557
569
571
568
571
549
559
573
568
583
527
561
587
570
516
577
566
583
559
586
570
599
562
559
573
582
607
617
599
557
565
566
558
571
563
608
508
551
559
570
573
589
563
580
564
579
590
602
551
586
563
558
561
598
591
559
581
541
617
603
616
558
575
560
581
605
566
574
572
553
593
645
645
540
556
578
564
573
589
594
584
569
530
561
565
577
574
559
594
555
580
566
559
550
589
579
536
563
556
565
589
557
592
584
552
590
568
594
557
540
592
558
569
591
544
571
612
528
572
598
598
569
562
637
604
568
538
586
586
562
558
595
573
582
591
563
556
574
610
521
563
602
594
568
580
537
583
548
582
549
567
585
603
577
582
536
545
585
594
541
564
547
567
562
593
548
609
531
577
562
525
581
581
574
542
597
556
556
588
589
570
585
551
586
568
586
602
573
509
606
519
607
608
567
559
610
578
601
564
550
595
545
580
578
571
614
576
586
618
578
609
606
598
570
564
565
563
573
534
573
572
570
596
570
575
591
596
546
563
587
577
531
579
589
585
571
579
566
609
533
576
540
599
544
579
560
601
627
592
589
566
569
571
557
562
567
582
614
606
557
581
546
569
618
552
597
563
577
547
551
608
602
547
589
594
537
542
602
577
569
582
590
565
527
574
583
581
566
537
567
585
566
584
587
606
581
613
561
563
601
557
610
594
559
544
559
608
530
595
557
620
610
584
560
575
569
537
532
578
536
582
595
588
547
554
563
533
600
569
583
552
608
562
589
540
567
570
615
560
551
586
563
536
548
585
532
537
565
561
563
577
581
553
569
577
561
605
568
561
553
594
550
571
586
591
563
601
587
556
603
571
582
565
578
621
560
576
574
579
548
590
580
550
612
563
585
615
596
548
563
585
593
559
546
543
650
547
537
594
571
610
571
588
570
578
592
556
575
569
613
568
556
590
604
557
576
534
594
578
590
634
540
574
584
548
580
621
537
583
575
559
588
564
627
561
564
585
602
550
579
584
593
599
529
566
580
547
613
566
540
604
648
553
590
593
576
612
554
593
541
579
546
564
557
555
580
591
609
594
583
565
545
586
571
599
538
560
552
573
574
601
587
567
560
581
576
606
566
608
573
561
606
587
579
619
546
589
598
553
581
601
569
547
595
576
574
594
573
595
582
592
582
563
592
565
565
545
585
614
623
555
591
568
570
566
620
576
578
564
578
583
604
546
602
604
594
582
581
546
541
567
584
622
589
538
571
571
565
555
562
563
596
583
589
607
552
578
566
549
536
580
591
556
560
612
506
536
592
582
558
578
638
578
571
572
563
564
579
548
585
581
535
569
600
557
536
572
562
577
587
608
566
586
563
567
624
618
623
608
592
570
564
572
605
596
536
587
600
572
610
651
596
563
587
599
591
576
577
602
561
570
618
564
594
605
588
609
610
585
599
571
557
547
580
584
579
614
585
592
544
619
531
615
561
567
598
575
560
569
569
599
563
580
589
622
600
554
604
577
574
578
576
589
555
547
619
581
563
579
569
578
583
584
585
546
594
647
579
580
595
558
572
557
549
571
544
564
610
540
711
551
602
599
565
634
584
589
590
571
571
549
577
612
567
654
605
576
606
566
578
561
588
564
597
542
560
598
587
574
618
584
576
530
601
569
549
570
598
571
537
557
607
610
577
566
574
596
616
553
551
592
599
575
597
589
591
529
586
546
552
584
614
599
548
561
566
545
622
576
578
581
593
590
574
565
565
569
569
551
586
589
574
570
556
571
566
598
554
576
590
600
573
614
625
603
578
597
561
554
589
571
563
559
585
557
568
580
580
583
575
505
576
547
585
589
564
614
604
574
547
594
595
593
562
582
628
589
612
577
569
527
551
569
588
553
559
594
583
591
564
602
592
596
604
565
608
599
593
564
585
584
595
587
584
609
538
605
538
535
555
555
571
611
575
590
596
580
615
573
581
591
570
550
612
544
586
586
623
523
554
586
577
552
563
593
636
602
545
584
582
571
589
576
568
603
572
565
522
560
583
593
569
573
603
542
555
591
541
562
553
543
589
549
618
577
556
602
595
577
589
563
521
585
566
606
559
607
600
529
556
587
604
587
613
557
576
643
619
556
569
581
580
577
603
598
540
565
580
597
602
609
604
568
563
587
594
607
641
582
590
536
538
578
554
574
588
542
588
555
631
589
574
587
584
570
587
568
549
566
568
586
572
558
551
567
583
584
610
578
536
567
595
582
602
557
559
584
573
596
586
586
600
560
553
584
586
538
588
599
625
617
598
642
549
584
602
595
564
561
555
523
590
584
575
606
545
591
541
594
639
540
544
590
574
592
556
581
541
566
561
591
629
610
610
576
610
602
581
571
608
587
589
570
539
588
581
596
581
577
580
545
581
586
553
543
571
544
584
575
606
578
579
607
574
581
558
600
603
568
588
552
575
594
618
593
567
547
562
588
597
576
614
551
542
553
557
599
533
573
601
595
577
606
591
575
645
586
606
582
588
561
590
604
575
564
597
607
608
550
587
581
620
551
570
611
555
566
571
558
588
560
570
570
568
529
595
618
587
587
594
601
580
564
594
585
603
553
554
569
563
561
580
607
595
567
548
574
527
552
594
599
564
588
599
641
580
616
585
597
602
575
574
562
565
571
554
551
593
576
544
604
616
594
612
593
598
605
592
600
615
568
588
570
544
603
614
578
586
542
575
547
602
614
610
595
577
565
601
604
587
505
646
555
549
599
561
531
583
583
597
579
604
600
570
561
615
604
568
585
588
539
606
580
539
572
578
577
579
554
546
570
552
608
597
618
588
547
585
627
597
573
578
579
603
538
560
520
597
550
567
585
582
551
594
629
579
570
542
598
574
602
578
615
546
590
586
609
589
592
598
591
596
575
561
555
593
572
573
576
564
613
595
553
591
598
597
590
615
582
598
580
632
541
562
590
597
593
569
590
533
560
558
568
579
560
577
612
617
572
594
561
561
587
608
536
600
583
586
570
580
550
581
614
574
612
584
572
526
542
616
554
561
511
595
613
626
580
549
580
577
584
521
557
589
563
575
585
582
608
605
603
565
606
590
598
615
615
576
570
563
558
537
627
606
569
587
569
603
547
604
617
590
573
559
599
579
584
585
584
573
593
576
593
566
572
611
639
569
585
582
619
595
600
586
579
586
578
588
575
595
580
586
578
573
564
624
586
549
564
510
585
599
575
558
600
550
568
548
589
561
594
588
549
573
534
585
589
629
628
594
593
550
548
587
543
571
597
577
594
544
566
549
598
579
555
621
583
584
618
541
548
578
583
611
573
604
594
566
593
586
579
590
619
608
612
558
574
566
547
580
601
589
539
583
593
603
566
542
601
575
622
547
610
553
586
591
569
600
606
571
548
591
567
577
551
568
570
584
583
595
583
583
606
535
624
619
527
618
591
606
582
590
565
573
564
597
567
583
581
582
583
606
612
567
604
599
606
542
557
563
593
517
569
570
555
643
585
528
568
590
601
571
591
583
597
569
596
596
586
583
575
582
615
783
559
572
584
578
570
517
603
506
570
599
575
599
601
593
529
564
583
586
558
581
596
600
556
638
605
597
578
580
618
580
567
598
607
599
591
566
584
525
589
551
602
549
575
601
583
587
555
575
550
599
585
588
550
582
584
612
577
532
573
555
581
578
552
591
606
551
548
566
575
596
566
607
577
601
607
598
610
611
569
587
592
579
611
585
556
572
584
625
602
555
581
534
568
611
550
610
590
579
589
587
526
558
573
577
569
590
599
555
620
568
592
592
567
577
583
582
575
618
594
574
547
597
566
583
588
544
632
598
623
594
599
548
622
585
556
577
562
581
535
605
578
518
543
608
577
599
594
553
588
576
593
651
583
569
545
623
585
605
587
555
586
653
568
625
618
561
562
569
613
585
616
594
610
569
582
606
586
604
541
611
555
561
567
615
568
584
570
549
584
575
580
568
588
585
573
556
585
598
620
590
598
556
569
562
586
637
572
543
576
624
560
574
583
580
588
544
575
548
556
583
602
583
594
604
566
608
536
572
591
556
579
528
637
561
638
557
579
607
586
549
631
595
579
612
568
600
584
579
613
594
626
577
607
566
551
599
598
549
584
571
575
598
592
569
571
557
585
573
620
588
546
586
589
559
612
618
599
573
617
578
591
617
581
587
552
606
620
608
569
603
597
594
557
528
574
548
604
629
557
583
622
605
570
561
568
598
552
551
582
590
562
623
577
551
543
598
599
585
606
639
593
563
562
568
573
586
626
546
575
588
568
599
554
583
583
537
577
577
593
597
553
557
581
563
582
570
602
589
590
548
563
536
563
580
596
584
583
630
566
609
587
644
576
578
581
583
577
623
601
543
567
571
553
565
600
588
603
600
578
577
557
620
555
603
598
581
560
563
577
540
594
605
627
584
593
562
585
564
580
568
562
585
625
593
628
606
571
588
588
576
609
596
532
610
575
552
589
589
601
555
578
586
575
553
556
562
596
562
586
573
586
555
570
586
552
530
586
565
566
604
596
599
585
595
573
626
588
570
557
584
592
616
559
607
570
587
594
529
548
614
554
607
538
566
596
595
580
595
611
608
587
578
546
617
624
552
578
574
612
564
568
597
593
585
538
594
573
591
607
584
590
590
576
584
750
552
583
593
596
553
592
588
571
620
593
586
608
561
573
610
619
545
588
573
581
599
590
652
606
572
591
586
513
596
546
535
588
587
565
615
609
544
572
591
587
585
594
603
615
561
612
587
569
511
572
605
552
631
567
577
586
617
566
598
593
593
586
586
557
575
556
568
589
589
590
630
563
561
572
599
547
546
570
556
545
610
604
587
580
619
584
613
591
556
568
573
576
568
592
546
621
618
610
594
551
586
557
574
576
607
550
572
585
573
586
563
618
621
552
614
583
592
631
559
549
591
599
575
562
586
593
608
570
568
558
570
565
552
601
590
614
599
590
580
570
591
599
519
600
571
598
587
577
608
602
562
584
601
604
600
527
598
578
611
610
550
558
547
593
596
567
555
622
575
610
595
549
557
594
591
583
594
587
578
568
581
576
567
525
596
587
586
567
565
550
551
561
641
576
565
593
611
554
584
593
566
562
559
581
552
579
542
586
581
588
586
567
576
610
584
583
583
590
566
575
579
632
574
596
580
564
605
506
548
593
604
582
582
558
565
550
582
560
584
580
588
620
578
556
606
569
604
612
601
617
582
578
552
566
569
614
562
540
609
605
620
595
592
541
599
576
590
585
617
567
599
594
567
580
583
604
579
562
578
609
601
566
579
591
579
591
570
588
582
563
609
602
616
604
592
563
593
588
593
561
571
560
562
581
593
576
630
562
569
587
579
571
635
587
603
593
583
585
588
603
597
604
581
609
604
576
575
554
626
602
600
583
585
617
592
559
587
572
633
570
578
560
580
587
589
643
592
599
637
612
569
580
576
586
637
576
568
597
587
567
561
562
585
606
597
598
600
586
611
599
571
632
610
545
546
578
584
601
602
609
599
575
614
586
603
602
620
607
590
605
580
559
563
568
576
593
590
524
560
613
578
580
573
543
580
558
564
617
619
618
568
610
605
578
587
581
554
702
584
645
560
587
544
551
587
637
562
549
598
585
592
615
641
552
600
609
618
601
566
596
600
620
573
571
594
576
576
606
591
589
550
580
579
576
615
597
595
570
616
546
568
584
534
552
598
596
571
575
646
607
612
575
576
561
655
590
553
580
613
622
528
594
568
600
594
577
615
599
564
567
605
577
590
569
560
563
585
632
609
602
619
548
572
561
579
569
568
600
571
612
584
600
567
586
629
583
594
550
600
580
540
581
603
581
631
587
604
595
560
570
535
615
635
619
530
580
582
607
585
588
567
596
609
570
583
584
557
598
580
605
593
584
600
595
558
516
644
594
582
607
607
557
623
579
571
565
563
630
579
566
608
586
584
605
603
592
532
604
600
534
636
610
595
561
572
586
585
576
589
620
578
560
571
591
618
631
608
634
560
629
615
581
571
613
609
603
643
610
594
578
604
556
605
558
562
564
569
619
576
549
610
577
593
552
603
573
557
588
601
577
544
589
618
620
557
572
601
599
615
629
576
604
574
586
504
582
580
559
561
567
577
563
575
529
632
607
560
578
548
574
600
536
635
612
580
598
533
582
609
578
619
595
599
575
546
577
616
573
575
572
573
593
600
552
637
601
584
662
578
540
596
576
606
615
620
570
594
561
579
577
579
593
629
598
608
587
619
573
575
562
628
552
611
599
593
573
569
563
613
597
598
597
610
592
565
564
597
564
578
552
572
590
580
578
575
550
551
622
632
604
573
544
617
562
613
594
567
494
581
596
597
614
614
603
569
601
567
564
553
590
590
603
555
572
591
589
558
608
576
569
570
553
563
600
600
598
632
584
590
567
611
616
604
597
562
547
580
616
578
576
602
583
532
627
569
581
586
591
562
570
557
573
606
616
582
541
622
575
591
559
582
589
596
585
568
590
580
551
569
603
586
578
604
574
596
597
591
647
569
615
580
624
577
550
602
572
575
620
586
563
544
558
561
590
558
588
610
566
560
559
601
606
572
617
576
579
568
603
561
585
608
581
546
590
568
602
608
569
591
547
566
620
607
572
569
573
599
561
615
610
552
604
574
575
562
628
558
610
585
592
625
616
602
619
576
573
593
542
593
579
592
599
598
624
601
578
581
578
565
630
580
622
598
583
584
599
567
562
548
552
598
601
589
584
590
601
577
619
593
590
567
629
557
576
566
550
589
591
612
537
541
592
589
538
619
549
576
583
553
586
593
595
596
559
567
582
590
568
626
585
582
600
588
569
593
597
604
600
590
602
616
521
543
581
644
600
566
606
601
605
596
609
547
619
569
581
605
616
604
616
570
559
571
598
556
551
556
573
565
608
526
598
603
607
607
598
609
550
615
615
582
589
609
571
560
576
567
588
597
601
596
546
587
622
606
591
591
588
578
609
565
555
590
603
577
534
557
624
660
644
590
609
554
593
581
616
600
548
558
578
579
613
590
589
574
579
588
604
578
593
577
571
540
576
564
645
604
563
566
593
593
620
559
581
565
574
629
600
580
598
626
580
597
612
629
586
586
583
570
571
562
626
592
586
594
600
625
581
598
558
562
562
564
596
559
582
589
592
600
557
547
556
600
620
647
626
596
582
602
564
604
599
612
608
555
602
576
534
571
576
597
545
619
573
620
586
572
589
584
620
561
524
579
566
607
611
599
579
625
636
635
577
602
597
579
575
570
600
602
607
584
529
569
594
555
595
606
558
583
587
604
556
574
560
567
580
620
598
644
555
575
589
565
612
596
600
568
605
608
572
577
616
590
596
589
582
605
556
559
600
614
559
570
557
568
582
644
585
580
558
597
634
619
616
557
600
607
558
615
604
544
576
594
595
579
597
564
575
590
583
570
634
617
622
602
589
555
578
620
571
590
586
602
581
589
545
615
620
582
580
580
526
606
623
623
594
564
587
611
593
600
586
602
612
561
544
591
655
579
562
594
625
576
574
614
595
615
568
579
598
595
578
598
548
562
601
574
590
572
622
580
588
587
625
603
568
607
602
535
587
551
617
572
591
632
588
611
579
559
603
548
559
591
510
589
592
575
602
564
545
596
632
545
578
612
583
636
572
578
592
539
553
604
587
590
690
620
554
551
613
601
556
590
588
569
546
559
613
615
606
605
582
582
548
613
583
553
585
589
630
580
580
575
583
592
595
558
555
605
585
587
588
584
578
577
620
595
626
648
620
599
568
607
578
586
622
591
545
615
583
632
588
608
539
586
588
609
597
629
613
644
601
614
599
574
613
618
564
542
598
602
592
620
611
582
614
571
567
618
588
629
558
614
587
591
570
595
574
615
618
567
553
611
599
603
571
581
597
553
591
585
594
622
634
572
597
559
589
607
595
615
585
621
605
601
559
596
632
577
602
549
608
612
585
621
580
603
618
588
584
578
596
565
596
616
601
568
565
564
587
586
615
626
606
559
571
617
600
582
571
650
624
578
591
578
553
607
599
623
608
587
616
592
589
635
605
630
604
598
572
590
597
563
596
585
579
602
572
616
588
575
606
575
582
636
572
592
529
593
599
624
620
616
585
605
611
608
584
635
633
572
586
589
584
580
585
630
624
558
569
586
579
588
579
635
599
580
626
572
588
615
553
527
593
578
611
571
642
595
581
617
569
590
601
590
569
592
592
613
606
606
552
610
620
583
600
604
580
645
613
610
570
608
600
599
591
569
606
600
587
579
552
576
613
587
606
571
553
647
609
595
597
586
556
600
599
564
600
597
595
610
567
588
544
593
578
600
608
558
592
582
592
613
617
546
598
603
582
572
564
613
585
604
611
565
584
568
604
556
610
579
595
620
594
613
672
588
640
600
600
583
588
607
582
592
599
562
540
529
568
576
587
607
607
602
598
583
580
578
607
583
554
560
598
571
594
595
608
579
583
612
614
594
582
563
567
582
575
593
634
572
581
576
585
580
578
579
578
614
578
613
598
626
596
579
603
548
591
548
551
598
591
601
583
597
569
594
599
621
560
623
635
586
593
600
564
630
575
628
582
601
630
538
620
608
591
600
560
598
561
635
629
589
588
558
585
657
617
622
581
595
650
582
612
614
574
591
602
614
541
574
572
608
539
578
608
641
563
587
594
628
586
635
648
637
593
547
578
617
598
594
601
620
574
585
585
625
606
558
649
602
554
626
638
629
600
585
637
565
624
614
588
634
589
565
601
579
616
534
629
582
585
629
624
637
592
610
576
602
589
623
542
624
614
571
616
564
595
604
605
559
547
604
565
541
607
609
578
602
547
600
617
602
590
566
577
578
562
578
575
598
556
616
600
561
631
609
556
588
572
598
556
602
618
597
643
590
601
607
581
591
557
558
601
579
603
619
642
616
602
599
576
583
571
551
587
596
627
615
612
591
610
606
618
564
638
599
590
569
556
577
585
590
601
578
598
576
586
566
578
593
629
607
581
565
585
540
571
626
606
571
587
595
589
595
615
561
608
551
609
613
617
614
591
609
612
523
602
597
603
638
562
584
594
607
609
570
581
604
579
576
582
610
590
642
604
550
585
588
587
606
579
560
582
583
588
578
582
600
575
637
550
583
567
620
593
567
571
592
584
538
586
581
578
613
604
543
625
578
577
611
635
591
557
615
555
597
578
567
576
589
558
559
563
607
577
638
572
609
563
592
614
583
593
583
608
560
589
595
611
607
559
579
594
571
625
604
610
568
561
601
592
588
605
564
621
575
571
582
572
592
572
594
574
596
551
549
586
537
609
560
597
629
622
639
580
616
596
619
613
589
584
587
629
634
629
580
547
609
568
569
623
746
576
585
642
622
621
577
567
609
602
564
584
546
570
597
585
619
567
595
570
598
556
575
597
639
582
604
581
544
597
585
545
596
627
605
592
607
619
590
580
572
633
611
583
620
644
568
567
593
611
623
609
566
637
575
575
621
587
554
565
615
599
562
633
633
604
578
589
637
594
548
591
602
577
571
636
584
599
607
547
600
582
597
577
630
585
582
569
599
580
607
576
574
603
546
611
561
572
583
618
577
558
617
561
558
601
590
561
580
627
632
613
569
634
600
610
587
598
547
607
571
602
576
551
598
567
564
642
595
619
611
621
599
600
574
576
638
555
608
607
555
583
571
609
552
585
581
584
607
601
532
574
567
558
610
606
571
618
566
571
581
609
631
620
576
600
516
558
624
592
570
581
644
594
634
620
637
564
579
606
630
554
622
610
600
617
590
586
594
603
569
596
592
570
552
595
617
581
577
586
611
552
578
569
602
627
593
585
610
587
601
570
565
611
591
551
594
602
560
627
570
628
555
589
583
604
614
620
598
616
635
575
572
592
601
591
554
569
574
636
575
576
573
586
611
614
614
557
579
642
573
591
599
587
614
613
576
619
596
611
592
635
568
596
597
547
605
590
587
574
589
579
550
586
606
605
634
608
576
603
563
609
649
592
614
606
625
614
602
605
584
583
603
591
583
615
595
586
608
614
585
598
568
609
587
607
606
611
636
590
601
553
576
588
576
595
603
590
594
631
627
614
583
594
586
620
605
545
592
588
568
629
542
597
613
576
586
594
575
600
608
619
608
621
644
552
606
609
563
553
649
560
642
619
588
644
598
589
589
577
589
622
642
590
604
574
599
589
636
642
581
613
613
609
568
603
613
606
618
594
621
626
594
616
614
612
607
584
615
566
620
582
589
579
621
607
612
620
608
570
611
617
621
556
586
644
588
608
574
608
578
584
625
621
624
586
540
627
625
589
610
585
594
615
634
643
590
594
582
589
575
583
577
601
608
631
575
600
621
622
630
599
608
586
602
585
620
569
628
643
582
582
590
621
571
621
626
598
626
631
616
587
596
558
564
574
615
566
598
599
622
586
624
594
576
569
629
607
607
625
609
541
591
587
571
580
574
576
594
608
577
570
594
597
595
625
588
606
588
556
594
603
597
592
595
605
620
597
614
585
617
596
603
651
615
622
641
613
620
608
628
624
639
579
557
610
564
572
584
570
615
569
624
605
580
602
599
622
627
588
589
594
576
600
617
635
577
626
614
596
580
571
585
642
588
622
594
597
629
646
596
601
588
651
562
614
607
594
631
616
574
606
633
604
635
624
597
614
603
608
601
612
547
559
629
571
578
576
612
583
601
563
590
606
567
635
635
626
596
579
582
610
583
621
616
597
569
620
574
591
602
593
571
602
583
581
563
596
551
621
594
615
626
613
582
606
588
573
615
617
620
582
611
629
593
629
597
584
573
623
611
617
619
611
579
591
627
557
637
579
579
635
616
613
591
592
614
592
587
562
601
595
582
632
605
615
596
555
611
616
590
622
632
602
587
577
579
621
607
618
580
552
579
569
611
600
600
570
572
601
592
607
600
575
592
588
618
617
605
616
605
535
595
604
614
571
571
578
563
605
610
599
582
627
640
623
591
586
595
555
603
600
615
609
607
606
618
618
569
600
560
603
585
630
590
565
595
607
587
584
576
627
579
581
590
613
592
597
586
632
627
580
599
588
636
553
604
590
603
584
582
558
601
577
576
548
599
629
604
602
585
624
603
571
611
614
594
598
582
638
546
569
575
606
578
595
611
552
586
602
593
584
596
604
597
581
617
578
599
604
624
566
566
593
676
613
616
588
604
624
632
584
570
596
616
578
603
662
648
529
577
582
595
603
605
649
573
625
625
598
596
599
584
563
606
634
512
560
570
595
636
617
627
599
577
590
583
592
549
626
589
595
617
575
612
601
618
642
608
576
578
535
612
612
589
598
568
598
623
588
599
625
581
649
629
588
589
588
634
603
640
558
583
603
649
610
602
599
628
593
593
632
574
668
607
624
615
577
582
594
589
580
575
585
598
579
605
598
579
612
655
583
619
564
636
667
631
603
630
607
558
606
572
589
562
592
594
611
631
609
589
579
602
571
588
517
615
618
601
567
597
604
555
562
568
562
609
633
613
603
631
548
554
594
583
620
586
579
620
586
613
611
641
559
637
614
599
640
584
553
582
612
612
632
558
596
617
590
603
592
557
595
583
612
581
616
589
597
568
591
605
632
586
621
570
588
549
565
570
590
557
597
601
609
587
604
582
608
585
572
614
603
543
570
588
632
602
560
596
590
592
612
585
642
566
623
596
623
607
626
587
610
605
634
545
584
584
579
565
595
548
631
598
591
577
577
606
620
601
621
586
565
610
631
599
575
578
584
595
596
544
592
579
604
599
614
626
566
589
633
570
599
622
582
584
724
614
607
609
603
607
614
566
618
601
609
572
587
618
557
605
611
641
613
562
608
585
549
601
571
614
596
599
634
572
589
569
579
581
568
559
595
557
617
619
593
591
608
582
580
613
593
620
634
609
591
579
568
589
597
598
610
601
583
626
604
592
607
605
582
563
642
580
628
597
623
642
647
581
646
565
600
552
605
589
602
568
600
624
619
599
564
610
576
623
626
550
581
554
610
628
606
583
602
635
603
628
589
571
596
609
592
552
607
575
571
583
570
585
600
579
644
605
610
606
625
588
600
585
597
607
600
555
622
594
642
607
605
605
590
577
564
609
606
613
584
638
594
617
569
605
590
624
607
602
567
620
605
613
562
592
557
575
597
583
546
654
623
592
562
634
577
631
560
582
610
612
626
577
584
615
612
591
635
564
632
647
592
570
601
604
607
614
630
625
636
604
602
596
561
581
699
589
596
615
591
589
612
599
598
586
594
594
563
594
538
602
609
567
643
631
595
612
540
612
577
605
587
599
570
586
613
595
614
635
619
599
610
619
584
573
588
599
610
611
614
590
536
572
599
593
648
636
644
609
617
573
578
609
591
797
606
616
628
629
687
587
612
593
609
612
637
637
616
590
584
557
643
594
621
569
605
601
590
605
572
597
603
580
636
610
583
620
589
603
589
608
627
629
587
619
607
598
584
585
590
589
603
591
590
590
618
593
596
579
625
582
544
587
583
627
613
614
630
641
615
583
567
580
622
609
569
559
563
604
613
603
598
542
618
614
615
598
611
565
616
618
573
618
588
577
619
603
620
596
591
614
620
626
577
628
580
563
581
569
625
606
620
582
590
572
605
561
575
583
618
620
612
608
668
609
630
633
657
577
571
581
586
595
653
565
614
611
612
577
589
624
621
595
634
596
628
612
590
608
600
622
602
596
631
603
584
599
625
648
563
567
604
627
586
647
595
626
611
608
585
573
591
585
611
592
629
642
598
590
632
635
587
524
617
629
583
611
632
613
569
611
599
544
585
619
583
602
563
617
620
605
609
574
607
612
609
639
601
592
593
636
582
629
634
606
624
597
594
605
628
595
553
587
602
635
608
604
599
597
631
589
579
589
610
573
622
620
553
621
626
567
599
607
582
589
627
628
631
588
658
578
615
637
540
594
653
650
542
654
607
582
629
622
551
583
574
577
619
586
575
606
620
633
583
588
627
639
621
590
618
605
623
602
629
621
636
625
596
590
594
606
592
662
604
610
590
568
606
584
563
598
616
615
564
587
614
616
606
595
559
622
622
542
592
611
608
603
571
598
592
578
562
620
624
601
570
623
611
549
627
600
590
607
633
618
607
627
627
631
609
630
576
568
585
594
590
581
598
570
611
597
644
608
615
590
557
589
601
566
590
604
611
612
653
606
574
565
626
589
554
651
578
609
594
602
584
597
638
597
572
612
612
602
609
584
597
590
575
577
604
573
609
593
625
628
589
597
599
607
608
624
580
552
590
604
624
623
609
609
628
586
587
576
617
553
604
618
551
601
628
615
551
592
616
561
603
597
609
588
627
574
602
572
594
584
587
624
611
604
571
630
637
630
650
596
551
654
606
593
602
585
559
612
621
643
575
635
589
638
636
600
616
620
634
610
627
585
584
605
599
592
559
577
584
613
649
626
620
583
596
589
627
588
608
582
576
596
617
571
643
614
621
604
592
623
615
598
585
598
580
590
594
607
603
581
590
579
633
568
567
544
605
539
596
612
609
608
589
595
634
623
591
594
637
628
575
572
597
588
628
600
590
599
601
573
627
552
620
595
600
611
583
586
614
596
534
607
595
622
577
633
626
639
625
578
607
593
605
652
612
610
655
594
603
609
585
591
648
599
631
600
609
623
633
609
601
618
610
603
566
571
607
598
611
608
592
609
590
563
597
638
587
632
604
598
577
630
628
588
626
576
563
598
652
632
622
624
586
571
647
590
585
541
624
617
607
634
594
566
602
556
616
573
626
629
614
596
578
594
583
627
625
584
605
618
612
633
583
608
612
575
573
580
570
595
589
608
613
587
602
592
595
627
675
605
594
559
579
593
624
597
639
567
606
612
578
603
659
592
600
606
585
605
582
619
585
593
618
587
594
588
601
611
587
568
608
622
605
613
573
572
607
637
567
648
586
611
564
611
578
606
611
606
628
626
579
600
597
625
604
589
578
577
618
586
597
557
608
562
637
651
582
592
611
580
575
589
619
598
581
625
594
611
622
618
575
617
592
612
614
648
584
611
612
583
576
563
615
592
644
582
579
590
560
640
601
588
576
606
586
662
621
604
577
583
611
598
622
587
567
630
578
558
596
581
572
632
593
588
591
578
600
607
626
617
621
629
609
576
614
622
618
604
602
640
571
607
587
579
644
585
619
586
627
591
608
591
575
601
581
568
644
602
612
599
619
611
631
588
632
570
561
610
541
574
570
554
588
619
604
614
633
577
596
598
579
637
613
593
636
631
562
571
610
609
595
611
625
605
593
623
580
586
585
611
589
613
607
587
562
609
622
584
592
578
628
599
603
602
595
623
615
584
666
619
603
630
584
600
562
582
607
583
601
603
611
637
598
580
606
634
633
601
601
603
611
641
628
568
624
587
603
570
615
602
569
652
597
627
580
604
602
633
588
640
599
576
587
532
600
609
609
581
582
627
601
590
591
639
624
588
578
628
602
613
548
607
590
597
604
618
652
580
634
581
667
602
581
587
610
608
644
599
633
646
579
610
580
591
586
621
564
579
631
628
617
621
605
633
593
565
616
582
597
570
546
610
578
622
575
577
537
602
635
572
630
614
636
600
600
582
632
585
595
578
624
638
583
599
595
602
603
547
609
625
586
576
584
612
633
604
575
623
646
581
603
631
564
566
609
641
620
601
625
578
587
603
621
580
572
589
581
603
586
632
652
579
589
598
586
596
613
598
559
616
629
615
637
613
596
608
588
646
580
586
658
584
608
654
646
597
619
596
612
582
545
610
595
609
573
566
566
596
612
602
615
630
579
597
611
588
603
602
612
612
596
611
602
611
587
626
586
605
600
668
598
619
597
609
618
599
620
613
559
614
611
635
616
582
555
623
618
615
580
584
630
629
620
621
575
619
613
594
647
627
596
574
599
634
604
602
585
601
592
632
610
623
600
574
652
599
595
619
601
566
647
598
598
685
629
565
638
565
582
598
617
598
606
597
595
608
625
582
645
619
607
612
606
618
637
614
584
577
558
600
577
611
573
607
574
627
594
625
615
582
601
600
616
628
601
565
559
612
594
645
645
622
614
651
646
651
703
578
598
667
597
603
599
584
593
582
577
641
629
660
629
600
578
572
658
597
600
609
621
563
640
602
589
604
559
624
609
591
598
596
588
616
636
628
587
581
634
632
613
636
612
569
627
542
603
609
574
612
624
605
606
664
634
600
587
567
594
559
621
591
588
613
623
618
620
560
595
615
630
584
587
659
576
588
597
581
628
607
660
592
600
610
537
595
615
587
650
571
593
583
619
659
561
609
626
571
609
621
647
611
608
600
577
593
635
660
552
653
592
585
601
602
590
623
615
575
605
605
562
632
613
629
615
548
601
604
605
574
601
578
655
586
619
638
603
577
597
589
590
625
620
604
628
597
578
569
612
619
574
576
567
613
629
589
609
605
595
555
590
641
616
622
572
606
633
594
626
600
618
594
571
617
609
625
575
605
622
631
579
628
607
600
594
620
584
561
602
662
636
622
591
595
638
631
623
574
619
560
607
592
575
611
584
620
592
594
600
611
563
631
606
598
615
613
609
601
598
582
615
616
603
624
606
618
623
610
583
632
608
603
599
586
600
591
602
638
628
597
598
585
636
604
570
537
618
574
630
584
638
644
593
601
594
600
593
576
608
597
621
608
592
619
630
593
589
602
611
598
633
641
634
650
613
581
604
615
592
655
616
581
625
628
618
619
575
605
582
590
616
635
617
639
653
615
602
549
610
621
635
629
621
675
607
595
600
591
597
651
627
639
619
597
621
567
618
592
590
626
544
603
603
630
620
630
576
574
654
568
599
621
641
621
614
593
605
616
597
628
576
578
630
642
608
615
584
588
603
633
612
615
603
608
575
600
606
652
616
574
619
641
629
557
614
572
577
592
611
572
606
611
592
653
609
607
614
622
627
618
608
603
586
621
609
599
621
630
645
638
600
620
584
652
610
618
611
610
594
673
624
609
593
637
592
576
586
584
573
591
617
574
619
679
602
600
596
628
599
605
641
646
619
634
589
586
563
621
583
627
639
640
636
632
600
613
610
631
626
614
637
584
578
604
601
600
543
576
582
605
593
563
636
547
635
565
617
589
584
593
608
585
610
598
631
648
626
603
608
615
610
611
574
593
598
583
617
592
616
556
635
606
551
597
598
569
603
564
592
577
637
589
603
648
602
609
618
585
589
643
632
546
555
656
584
597
585
604
621
599
612
569
600
646
633
564
594
590
582
620
574
612
590
611
646
597
624
618
649
617
606
589
656
665
654
606
606
626
614
550
598
596
559
663
618
629
582
610
638
579
661
591
618
616
614
614
599
591
668
572
600
594
610
645
635
648
638
591
622
579
591
617
625
613
598
589
594
609
632
638
605
565
634
622
649
640
669
639
618
622
608
625
619
644
610
639
587
640
613
610
603
634
636
578
578
547
616
615
657
612
596
671
614
606
601
602
578
600
581
643
623
614
586
619
574
593
598
607
624
593
600
685
575
609
605
604
589
609
610
557
621
623
606
624
636
634
600
585
605
578
610
628
623
532
642
594
632
674
645
603
585
629
632
613
561
604
557
615
580
591
605
586
583
627
586
593
607
572
633
575
643
619
616
586
618
592
618
629
608
569
574
576
595
585
597
611
610
613
615
616
593
567
596
628
622
609
652
617
625
609
629
615
597
625
566
601
594
622
603
519
597
590
609
643
572
589
592
650
597
593
594
616
591
553
609
577
610
611
646
631
578
596
653
579
588
617
591
605
580
663
607
594
615
619
581
619
602
610
629
605
612
569
616
563
575
626
600
543
617
544
634
581
606
706
675
623
613
633
641
620
634
588
607
659
641
619
590
616
652
609
610
634
670
646
584
575
595
625
601
652
652
588
615
623
572
596
607
598
630
657
610
622
557
595
662
614
654
601
589
619
584
625
622
592
588
639
593
624
604
627
629
564
612
619
639
619
551
608
608
599
620
594
601
604
648
630
618
607
602
612
573
654
617
644
600
661
639
589
585
589
644
643
646
580
634
581
611
642
595
556
623
609
623
601
618
601
580
567
620
616
621
634
596
646
644
598
605
621
621
608
578
575
603
595
604
630
605
625
577
577
579
608
588
627
647
644
608
645
636
616
634
609
596
600
625
602
580
624
610
585
596
611
603
615
602
615
614
630
585
671
641
600
607
531
572
610
671
660
636
600
587
596
608
617
613
600
629
582
617
613
632
588
609
663
619
619
628
617
580
611
622
618
625
571
600
638
618
588
600
621
626
606
590
622
637
619
600
616
592
620
618
599
600
631
615
608
566
573
592
540
638
587
633
605
602
602
652
592
614
612
575
572
595
585
609
601
597
637
579
670
612
644
625
598
596
660
617
597
597
583
634
600
624
609
570
604
652
587
586
612
638
644
571
621
633
567
626
642
603
618
592
611
588
605
601
581
568
578
626
633
649
597
641
637
609
658
616
621
637
654
634
559
580
615
626
605
621
600
599
633
635
578
590
607
591
622
581
543
640
631
620
650
621
658
578
613
598
602
537
606
587
622
605
619
602
618
597
568
636
608
646
624
612
648
604
641
579
638
630
618
610
611
581
640
589
588
620
621
640
559
600
595
632
624
593
622
621
623
595
617
621
585
562
612
602
605
576
578
615
593
561
637
633
588
635
652
617
648
621
600
593
628
665
604
593
635
652
590
573
625
579
591
646
591
623
625
577
615
642
605
561
670
592
633
572
619
555
616
576
568
621
608
582
635
612
612
606
560
560
584
636
657
632
646
590
644
629
609
589
599
626
623
613
533
570
618
615
606
636
608
583
650
635
647
629
556
591
610
661
595
626
610
614
593
573
606
630
589
586
612
579
588
584
598
641
638
616
610
647
602
628
604
634
608
662
671
614
663
611
569
595
609
576
645
643
627
588
622
654
609
603
601
596
633
570
609
627
638
611
643
606
636
616
610
626
614
576
611
605
649
581
615
607
582
608
582
590
639
608
631
588
639
594
614
644
607
593
570
617
625
572
609
592
640
601
635
595
636
609
614
577
605
591
599
642
604
563
619
573
581
652
587
589
565
565
597
592
619
560
626
618
606
585
640
616
587
589
620
616
636
570
560
637
590
660
585
632
630
618
589
650
632
638
607
591
609
599
626
630
595
665
602
620
634
618
636
621
622
639
598
624
581
614
657
636
593
575
633
609
583
594
637
590
614
607
609
623
605
595
593
626
627
616
610
653
585
600
627
606
604
598
591
605
649
590
619
617
591
590
631
543
635
611
600
608
621
681
611
627
637
635
585
605
589
634
596
602
605
625
602
647
600
615
631
654
541
572
613
614
612
614
602
623
604
616
619
607
606
629
787
628
604
635
589
636
623
603
658
596
579
618
610
574
639
620
588
610
589
608
643
609
603
639
650
624
591
620
603
627
662
613
631
634
613
632
632
606
629
580
578
633
635
596
619
583
612
568
595
563
622
626
582
634
596
609
617
577
595
578
575
622
559
635
629
600
597
646
613
633
604
615
598
623
626
585
582
593
640
592
627
604
605
593
594
633
616
596
644
581
632
591
630
596
574
603
661
615
597
607
610
578
604
638
645
605
599
620
642
598
590
631
619
606
564
629
631
570
599
633
609
603
612
604
632
616
616
618
596
633
590
640
591
598
602
596
610
584
603
603
615
607
596
597
566
593
554
747
605
599
662
612
580
637
645
572
646
569
610
620
563
633
656
607
626
593
594
569
575
556
604
611
636
618
639
623
630
594
667
608
574
591
612
613
632
611
650
553
616
615
618
578
605
638
616
596
632
639
583
606
644
588
615
599
587
632
658
561
639
565
602
612
581
654
605
600
588
600
625
632
604
594
622
617
605
607
628
584
626
650
608
629
596
613
595
617
563
639
616
642
622
569
584
617
591
634
629
582
579
603
647
631
611
589
576
589
653
631
627
602
626
597
646
628
593
589
634
647
621
584
591
586
615
592
611
597
597
622
574
631
619
622
603
574
639
603
650
624
662
645
596
606
636
586
643
610
596
585
618
634
616
598
622
602
624
578
625
628
615
594
601
606
629
582
647
615
627
612
620
597
625
583
615
609
590
637
595
596
600
636
605
649
622
624
672
616
579
624
608
643
607
596
639
604
561
623
607
587
616
632
625
623
596
608
660
602
591
661
622
593
625
610
604
625
605
620
619
615
589
604
645
580
645
587
592
583
581
548
619
608
591
607
622
598
600
626
605
599
613
622
613
619
597
613
609
601
615
596
634
613
618
619
626
608
626
641
610
610
616
609
666
643
651
625
575
597
593
625
602
651
619
626
547
604
604
619
621
644
599
599
591
617
563
640
602
633
612
627
579
634
628
659
601
588
582
593
607
639
580
612
611
622
555
619
626
605
590
720
584
573
636
582
608
606
649
639
653
669
608
625
614
584
617
614
622
568
628
612
590
622
603
633
630
583
621
643
590
645
602
568
649
609
646
626
615
631
622
613
607
615
663
572
570
636
595
640
590
653
609
590
611
590
597
609
611
559
645
586
621
627
597
642
632
649
598
624
579
579
647
616
597
591
618
662
632
567
634
586
607
602
618
607
569
632
607
623
632
625
611
623
580
608
612
622
600
608
573
612
596
565
612
576
629
661
601
612
585
625
608
648
634
584
603
585
602
569
645
606
561
615
598
603
627
632
638
599
612
600
602
625
622
631
619
631
650
602
617
625
601
601
624
570
569
603
616
639
595
581
657
614
544
586
628
641
592
632
630
607
629
629
636
608
636
622
617
634
602
570
653
607
599
611
646
608
632
590
610
564
605
590
610
591
579
574
606
594
598
602
615
638
671
576
586
624
673
625
618
605
595
592
592
590
640
594
565
609
652
619
568
635
620
649
603
601
614
604
592
644
688
645
589
595
615
656
624
578
605
593
579
648
601
612
627
590
636
630
608
603
670
616
575
599
602
590
606
628
582
594
603
621
618
626
559
600
605
613
620
621
617
631
603
656
577
618
617
608
588
621
635
585
598
645
614
586
622
606
643
629
639
617
633
562
591
610
619
596
624
642
589
595
638
588
619
626
597
583
629
612
614
605
621
584
615
610
615
652
638
623
624
651
633
611
633
628
644
620
595
616
581
632
668
606
596
617
620
615
613
665
611
672
621
575
601
628
611
596
640
672
730
591
639
636
605
665
624
642
649
615
605
620
617
603
616
590
627
622
609
590
556
596
613
613
579
585
602
599
599
628
615
621
611
596
618
619
613
580
614
661
596
643
595
671
609
658
633
607
611
650
603
613
622
547
640
574
629
608
618
649
562
625
612
619
594
636
608
617
622
612
600
625
612
583
576
602
612
617
609
627
588
631
626
605
624
641
596
669
655
612
604
603
651
603
642
589
637
603
610
575
591
593
591
612
669
613
579
601
593
635
636
635
614
586
635
619
706
605
587
631
633
626
614
583
611
616
625
605
604
603
642
624
649
669
610
601
587
619
662
607
534
610
632
646
571
620
596
629
647
608
580
583
568
640
640
643
610
701
646
617
633
601
590
626
628
619
641
598
605
609
630
641
621
613
609
623
580
616
593
617
628
592
567
572
653
636
587
633
647
594
647
613
617
637
609
637
618
627
635
617
594
601
579
657
598
621
583
597
569
588
561
598
596
603
621
596
622
645
653
610
610
656
616
624
619
626
641
609
630
560
595
619
639
637
577
587
589
614
578
632
635
634
603
620
589
597
633
592
627
595
615
622
646
603
595
639
611
620
613
594
608
608
614
638
596
588
628
595
617
635
563
594
620
607
601
617
600
614
596
607
634
649
627
609
593
585
627
603
643
582
580
648
661
607
606
633
613
604
626
625
643
581
551
647
594
597
617
595
640
635
593
658
641
635
661
619
607
633
597
639
628
645
579
606
636
643
654
654
620
604
594
602
610
589
625
591
632
646
620
605
613
595
580
660
585
617
667
650
678
595
594
586
620
610
615
618
619
659
618
603
604
655
604
632
563
582
573
585
618
563
602
632
634
573
618
584
633
607
606
616
621
648
608
601
594
627
614
586
623
590
660
633
614
642
603
597
606
596
586
575
627
606
635
638
610
700
638
602
611
638
629
629
639
605
612
579
622
613
631
544
620
656
603
633
575
608
622
620
605
610
638
597
608
591
634
584
638
625
579
619
629
634
625
637
605
642
626
630
630
613
596
630
632
572
571
608
586
690
583
625
622
581
588
605
630
607
607
602
606
607
642
594
596
605
628
589
615
657
603
595
628
621
609
617
598
604
674
619
625
600
574
599
611
587
649
651
615
620
603
611
588
583
623
667
657
597
622
616
611
607
616
652
589
621
602
658
625
585
651
609
585
652
588
610
627
598
606
586
632
618
621
618
648
635
632
604
630
588
624
618
634
645
582
631
633
631
644
593
631
631
594
607
573
611
592
599
628
669
604
617
646
659
617
621
615
616
577
606
646
608
681
640
604
639
638
622
583
639
589
653
672
637
615
633
604
612
604
573
604
625
666
650
632
635
637
625
628
638
606
581
632
601
619
599
666
625
618
619
619
563
648
652
773
604
615
589
652
614
612
589
608
636
607
669
608
649
616
659
633
648
606
612
630
649
606
586
623
641
611
619
632
645
593
638
609
649
650
610
605
629
601
648
658
636
620
625
604
637
622
647
594
649
612
652
618
590
617
606
652
604
625
653
602
638
643
661
655
631
574
601
619
619
629
582
590
621
633
601
634
632
628
610
602
577
639
621
607
620
577
620
637
576
588
647
638
608
617
583
600
641
623
659
636
591
668
631
625
633
600
618
610
623
624
625
631
632
610
593
643
651
605
632
630
569
602
630
623
613
655
631
625
594
669
617
556
601
592
620
624
636
629
582
611
643
610
624
656
645
635
675
615
615
597
616
631
597
619
615
612
658
558
597
579
592
610
597
700
608
648
650
653
660
666
606
648
590
617
637
608
601
559
643
609
620
629
566
590
679
659
607
554
608
631
611
615
603
617
622
623
634
591
638
602
583
609
639
656
626
618
633
606
598
633
622
608
667
621
645
616
620
612
639
626
643
633
579
626
645
616
624
625
620
595
603
597
618
594
616
623
647
636
590
587
611
644
604
604
609
634
574
636
631
624
615
586
587
654
605
606
591
646
586
587
650
763
647
595
581
624
598
672
584
634
612
628
668
635
599
618
610
629
605
571
640
613
645
617
603
637
613
628
603
625
631
655
626
586
625
611
585
585
602
625
667
637
657
640
627
592
585
621
629
651
644
638
625
625
637
619
618
616
621
614
597
590
602
647
627
578
622
638
628
627
612
625
638
620
581
618
629
647
633
604
614
605
583
596
619
627
638
613
632
610
634
637
588
605
585
615
645
644
629
621
564
639
571
661
612
613
614
655
624
619
623
617
570
602
605
588
603
634
624
635
662
598
596
635
627
633
622
642
657
601
621
629
612
637
648
634
600
672
623
575
624
626
641
674
620
576
599
646
637
566
617
597
608
629
627
632
593
641
638
593
652
629
662
597
586
647
632
634
635
639
630
591
612
591
634
632
627
580
632
576
638
589
625
610
617
578
632
614
619
608
598
574
707
609
607
617
574
654
625
589
688
597
630
587
577
641
641
588
641
573
611
594
678
592
621
577
594
592
650
628
645
583
648
659
629
602
592
633
596
643
633
626
653
633
655
608
670
625
643
641
623
616
634
599
598
559
602
659
599
604
596
645
653
556
654
616
634
623
605
609
602
627
630
608
588
637
606
637
632
650
587
629
612
625
613
656
596
619
662
622
625
637
622
613
633
628
571
605
607
632
608
619
626
610
590
588
609
620
599
635
625
579
617
618
639
602
654
601
604
617
611
638
638
609
625
600
667
588
667
622
632
611
642
612
649
612
607
606
609
615
610
639
626
620
579
649
642
667
591
627
602
621
633
634
615
625
664
584
638
610
603
627
636
651
612
592
621
635
627
631
615
619
645
579
634
613
610
616
618
583
575
615
626
608
613
601
663
603
604
594
631
602
603
613
645
634
589
592
605
638
645
619
630
598
647
626
619
637
603
634
643
620
645
615
628
608
553
625
642
620
621
630
623
599
663
619
599
595
569
603
619
631
625
567
623
601
616
599
635
623
617
623
636
607
672
650
615
612
628
572
619
634
618
640
651
652
584
628
622
616
631
763
635
608
651
607
628
640
569
619
620
640
586
598
627
583
604
643
608
652
619
599
579
637
621
617
642
602
608
600
635
625
612
644
616
660
633
572
655
579
609
647
604
615
618
600
613
656
602
621
652
623
638
648
642
640
618
623
645
609
652
662
603
609
620
584
685
623
626
643
595
586
623
613
644
654
620
606
641
631
608
602
648
623
587
623
621
622
584
612
563
638
636
523
626
642
614
613
621
633
622
595
610
624
572
606
603
591
573
653
615
644
633
602
651
559
624
613
643
646
586
610
628
627
641
646
631
629
612
623
607
635
610
602
594
636
595
615
598
653
623
631
653
630
626
615
593
628
573
592
661
591
631
591
615
579
582
595
612
583
614
629
579
660
602
590
622
581
672
621
639
619
620
629
588
614
630
675
605
633
605
567
643
569
659
641
629
625
642
576
655
610
615
616
590
629
635
633
619
651
618
621
599
567
585
598
611
625
603
625
633
637
617
590
631
581
616
595
602
645
644
638
621
596
650
636
611
637
640
622
620
656
575
606
617
594
645
614
597
587
624
620
597
633
617
613
615
612
629
656
614
606
630
623
625
603
617
632
601
636
614
607
630
582
598
627
637
604
643
645
617
660
637
599
657
627
671
605
657
612
616
606
643
657
584
631
646
621
651
596
607
638
585
644
641
628
639
664
619
623
635
648
661
630
609
635
631
631
623
629
742
583
606
633
638
629
598
566
614
666
617
601
618
601
630
604
610
603
582
584
577
615
589
628
622
645
600
623
623
664
635
625
594
631
581
574
656
598
592
638
592
607
600
585
593
638
590
653
634
620
621
598
619
624
569
639
660
581
580
642
607
588
615
632
636
598
610
646
622
600
605
603
651
619
610
635
632
612
609
639
634
623
637
637
617
610
592
637
647
581
544
607
627
623
585
606
622
567
639
624
602
570
633
632
633
573
632
572
611
648
601
641
607
635
628
665
605
615
601
622
620
589
663
654
607
666
624
585
610
646
628
609
629
601
601
611
618
621
659
623
628
592
588
661
638
677
612
618
628
624
625
641
617
645
606
634
613
594
617
605
603
661
585
616
609
616
622
645
604
603
627
631
666
641
623
609
640
600
604
609
628
607
636
574
610
616
576
656
612
625
629
588
590
640
604
646
613
616
594
597
624
646
625
619
630
628
642
660
646
625
619
583
615
593
622
661
638
598
661
576
658
633
623
657
646
630
654
656
655
627
653
630
583
583
615
596
659
669
615
605
668
609
595
612
642
613
653
621
681
657
596
642
615
617
610
642
643
609
635
648
626
617
640
624
636
599
602
661
589
639
609
669
604
638
663
643
660
595
640
590
620
603
565
618
668
560
655
612
607
636
596
609
604
608
643
628
628
636
632
663
642
636
640
675
600
649
631
605
610
642
629
619
611
641
612
599
614
610
637
619
648
629
577
627
665
618
641
641
654
640
664
603
614
654
657
634
639
617
605
616
639
575
662
610
617
603
621
578
757
644
581
558
652
573
675
649
598
601
663
650
644
604
626
595
647
601
629
571
662
640
681
647
599
626
637
632
631
675
622
644
611
604
615
657
643
651
603
633
683
622
626
603
617
628
607
591
624
649
630
661
639
657
603
641
597
621
654
618
605
667
635
601
602
640
613
616
613
595
660
640
598
662
644
622
572
603
622
602
603
652
568
623
668
597
669
616
625
617
626
641
637
681
600
641
573
645
606
627
604
546
583
579
582
605
633
625
683
653
627
623
588
601
647
613
609
602
632
592
583
601
627
638
619
633
622
605
629
580
615
626
620
611
636
658
598
597
589
623
632
631
640
617
631
602
574
682
652
645
625
598
651
617
599
656
618
620
612
666
649
664
632
621
637
631
608
671
605
655
564
595
628
578
655
639
602
640
592
571
646
633
614
742
643
621
653
614
620
654
650
608
615
643
597
637
615
629
571
650
596
639
607
647
583
619
622
615
624
624
623
659
631
609
614
596
632
587
590
668
611
640
658
638
617
623
638
630
583
634
608
662
737
622
621
629
640
634
612
647
588
617
627
639
613
608
607
647
635
654
635
577
605
629
649
625
608
645
607
625
608
597
614
624
585
658
637
630
646
646
571
618
642
646
614
647
631
617
595
642
637
647
647
642
640
593
613
607
647
650
649
558
601
634
660
634
620
676
630
574
636
637
656
603
582
639
595
667
642
604
651
639
648
660
619
603
610
587
568
622
608
611
594
608
593
623
639
624
644
624
586
604
650
651
647
617
608
597
604
661
571
589
628
607
608
623
632
600
646
597
657
609
641
636
600
616
548
613
631
596
620
611
631
630
607
616
568
645
584
589
625
626
642
596
628
613
603
615
606
608
636
602
571
632
616
630
644
610
594
598
596
622
619
626
600
602
582
600
621
645
587
643
603
622
810
604
613
626
650
662
588
607
650
623
594
646
653
667
619
613
646
650
613
625
640
677
580
639
613
607
634
637
612
632
639
626
659
637
652
640
625
630
653
685
641
652
669
613
634
637
611
645
591
603
611
620
609
620
619
616
587
603
649
625
636
605
617
613
616
591
600
606
656
592
656
642
636
639
635
622
657
669
640
641
613
572
643
610
598
604
633
567
660
654
647
597
613
681
655
594
581
582
599
663
624
618
622
660
643
608
646
575
608
628
621
623
594
653
659
621
617
648
632
627
597
626
587
621
616
687
646
623
684
657
633
617
636
640
608
637
647
596
570
619
616
624
658
639
633
610
598
623
620
647
613
637
588
653
645
629
567
597
643
629
615
611
625
616
655
606
615
627
658
549
639
589
633
589
629
657
634
650
585
619
618
683
634
631
644
621
644
605
595
670
605
623
597
650
648
635
581
641
602
608
618
621
660
642
611
641
608
646
637
644
624
642
671
595
610
641
625
639
612
615
626
658
632
609
626
636
591
622
654
635
637
571
627
600
698
625
652
604
657
646
611
609
640
620
559
637
582
614
607
604
641
602
616
627
643
610
652
645
610
596
597
604
606
586
584
619
647
624
601
622
624
620
614
610
634
631
638
604
631
687
627
629
663
619
649
641
603
607
667
631
626
612
632
634
613
599
638
618
599
632
631
616
646
625
597
677
641
638
601
637
585
616
592
639
664
616
621
618
637
604
644
621
618
594
640
627
640
646
630
635
606
651
649
635
664
614
630
675
679
634
615
643
657
649
651
659
620
619
652
618
603
607
679
644
599
611
603
604
615
637
628
616
661
608
607
666
596
644
652
617
585
608
605
649
649
598
625
624
628
642
623
596
601
558
639
636
593
619
625
620
652
663
565
634
616
650
601
566
645
608
631
647
583
611
601
670
614
666
601
602
584
657
642
674
636
657
617
632
602
649
620
622
631
610
595
594
767
630
636
601
659
627
644
683
645
601
630
641
632
626
646
643
605
650
579
625
599
609
592
608
644
732
641
615
646
611
631
608
636
639
619
605
657
646
600
635
629
657
665
650
598
568
658
614
604
604
658
627
605
681
643
639
656
686
636
658
646
606
635
621
561
620
608
649
598
592
663
652
615
639
591
580
615
666
620
627
638
611
654
675
615
647
573
665
615
630
632
642
624
662
627
674
604
644
640
625
632
644
578
556
636
635
673
642
612
587
615
623
626
609
626
613
641
657
669
642
629
640
741
605
654
617
627
659
589
651
593
632
637
578
675
613
669
624
612
578
639
626
621
634
565
613
624
630
642
638
595
617
606
615
575
620
660
639
632
636
625
647
629
648
667
582
606
660
588
633
611
599
632
661
593
619
632
613
631
623
616
621
626
645
648
651
615
580
643
610
655
630
594
643
585
610
675
608
607
636
630
678
664
624
624
621
654
656
618
606
621
592
630
586
642
650
636
602
592
661
612
606
642
621
642
597
579
612
651
610
565
671
626
636
601
662
649
639
618
679
628
646
626
671
633
664
653
579
645
621
663
616
619
618
651
597
621
627
675
607
625
619
635
615
614
629
590
626
611
622
624
588
594
639
585
637
630
633
618
605
611
590
602
641
620
588
594
608
636
669
668
626
609
573
612
591
624
543
641
616
628
688
614
623
635
562
623
588
606
662
658
633
637
619
597
622
629
618
603
636
627
601
632
589
641
615
618
600
556
652
644
650
656
638
648
624
649
605
592
609
632
586
645
590
627
601
648
658
651
641
662
614
634
610
640
604
623
641
611
651
617
646
647
609
678
640
611
577
564
626
629
629
583
600
639
642
647
656
624
612
601
630
579
647
643
618
615
614
642
631
632
606
633
581
649
617
632
622
581
643
654
656
593
605
573
659
639
627
594
596
616
594
655
624
661
622
617
586
633
626
626
619
655
597
632
608
660
619
689
636
632
644
652
678
617
651
692
654
602
616
621
623
645
598
611
590
627
601
588
621
635
616
674
642
605
629
614
644
610
603
614
670
604
654
639
648
656
633
603
702
620
631
670
659
617
651
641
645
645
653
604
660
653
598
602
619
670
629
642
605
636
633
560
624
616
595
643
624
610
602
640
667
670
644
644
618
667
659
652
624
604
637
607
634
683
641
584
625
609
588
594
611
641
630
671
619
619
620
609
678
639
600
636
614
567
636
588
609
638
642
644
581
582
631
636
620
633
664
660
584
599
658
656
659
673
613
660
672
642
695
629
625
628
674
636
613
602
616
585
609
633
631
600
632
623
686
635
688
644
600
637
634
618
618
605
629
602
584
637
636
642
645
647
613
595
604
579
575
585
650
620
632
673
629
630
624
640
610
643
623
636
596
571
608
627
653
618
606
606
606
613
620
646
612
585
624
630
595
665
634
668
608
664
611
637
599
621
573
605
645
619
630
667
667
611
634
617
599
634
646
653
618
631
624
628
593
666
667
647
611
609
580
613
609
609
599
646
649
647
651
568
590
601
685
597
623
657
642
623
615
614
614
628
638
584
614
651
602
601
613
598
619
701
674
652
613
588
625
577
619
636
639
626
657
583
619
602
638
606
673
618
640
645
654
667
630
647
626
617
576
634
647
630
619
670
612
644
649
663
641
623
613
642
642
602
634
610
625
629
649
631
614
603
640
651
639
639
653
663
644
639
612
622
627
625
603
636
630
619
669
643
645
610
642
616
616
644
629
647
613
638
671
640
581
657
601
635
609
574
617
660
652
642
634
629
627
645
583
632
645
650
626
649
599
602
638
623
637
601
615
636
663
634
642
603
651
597
639
613
655
636
629
639
638
594
660
629
596
652
625
643
626
627
640
605
610
673
585
623
580
663
648
582
587
610
641
699
635
591
622
601
604
599
628
614
634
652
625
678
612
602
639
585
662
625
623
610
636
640
617
631
647
636
635
583
649
659
590
623
591
642
647
642
630
627
636
621
653
661
637
619
617
612
627
579
666
631
645
637
649
637
616
616
613
669
645
605
597
587
660
596
614
641
639
632
650
617
640
636
603
609
570
639
592
623
645
629
646
601
595
612
645
637
608
606
618
637
606
600
584
632
641
607
607
614
707
658
646
587
644
611
660
629
624
596
598
656
621
621
669
697
669
639
626
638
643
635
645
640
613
615
605
705
619
611
635
640
679
652
596
637
645
627
559
625
618
624
584
581
577
602
586
619
620
664
618
633
647
608
606
638
613
621
609
599
627
625
608
644
600
775
648
604
627
606
635
658
621
588
564
630
631
622
649
625
594
647
656
643
634
601
595
621
621
620
645
619
651
593
687
661
629
628
639
645
626
606
625
657
673
649
680
642
610
640
655
642
607
627
659
628
617
607
631
616
651
633
655
636
697
650
599
615
716
643
645
619
614
627
688
613
616
653
629
603
603
641
590
614
629
598
618
597
690
599
615
562
626
633
639
576
654
635
602
595
651
605
595
629
654
626
634
613
607
643
637
685
655
651
653
635
650
609
626
606
640
616
657
643
596
604
656
614
599
652
598
665
583
647
662
623
648
630
638
648
618
609
671
676
691
613
650
570
703
617
656
644
662
658
635
586
631
594
625
656
605
621
669
610
620
628
642
618
617
682
654
640
620
621
627
660
626
636
643
601
647
589
675
621
608
620
666
673
635
634
678
652
645
617
649
597
636
613
611
643
619
655
647
648
627
662
632
638
611
642
688
637
604
643
640
631
647
633
645
633
657
625
639
650
629
662
587
680
640
660
658
645
664
654
643
621
631
692
667
648
649
611
657
614
622
651
637
599
626
642
611
602
618
601
646
641
651
661
642
619
645
611
638
640
612
630
644
638
599
629
653
596
652
639
601
627
652
604
641
620
598
631
606
633
651
625
604
637
622
631
630
613
638
631
630
607
652
656
606
626
627
653
628
604
603
610
653
646
632
642
639
638
627
607
590
612
569
630
621
618
649
581
600
628
651
628
651
647
651
626
658
620
643
655
612
667
661
651
610
591
617
669
635
642
622
668
632
619
645
622
621
602
670
638
602
616
651
651
627
651
620
633
602
673
599
642
629
661
650
626
626
646
612
645
626
653
612
589
647
682
662
603
688
639
604
621
657
663
613
609
582
669
594
606
607
655
605
659
637
666
609
613
625
634
616
614
613
646
656
612
626
655
661
611
617
598
638
594
610
615
614
640
627
627
632
668
665
617
676
608
635
619
604
607
603
693
626
642
616
583
648
635
625
631
613
682
623
591
636
677
713
610
657
639
572
606
633
652
631
588
626
654
588
634
638
615
645
606
629
629
640
661
611
637
617
649
637
628
664
613
634
611
610
648
613
630
655
632
638
645
608
633
640
650
667
619
650
613
606
616
662
649
640
644
641
591
639
625
603
649
627
641
692
638
623
659
588
571
629
654
598
614
630
606
631
634
616
652
640
628
619
656
624
678
655
605
632
632
627
633
646
632
588
609
647
642
598
623
616
650
620
668
610
648
624
608
644
637
619
661
647
657
618
610
663
635
622
572
593
601
607
617
615
630
669
635
627
626
611
630
629
614
631
615
574
598
619
620
635
664
642
638
619
669
646
643
630
643
563
591
610
668
646
622
641
624
647
608
669
622
653
633
621
632
621
647
654
667
634
611
629
637
632
654
614
589
610
630
666
601
638
647
662
649
637
643
616
659
622
679
624
566
668
654
638
628
626
626
621
641
645
640
672
569
668
637
616
648
613
660
571
669
581
577
640
632
610
642
638
640
629
639
589
567
658
634
658
649
622
601
642
660
613
642
678
621
625
594
643
665
642
637
629
661
622
709
645
625
628
644
670
629
637
627
641
639
673
575
585
602
660
673
622
613
635
650
683
618
600
665
646
657
670
631
614
640
663
637
606
616
620
631
604
621
602
636
646
577
659
627
660
633
670
659
616
637
638
605
637
613
642
644
617
623
632
625
634
590
610
643
616
601
682
622
634
615
648
638
659
628
629
657
621
608
623
658
620
593
686
659
605
644
632
611
637
645
636
654
627
634
645
681
667
595
633
626
633
755
661
634
674
647
626
648
665
658
597
647
654
655
623
654
639
629
672
596
650
591
648
634
577
710
628
610
636
616
666
595
627
627
613
652
670
630
613
644
622
639
605
613
652
643
612
628
608
670
641
652
659
646
575
618
618
635
659
610
590
637
622
619
642
578
646
625
626
636
633
661
623
639
629
655
653
710
622
641
727
684
647
631
598
645
670
649
661
666
615
718
633
611
633
642
611
623
644
624
622
605
606
651
614
616
646
685
651
616
740
607
627
630
639
669
649
596
630
620
660
585
675
617
680
667
621
639
617
623
659
616
645
664
629
590
610
656
625
645
590
630
615
623
592
618
605
669
651
629
621
584
643
641
648
635
592
610
640
655
644
634
653
637
640
656
636
643
635
592
602
605
673
619
587
601
656
646
640
625
609
655
613
630
678
600
650
647
645
664
637
639
655
652
632
678
643
666
648
637
607
659
650
658
648
619
664
629
649
617
636
636
634
614
640
603
640
682
658
637
636
677
651
662
634
627
658
615
617
638
674
642
624
649
664
648
661
633
607
635
611
632
651
626
672
609
623
632
661
632
668
625
652
636
623
616
629
653
669
634
656
608
608
808
643
632
721
645
621
611
638
683
617
626
618
624
663
670
619
583
663
725
641
610
659
678
626
639
660
659
651
668
620
584
644
642
648
573
603
643
625
609
652
668
668
687
592
646
641
596
626
619
612
652
614
635
639
622
638
620
633
634
622
656
638
664
625
667
667
631
638
672
671
636
636
645
674
633
620
574
626
621
640
648
675
658
608
634
648
600
668
645
629
656
600
626
632
605
644
633
657
640
652
620
634
628
622
615
628
579
630
704
688
625
710
638
580
592
637
657
628
670
609
606
646
630
678
656
630
692
653
645
665
631
628
615
598
656
642
566
660
623
628
648
648
670
622
643
668
645
649
648
693
577
620
621
668
668
679
611
646
639
648
602
612
613
719
626
619
628
655
582
612
663
637
660
658
654
646
617
624
665
637
605
663
658
615
614
624
654
677
642
604
660
649
667
610
663
636
635
643
642
577
635
642
629
679
635
653
616
659
647
643
657
632
622
680
659
621
627
620
657
615
612
631
599
610
673
652
591
602
659
665
611
655
558
622
657
626
667
685
645
641
647
652
604
653
678
633
645
594
673
671
614
601
644
608
602
654
610
628
678
670
655
689
636
586
594
638
648
642
663
615
679
673
619
609
647
630
666
672
626
621
656
620
639
606
640
610
654
672
659
615
632
655
659
613
663
592
632
643
653
657
617
574
654
642
635
664
635
603
638
635
590
627
653
616
651
619
624
633
644
675
596
659
659
670
625
617
604
618
649
613
631
667
620
634
642
625
658
675
638
646
638
623
648
630
636
614
605
598
680
672
653
648
659
630
671
649
652
634
628
627
659
624
664
637
657
656
618
656
635
691
620
595
643
636
653
659
644
619
648
616
668
632
631
605
594
666
647
627
640
619
649
634
637
636
699
630
619
693
623
632
653
659
622
607
658
605
597
656
643
624
640
675
624
633
635
609
626
643
651
630
645
638
618
596
633
662
681
633
666
634
616
643
623
674
645
647
593
646
648
642
646
582
631
630
610
670
661
663
629
615
627
676
629
625
626
638
657
623
629
656
581
656
623
611
637
662
619
652
614
621
657
643
614
634
658
601
658
618
656
649
639
642
624
675
643
590
649
661
662
615
689
654
642
607
626
648
622
642
610
600
659
640
634
623
667
647
618
594
676
639
643
617
665
655
643
642
610
688
643
648
642
599
609
682
652
639
656
662
612
662
639
649
676
685
593
667
632
674
650
703
639
658
593
599
624
609
617
655
627
646
620
683
625
672
628
660
621
641
642
645
656
632
648
634
641
664
628
670
672
651
615
644
626
636
673
620
623
655
670
610
655
593
635
640
635
617
586
629
663
674
609
633
626
668
677
612
624
679
657
593
621
637
627
670
593
640
653
632
644
620
648
663
677
756
619
638
616
633
665
571
585
658
638
671
649
579
602
593
656
675
599
647
614
643
628
617
664
591
683
596
631
642
584
676
673
630
628
655
663
703
644
635
653
607
633
648
620
633
627
659
653
633
651
690
660
635
638
607
646
597
656
640
680
618
646
634
612
650
657
640
625
649
654
633
647
633
669
634
665
659
659
632
639
650
698
627
670
667
693
727
645
617
633
640
662
647
628
660
614
646
629
637
630
635
667
619
631
677
630
634
635
628
660
662
635
648
627
660
657
645
589
643
630
610
628
608
623
637
657
637
633
645
649
666
629
617
643
656
665
630
598
667
622
613
646
602
621
640
646
612
632
595
639
662
656
604
595
677
652
629
595
589
647
640
650
621
646
641
615
673
616
649
662
600
606
618
640
618
617
652
624
626
659
634
612
663
652
657
613
621
607
615
626
616
638
617
637
625
601
611
671
589
652
619
605
662
666
664
640
677
670
683
699
641
567
637
630
643
613
665
617
644
582
635
647
635
625
650
649
610
614
665
631
694
642
633
698
624
649
587
599
657
644
655
662
670
661
658
636
671
647
614
618
625
668
671
630
656
666
672
595
653
622
665
671
623
629
641
699
655
680
610
643
657
648
678
636
604
640
605
674
641
649
667
674
649
638
655
590
652
661
645
656
654
640
613
594
651
602
627
657
662
644
625
668
625
594
627
676
663
618
635
655
639
654
661
658
624
664
616
615
580
631
599
680
665
638
644
608
601
666
617
637
653
666
673
648
595
631
587
677
630
624
657
635
685
654
663
635
628
640
666
597
634
628
641
677
645
640
643
625
591
626
629
643
681
674
644
684
646
634
680
673
671
647
619
645
637
631
632
674
655
673
642
662
677
640
630
605
656
644
628
659
688
697
645
666
685
621
673
677
698
613
638
609
638
655
693
673
655
633
651
644
640
647
666
663
690
646
622
629
642
585
635
661
646
602
620
632
627
698
601
606
614
651
655
637
628
633
640
667
650
665
588
638
674
644
648
649
630
616
637
628
634
635
639
649
672
620
630
683
623
628
638
601
631
637
684
636
648
616
655
583
647
624
656
647
661
658
717
653
601
623
644
663
631
663
629
665
609
617
580
672
588
668
590
655
641
621
596
650
659
642
610
652
623
628
629
628
614
676
665
649
657
626
678
680
613
619
637
637
643
611
612
632
644
630
695
661
636
667
690
656
688
591
617
636
660
649
654
661
637
680
690
653
620
670
646
652
656
656
621
607
595
669
636
645
613
583
666
656
698
634
666
649
643
633
629
670
616
644
628
639
651
673
647
608
647
621
650
649
621
616
662
641
671
638
606
618
674
600
632
663
597
599
595
646
613
604
624
634
639
607
659
652
649
629
671
638
603
631
635
660
606
632
652
628
654
633
649
654
666
638
627
645
648
601
616
617
621
673
617
655
617
641
649
676
623
658
642
632
631
651
623
643
640
646
643
615
603
609
620
661
612
584
662
630
695
653
637
616
638
678
658
678
602
647
630
645
651
635
595
612
591
637
633
621
644
633
658
642
639
640
638
646
646
625
624
666
608
694
636
631
652
611
645
626
635
670
635
643
655
649
633
610
639
634
630
636
605
627
638
674
583
621
655
641
668
646
616
616
627
584
619
617
650
654
642
669
603
656
639
635
636
649
637
667
616
651
635
612
648
646
648
659
589
669
618
637
613
654
638
655
585
667
668
659
611
642
589
696
656
633
620
670
656
631
688
674
658
609
656
655
649
597
646
633
644
624
641
626
633
621
663
612
656
654
664
656
618
656
605
624
618
652
645
632
652
645
639
671
600
631
613
682
612
678
625
652
656
664
663
630
627
653
628
694
637
632
622
642
643
685
623
643
686
630
635
644
641
644
636
655
653
648
636
669
662
645
624
594
673
630
644
748
633
686
681
628
649
620
600
662
665
651
654
641
693
609
663
660
655
634
638
619
645
622
652
643
649
594
676
662
627
641
638
636
619
655
596
649
589
676
680
653
626
647
709
605
666
657
696
632
680
626
628
650
682
616
645
636
635
622
631
645
657
626
644
657
625
593
594
627
613
648
608
669
601
596
618
653
620
654
722
650
631
608
640
659
621
649
654
655
660
597
648
601
628
604
705
634
664
702
689
627
621
606
617
670
638
664
641
632
652
705
631
640
629
632
602
642
571
625
674
624
642
613
626
608
636
633
652
633
663
614
634
580
660
628
605
634
612
649
629
599
699
667
572
637
638
685
637
645
656
641
610
664
677
662
644
628
664
598
614
672
634
616
619
643
658
643
673
644
658
631
581
634
589
623
663
644
618
603
635
646
618
583
637
635
641
612
646
669
616
644
655
641
646
646
651
620
637
587
660
647
609
669
661
650
629
602
644
645
643
607
640
610
665
658
648
648
577
673
604
635
639
686
603
640
618
653
659
641
681
624
626
676
638
666
652
633
625
636
638
633
651
660
657
652
646
631
667
647
742
686
691
643
668
653
608
657
672
635
604
668
638
674
622
623
630
646
662
658
634
666
625
629
659
675
612
649
626
676
658
583
654
676
669
602
645
636
639
658
666
641
651
637
668
586
661
678
627
627
616
675
627
652
609
654
640
633
678
639
614
626
637
659
667
611
667
640
631
654
640
677
636
622
674
613
654
647
620
629
649
630
642
663
637
632
669
659
638
654
701
623
649
661
637
653
625
626
683
645
641
687
617
616
694
637
652
647
646
659
653
660
632
684
655
645
641
681
646
612
652
665
648
642
621
606
631
628
649
626
610
668
623
647
639
627
624
676
674
664
658
671
631
639
597
638
668
656
633
650
644
686
652
699
639
668
648
657
661
643
673
679
582
631
639
662
673
636
644
643
667
603
658
619
644
674
620
651
589
623
645
664
623
615
666
663
614
657
647
610
675
679
649
623
629
631
652
622
657
620
676
650
645
663
656
652
621
676
667
651
679
624
664
666
675
673
684
589
636
604
638
592
628
659
635
683
662
654
632
648
643
669
693
626
631
647
730
613
662
681
621
645
641
669
629
683
656
623
647
662
702
591
626
638
673
696
647
645
590
636
633
627
649
619
629
630
614
625
645
629
677
587
637
645
616
665
658
699
851
668
627
628
635
667
639
606
647
655
588
603
666
610
642
655
639
630
649
626
645
682
685
670
619
672
691
633
640
683
614
654
631
618
615
649
662
629
658
631
629
639
587
626
618
666
666
670
650
604
660
666
643
615
652
653
627
642
645
630
606
670
574
635
670
654
660
643
675
638
629
615
639
654
652
610
662
598
659
670
599
633
663
644
645
637
670
631
639
664
633
630
632
604
624
602
641
682
655
651
663
666
668
652
652
626
649
619
618
675
679
610
615
634
635
651
624
635
615
638
637
636
654
645
619
626
659
697
615
623
636
631
676
666
615
681
631
639
662
650
603
666
688
627
659
647
666
624
645
685
623
639
657
636
658
651
703
634
656
677
668
609
630
638
648
608
631
659
639
717
669
680
664
622
638
601
639
669
628
637
625
678
678
594
624
661
641
640
603
611
673
706
673
631
632
664
588
652
670
657
652
635
663
604
621
598
686
640
632
654
638
667
627
659
637
630
672
628
691
663
599
644
625
628
657
635
580
651
640
654
617
662
639
629
626
623
646
624
674
610
647
683
657
668
657
675
686
667
693
645
679
653
651
618
657
626
639
641
606
609
636
611
607
657
638
650
678
625
642
695
628
684
610
612
646
637
635
672
681
642
568
622
620
660
671
730
682
601
645
658
649
676
644
634
655
696
647
593
664
642
640
641
643
611
638
655
678
622
638
590
649
669
661
629
669
639
635
657
662
655
634
656
662
648
656
662
654
622
623
660
625
660
640
672
643
619
654
608
624
693
636
665
614
660
680
639
698
674
680
672
626
634
622
646
633
633
666
686
669
605
671
668
677
689
652
659
669
669
593
664
690
660
627
619
648
665
640
679
606
684
650
662
703
636
644
666
650
666
631
690
616
662
642
667
588
601
673
617
651
628
656
655
650
636
710
671
615
590
637
691
625
654
593
572
676
690
614
653
623
638
634
654
640
686
703
654
642
641
692
621
662
626
651
640
627
651
621
622
672
655
676
664
649
648
656
628
662
641
638
667
644
611
622
614
664
668
643
630
632
672
633
650
687
610
653
647
658
667
659
634
642
637
586
704
604
667
644
649
657
654
647
640
632
616
633
615
634
639
649
631
622
649
604
703
667
680
644
657
665
624
595
656
609
615
657
692
644
595
652
634
634
634
646
654
676
616
664
642
691
644
591
614
636
670
651
631
642
626
635
682
658
643
646
636
634
634
646
695
617
610
621
576
616
655
668
610
615
620
648
683
612
690
599
623
627
687
652
674
667
674
673
594
623
594
619
632
681
662
671
661
674
665
605
668
670
644
617
691
651
627
629
699
608
629
639
674
637
593
617
603
690
629
623
614
618
707
653
662
654
600
619
628
550
603
646
679
633
665
635
635
651
669
631
668
616
633
655
641
618
570
665
662
605
677
676
650
620
612
616
644
648
681
611
656
620
661
655
623
654
657
693
639
673
633
622
652
618
636
609
683
681
633
620
566
673
639
589
621
661
688
602
645
596
650
620
658
624
647
664
605
630
633
611
677
647
636
647
616
642
657
635
649
656
638
633
630
658
648
650
664
672
646
685
682
641
661
666
658
619
697
694
592
644
613
732
689
613
681
667
647
615
642
635
658
630
648
598
641
630
672
629
677
631
631
642
632
694
668
629
677
636
620
671
630
693
680
668
642
644
654
638
664
621
641
612
658
616
613
612
614
636
617
638
640
668
680
616
644
680
597
653
653
679
605
612
693
612
564
647
663
663
676
619
635
681
630
641
610
680
611
659
661
641
658
672
655
647
658
616
689
699
652
668
615
611
670
650
672
646
649
618
611
652
636
658
652
692
649
672
693
643
621
660
644
653
619
667
631
647
691
624
642
655
640
629
649
652
664
662
622
658
630
621
647
637
635
659
657
647
669
597
674
643
672
666
672
665
672
709
629
654
646
606
623
658
655
638
584
656
678
646
676
615
624
667
681
634
650
646
662
644
649
637
649
614
658
633
672
638
624
636
647
666
587
671
621
686
626
661
615
674
657
665
639
698
638
687
633
619
712
658
659
653
622
650
701
646
652
683
600
653
665
657
653
649
626
636
671
649
676
647
707
668
650
653
603
667
631
664
657
611
616
674
647
617
640
646
625
697
608
665
622
634
695
607
664
639
618
677
657
646
657
637
681
615
640
641
654
612
631
681
668
621
617
661
630
630
671
669
663
648
624
656
681
701
657
645
662
645
664
642
626
657
673
600
628
648
662
665
638
609
676
683
625
622
660
594
641
661
646
640
649
657
601
648
666
653
642
682
634
648
626
671
650
641
652
631
637
654
670
685
614
704
637
704
622
656
617
616
671
663
648
678
659
648
619
642
738
608
627
685
678
659
661
705
650
693
667
643
666
655
652
669
674
650
629
632
657
633
632
669
677
682
723
654
638
647
650
647
665
625
641
684
598
635
649
623
670
655
641
638
670
675
689
628
668
646
642
653
660
658
670
596
659
636
611
667
656
667
610
632
622
643
694
649
715
665
678
592
599
627
646
637
644
686
696
660
667
645
622
630
648
679
664
660
678
624
644
668
620
611
697
687
620
592
633
604
655
608
640
655
648
685
678
634
667
678
681
619
612
633
657
651
664
624
678
647
703
677
598
643
606
643
680
635
637
636
640
664
654
657
638
657
686
639
651
643
631
669
679
676
639
707
642
627
626
655
637
632
660
660
638
652
619
638
632
660
652
618
649
677
660
636
658
635
659
616
654
671
624
637
657
637
665
671
639
615
657
637
662
685
635
631
618
634
670
654
654
672
669
645
662
629
605
688
672
635
662
653
617
655
636
644
638
653
642
675
661
612
664
668
629
658
672
670
644
630
647
774
626
641
641
666
656
653
657
656
662
646
696
659
642
596
674
625
583
653
641
668
644
682
643
667
646
650
559
585
620
630
596
681
644
610
632
632
626
629
697
687
628
669
638
672
650
694
638
606
649
663
696
617
637
625
601
627
644
637
626
651
674
676
608
699
657
672
656
661
618
643
676
631
619
676
621
617
643
666
662
661
678
679
596
637
622
645
641
639
664
624
648
662
625
660
638
614
644
602
658
660
659
646
643
660
630
661
668
669
641
611
619
610
595
654
657
630
634
629
660
567
712
654
624
672
649
664
637
667
687
564
660
638
597
652
664
686
571
650
650
644
679
675
630
657
679
645
666
658
644
618
664
665
654
608
612
629
638
706
666
666
686
627
644
633
647
652
611
670
629
571
640
647
655
644
677
645
620
654
646
634
630
659
689
660
613
675
610
637
692
735
651
644
645
671
648
623
624
632
616
646
633
606
634
674
685
653
640
653
628
648
667
656
645
661
646
641
650
670
657
678
637
610
680
661
700
596
663
647
639
659
630
610
653
690
623
627
633
610
670
635
659
656
634
648
654
619
624
652
644
653
643
643
606
614
613
636
614
665
625
653
630
640
630
659
626
628
638
606
661
646
645
658
637
634
645
641
660
638
638
612
677
673
695
672
652
603
661
639
654
665
643
677
629
634
680
680
658
615
641
661
604
593
673
662
653
637
611
664
670
635
694
694
662
674
630
622
618
688
634
644
635
621
641
781
682
664
660
634
718
669
645
636
656
592
663
581
622
657
677
659
651
653
597
645
678
653
664
656
620
659
673
656
635
650
638
667
667
670
639
620
664
679
666
634
605
648
637
652
649
621
636
672
656
625
640
646
622
640
656
613
651
668
668
648
629
640
590
698
630
642
669
611
669
601
599
657
626
653
652
661
626
673
685
639
639
640
673
643
698
643
668
614
659
603
663
646
645
663
706
644
655
645
644
658
605
691
626
659
659
656
661
637
660
636
666
668
710
639
650
618
703
638
631
663
654
662
651
628
630
685
667
627
659
609
678
623
644
684
666
644
681
584
616
650
633
647
607
656
595
621
651
654
645
648
694
650
644
655
658
673
648
642
673
650
618
667
678
658
653
655
645
655
659
648
665
663
677
649
660
655
693
669
685
651
632
654
661
630
656
650
643
689
690
675
688
668
637
638
630
633
687
639
667
619
659
631
622
677
678
679
644
667
679
672
633
667
661
619
628
650
648
629
619
666
623
619
668
673
650
631
673
628
652
633
663
685
644
652
624
661
605
684
653
726
677
664
697
662
693
678
640
643
626
639
656
677
609
673
666
614
643
656
675
635
662
601
694
657
646
628
704
641
609
657
635
609
636
672
648
612
667
621
627
662
631
657
640
639
669
656
693
624
622
704
650
627
657
661
697
670
624
645
641
666
632
689
648
666
649
660
671
624
699
655
624
683
692
656
617
647
644
644
641
684
681
673
649
683
649
657
625
670
637
646
639
645
626
632
677
654
672
657
659
647
669
701
624
668
612
694
635
646
632
676
659
663
645
661
643
663
602
636
655
620
633
700
642
626
629
651
652
635
603
630
645
631
661
671
626
645
626
620
808
649
663
655
658
677
677
659
637
620
664
661
633
619
675
657
613
616
657
663
677
686
672
674
643
668
625
652
663
631
658
627
668
656
653
661
663
646
649
647
642
651
630
689
677
648
612
619
692
622
659
646
667
673
627
659
639
669
643
649
642
687
644
625
630
619
666
652
702
643
694
660
664
640
671
625
626
652
682
641
628
647
644
625
628
644
616
622
609
653
687
680
671
612
671
657
634
663
650
630
674
624
673
660
596
661
641
659
683
684
622
663
657
649
643
680
646
614
627
649
678
638
674
622
687
650
622
673
631
615
648
638
658
671
661
664
694
631
644
633
642
648
675
678
654
641
634
644
659
668
650
614
623
632
677
599
656
613
668
670
664
648
660
664
660
636
644
682
649
670
662
622
673
629
597
662
623
638
665
646
659
605
659
656
664
675
622
648
663
643
641
640
660
697
640
661
682
637
657
604
605
667
637
680
637
615
675
678
645
662
664
669
680
684
628
625
663
608
696
631
623
665
621
674
626
611
631
686
649
659
633
683
643
633
674
608
652
658
637
619
661
673
659
649
639
639
640
653
607
699
707
652
682
680
638
657
634
685
626
656
669
619
658
687
633
619
610
629
656
648
642
674
643
679
628
610
629
620
668
669
691
661
658
608
678
640
705
657
688
677
617
622
627
590
679
636
648
651
672
640
585
692
647
678
624
621
669
639
659
678
672
650
629
650
645
669
673
683
591
599
665
653
660
664
646
639
644
624
624
663
609
669
673
599
646
673
635
665
650
683
660
665
655
623
636
601
666
653
664
628
687
668
641
633
627
630
620
679
672
672
652
642
634
665
682
638
660
657
619
648
645
680
625
635
622
653
686
619
634
675
697
643
634
668
656
620
658
659
623
619
656
643
638
690
678
602
652
668
635
662
652
659
633
628
646
682
623
665
624
663
645
659
665
652
650
682
675
686
647
635
647
656
667
756
658
659
682
648
622
654
625
683
775
668
630
642
679
655
673
621
646
627
659
633
658
642
632
622
661
669
667
661
636
651
643
658
644
686
647
661
619
680
649
650
626
674
630
673
642
647
679
650
686
672
640
661
643
626
620
639
644
651
672
626
620
643
662
631
660
639
651
644
656
642
640
637
663
614
664
633
658
728
673
622
650
657
631
626
677
648
667
663
615
657
661
676
662
640
679
653
666
696
664
654
671
647
683
644
680
679
656
695
655
672
670
643
643
696
668
659
706
646
645
654
650
610
650
653
664
654
664
649
645
657
686
625
658
626
663
633
702
634
629
664
662
683
616
635
656
700
689
668
660
702
688
683
654
640
649
646
681
672
675
658
694
646
691
613
627
653
672
691
627
692
608
653
669
672
621
616
671
671
675
639
601
649
640
640
682
687
638
629
641
666
669
667
605
627
635
648
626
718
644
594
672
636
678
652
641
622
669
671
696
651
680
623
677
650
654
636
615
678
659
634
627
611
612
626
612
694
655
647
682
648
668
673
655
660
638
684
621
669
651
688
674
663
665
657
663
668
649
625
644
647
666
644
651
630
677
677
676
700
651
650
664
680
680
631
688
636
662
654
663
641
667
641
667
655
662
654
630
623
674
646
662
645
672
638
646
645
642
646
701
624
634
643
639
656
608
738
647
637
683
696
675
704
647
671
640
633
686
661
652
669
638
629
673
673
664
634
646
634
651
676
676
629
680
609
644
663
657
804
626
622
694
648
673
614
675
699
591
667
663
724
671
610
668
676
701
680
650
644
672
704
657
606
655
655
659
638
669
630
657
656
653
666
657
659
661
641
665
632
684
653
650
624
630
605
630
609
646
673
670
664
616
671
672
664
638
665
673
646
661
664
647
661
663
704
647
647
643
613
654
608
657
680
665
663
671
608
700
714
683
683
640
648
680
632
652
682
613
596
644
597
664
622
594
641
610
664
669
657
647
667
664
665
644
650
665
673
652
668
639
658
598
622
666
651
626
691
700
649
636
714
649
658
644
620
670
676
656
640
669
645
689
684
625
631
636
670
656
696
648
683
659
677
611
687
645
660
682
677
675
630
648
684
622
649
635
666
636
620
659
636
673
667
668
674
642
642
630
669
666
653
734
638
666
650
690
655
646
652
654
674
627
663
680
666
649
663
704
694
651
618
667
664
659
680
653
683
679
666
637
615
678
652
660
672
631
661
652
655
645
676
643
656
630
651
687
618
643
609
648
680
680
679
629
658
608
632
645
670
654
659
677
705
612
664
667
644
673
643
676
639
629
626
674
653
604
674
637
676
679
657
677
640
695
667
681
636
652
675
656
655
658
644
683
637
661
693
666
626
648
688
666
640
641
679
656
661
678
623
650
653
659
652
634
640
671
626
619
646
686
648
660
625
639
673
668
704
655
642
668
659
639
635
687
668
706
622
647
664
622
635
639
652
629
627
701
690
695
660
642
623
656
631
675
665
629
614
690
684
677
660
684
669
611
616
638
661
673
685
673
634
666
654
629
668
618
649
669
643
647
640
687
695
653
663
623
616
660
636
669
638
688
663
625
640
629
679
683
661
690
670
663
706
631
683
679
740
611
662
669
666
647
656
659
676
756
652
670
678
679
640
624
690
668
643
628
673
678
672
667
677
655
664
619
648
699
711
659
662
669
638
677
673
625
676
673
684
588
631
696
661
672
646
700
661
676
638
638
673
629
683
587
688
696
609
684
641
612
679
661
626
627
699
654
667
692
639
661
647
659
657
647
630
670
673
656
706
679
688
687
702
690
653
671
663
657
661
665
668
659
693
616
661
625
678
652
694
622
667
655
676
673
645
636
660
662
656
648
609
657
605
670
672
645
682
647
711
665
700
614
688
645
649
659
625
666
657
683
676
644
640
649
659
668
669
650
638
656
635
612
673
660
651
633
637
656
686
684
661
649
677
638
672
653
631
628
608
626
708
681
649
662
667
616
634
651
616
597
695
676
641
643
685
677
673
645
614
656
598
677
601
657
671
621
647
654
667
651
657
645
645
629
644
650
664
677
655
657
655
680
677
668
675
674
690
654
641
673
642
687
625
693
648
661
644
682
659
679
654
683
638
659
654
679
638
631
660
664
662
698
635
655
648
663
657
637
639
647
713
684
613
674
640
673
690
665
626
667
717
714
647
690
648
650
649
648
715
666
652
660
606
699
653
624
657
617
772
678
657
644
647
583
681
671
649
709
615
610
655
657
642
692
671
646
675
675
659
634
619
667
714
612
668
686
642
660
637
662
635
707
661
649
704
639
675
692
652
694
650
661
653
639
715
647
624
617
638
628
654
669
648
695
637
613
671
666
649
607
671
666
633
675
684
643
629
649
623
650
637
694
656
680
645
694
675
642
642
726
682
665
611
648
663
700
631
700
660
605
708
669
669
666
730
672
655
662
615
648
648
634
640
649
669
690
640
661
605
664
684
666
673
646
688
679
680
676
657
693
626
643
832
661
653
657
669
651
658
622
650
641
638
619
629
636
653
651
680
680
604
641
678
669
672
595
641
706
624
668
613
670
670
668
639
666
668
655
659
594
711
629
649
663
664
694
710
639
673
652
623
639
728
613
644
705
696
651
614
611
676
667
669
649
636
670
665
654
678
683
675
639
694
646
642
591
655
667
629
668
666
645
691
684
604
647
662
655
677
657
627
662
667
582
684
707
653
616
667
640
670
677
628
645
645
677
673
658
677
652
643
652
696
654
655
690
651
646
622
697
683
613
637
705
653
669
685
710
665
675
659
663
627
666
648
635
671
635
685
669
687
700
688
676
626
627
706
645
633
627
665
652
667
686
680
687
647
667
672
680
685
621
704
632
682
649
664
650
679
669
671
634
618
624
673
618
643
650
659
629
674
627
683
689
650
654
680
642
635
668
634
687
633
668
664
688
703
653
676
628
640
613
640
686
670
616
678
675
667
670
642
652
650
645
645
660
658
604
706
673
651
662
648
593
661
682
673
637
640
635
652
707
623
668
668
627
687
651
674
680
675
618
715
660
683
679
666
668
659
668
651
672
642
678
669
657
698
670
692
681
589
701
629
590
663
618
656
632
648
675
669
649
679
665
655
648
682
673
698
651
657
680
656
622
657
688
677
683
644
697
662
616
843
654
672
665
653
682
633
619
632
618
630
626
684
613
673
657
667
673
644
624
628
635
627
605
645
627
709
672
676
684
673
722
635
668
684
641
659
650
682
674
677
635
668
668
635
636
692
665
662
630
667
654
681
719
660
713
656
657
648
657
678
700
673
653
648
640
670
676
710
647
695
747
607
667
657
688
661
676
628
666
652
682
667
649
661
628
675
679
680
680
689
680
677
635
703
629
618
635
643
638
623
626
675
651
634
675
673
670
630
637
655
717
632
660
688
618
656
640
669
656
676
622
669
677
671
650
639
669
670
618
626
666
697
679
639
657
644
675
669
629
683
666
675
637
661
653
649
672
640
652
661
695
682
610
670
624
661
657
683
663
704
694
656
690
678
671
670
651
732
644
697
657
619
684
672
683
646
656
712
648
649
652
702
657
698
690
617
648
641
697
616
623
683
644
627
658
629
648
688
644
609
673
658
600
681
632
677
676
674
670
668
654
687
684
672
695
639
654
666
670
673
672
667
616
659
665
681
631
663
658
643
675
648
682
676
639
647
681
653
641
681
705
693
648
657
631
694
662
760
682
647
675
639
642
614
658
620
689
605
696
660
680
632
654
647
657
676
691
653
640
668
656
637
668
663
719
650
625
699
679
649
682
625
675
652
643
662
650
671
647
621
679
649
714
703
627
643
673
641
682
648
613
621
609
678
705
692
644
638
660
702
646
668
659
655
644
671
654
666
659
661
648
656
609
689
662
631
678
677
711
679
624
666
658
703
651
640
666
657
654
677
693
673
635
690
622
669
697
665
645
665
664
662
656
652
646
675
646
668
612
671
689
673
687
624
662
650
662
681
704
686
661
659
632
637
645
647
686
637
700
690
652
668
677
688
657
617
709
695
651
649
639
686
665
672
597
655
636
665
671
642
665
677
695
633
679
654
667
648
717
671
657
653
659
633
696
678
634
643
662
619
654
691
696
691
697
672
638
672
599
634
692
682
589
629
664
669
690
666
652
656
653
695
687
648
692
681
666
667
670
612
671
657
610
650
652
663
611
639
633
674
656
659
617
678
684
716
693
710
637
647
674
667
631
652
651
642
644
639
638
639
659
648
641
623
642
656
650
687
630
652
686
632
664
666
622
674
657
597
660
652
695
679
654
702
626
693
691
645
665
654
692
615
695
666
652
705
672
657
653
670
655
635
653
655
649
626
630
613
706
688
661
630
670
697
659
673
654
708
729
623
676
645
664
668
692
712
675
677
635
677
631
613
679
643
713
619
666
657
663
635
661
638
687
596
634
610
664
635
615
637
614
639
657
634
624
674
609
649
713
692
691
664
609
664
678
657
634
689
687
682
717
626
681
627
649
642
636
671
641
632
672
627
685
683
665
657
660
683
661
671
669
635
637
621
660
647
634
650
697
649
653
664
651
668
639
640
649
650
709
623
681
734
683
669
646
683
659
675
648
620
641
639
616
654
633
630
670
692
625
680
641
711
673
682
667
655
604
648
641
651
668
704
669
682
668
669
652
641
653
668
665
677
662
671
638
626
698
656
647
642
656
677
700
600
677
661
634
657
645
660
672
681
638
646
690
665
702
676
674
630
648
675
671
651
628
653
651
690
661
655
647
668
623
653
645
659
671
675
649
645
679
649
681
625
716
646
679
639
666
645
694
672
647
646
668
681
637
664
637
634
700
671
648
666
609
668
697
676
712
656
642
628
701
664
647
621
636
645
617
638
698
686
671
641
669
637
657
670
658
671
671
670
627
700
654
673
658
649
639
636
653
641
606
706
663
661
646
640
673
649
646
719
635
643
591
640
671
635
665
642
651
653
649
648
659
640
661
665
704
682
665
685
677
667
649
698
657
694
685
647
647
681
656
671
674
650
647
662
665
660
644
652
670
650
669
639
661
660
688
683
679
627
643
648
653
685
668
664
668
667
684
655
674
672
658
661
626
652
632
687
652
676
651
634
667
666
682
698
640
636
665
641
657
705
657
667
665
631
659
674
694
665
701
654
586
673
671
697
703
663
724
625
661
650
647
639
711
661
620
653
680
674
639
670
705
719
718
714
687
621
611
664
727
644
661
626
626
619
722
599
681
629
648
652
695
655
625
667
670
654
665
663
676
610
672
626
691
623
649
657
702
671
694
668
691
648
684
633
751
646
606
619
687
700
678
679
651
675
655
693
668
674
668
672
618
658
651
647
688
573
645
668
666
647
652
676
646
655
633
670
683
643
692
692
654
659
646
632
677
711
678
662
629
619
647
669
679
643
672
657
667
632
683
672
658
665
654
671
670
657
695
681
679
629
603
683
698
640
626
665
662
664
668
667
673
665
657
670
708
702
674
651
671
680
641
666
620
653
704
635
663
655
663
650
648
665
671
677
708
642
659
677
654
623
648
684
674
643
681
710
690
666
656
638
690
685
639
683
661
643
665
616
668
645
655
653
648
684
657
684
632
660
659
660
714
653
649
664
653
682
721
650
704
646
632
660
653
711
674
658
691
659
650
656
653
678
655
702
700
639
618
638
676
662
647
696
668
676
691
632
677
689
705
679
648
652
657
682
665
621
688
619
645
664
702
642
646
656
671
659
652
684
671
687
688
637
671
662
686
676
628
660
677
660
655
688
675
706
635
644
668
640
683
675
695
662
635
666
657
660
678
618
612
656
654
675
628
690
648
702
667
668
720
636
678
692
658
686
704
677
695
652
669
659
711
633
635
686
676
661
684
679
673
647
646
683
630
636
706
637
641
683
663
654
674
654
690
587
665
682
641
778
680
662
701
690
660
676
694
649
686
677
657
670
642
657
697
669
665
674
644
679
674
636
683
673
681
694
643
673
662
643
680
619
740
637
614
678
667
666
657
645
643
673
672
670
627
642
651
685
667
644
685
685
701
705
694
669
665
608
703
671
705
628
700
720
668
661
694
678
690
658
658
649
674
702
678
682
649
631
686
662
625
638
679
659
676
633
644
675
650
677
729
677
640
649
685
696
669
653
675
703
673
639
615
630
639
656
699
692
648
683
653
619
665
676
654
705
679
671
655
675
678
667
620
689
624
598
658
629
619
659
648
659
668
647
668
600
626
687
685
711
654
623
655
673
667
674
651
642
672
709
678
645
642
667
653
679
691
683
700
672
630
655
679
663
625
646
649
700
674
642
662
639
657
663
669
659
648
673
700
663
669
637
607
671
741
658
645
647
677
665
684
651
659
683
673
627
683
634
670
673
677
681
688
677
622
664
647
651
637
664
692
670
645
654
650
626
674
665
669
662
696
659
729
641
689
662
656
681
674
697
701
704
687
663
619
663
685
663
710
722
699
717
652
682
665
691
625
691
674
639
697
701
668
670
681
662
634
680
660
667
629
647
638
720
678
681
663
686
663
644
664
742
662
686
680
663
653
637
674
674
660
673
653
671
683
634
661
671
662
657
632
659
675
659
679
691
711
638
717
667
682
645
686
691
663
666
620
658
640
621
689
653
626
682
650
679
669
651
659
674
681
646
657
664
662
686
654
685
682
653
632
672
660
663
684
655
651
669
664
708
679
631
636
669
629
660
651
673
633
663
674
701
676
668
662
686
700
671
624
659
648
683
669
659
672
642
677
629
630
619
642
700
633
629
618
642
637
678
648
709
669
663
678
660
648
696
637
639
630
667
661
648
708
672
637
642
629
690
688
682
673
643
613
676
642
678
670
683
658
662
683
647
650
589
663
663
650
651
635
690
671
625
672
681
664
650
644
608
674
701
701
676
690
688
625
690
631
657
630
665
658
634
686
626
699
661
695
627
663
689
654
633
668
647
657
669
686
708
669
692
625
619
682
604
758
679
674
677
653
666
661
666
666
664
680
669
692
640
627
638
645
681
692
676
636
675
668
701
648
677
650
673
643
673
651
644
645
664
707
677
700
622
667
696
685
695
665
669
638
709
615
608
698
646
689
659
671
670
657
637
711
709
667
638
703
666
671
668
686
647
679
660
636
695
692
690
679
667
687
668
632
928
661
659
703
644
630
713
615
630
631
678
672
666
669
676
654
653
690
697
624
677
652
652
797
673
660
698
674
654
703
645
647
663
630
669
672
656
632
708
651
669
659
675
672
632
660
653
649
649
696
649
682
681
754
680
652
651
626
644
689
669
658
668
638
653
683
642
651
671
712
673
591
621
635
659
681
700
669
676
651
644
668
629
676
657
675
677
668
611
715
658
660
666
684
674
641
675
707
629
670
661
666
665
648
638
695
650
626
665
680
667
616
647
678
702
646
666
631
649
687
631
659
649
659
674
708
664
614
672
680
685
673
676
630
668
703
667
704
627
702
695
639
688
637
691
699
689
671
667
706
637
656
687
655
668
626
618
682
622
631
683
684
688
708
654
620
678
688
695
659
699
664
662
641
655
687
728
617
685
665
675
641
677
671
657
662
704
637
664
693
652
654
659
703
643
672
645
672
620
626
712
678
669
663
711
671
621
619
659
676
637
704
659
720
713
699
697
677
702
679
654
648
677
643
678
684
660
663
683
693
693
680
689
682
671
657
692
662
700
707
620
691
649
724
626
637
621
679
647
670
665
651
636
673
670
675
646
684
702
690
661
677
684
642
633
653
673
674
688
608
661
704
631
651
671
652
683
712
643
737
670
659
651
698
686
648
646
781
684
678
705
639
685
700
660
651
670
641
667
685
652
659
649
682
649
638
649
647
680
681
685
635
644
628
696
695
648
646
657
697
671
677
690
649
674
683
640
673
676
658
692
711
707
649
665
596
681
694
642
689
660
609
654
643
711
680
631
658
680
734
607
667
674
651
668
662
680
647
610
686
659
626
685
713
669
689
669
689
727
672
704
629
666
682
649
678
615
652
730
685
636
656
645
697
650
684
654
671
709
649
660
624
678
684
708
706
688
665
640
690
684
667
655
645
679
647
669
684
650
664
695
660
643
651
661
710
609
674
670
630
727
687
671
708
713
667
656
670
634
665
684
651
634
659
661
660
673
620
625
649
680
672
669
602
644
687
685
672
623
672
625
668
688
635
682
692
632
680
690
667
708
664
675
641
669
642
660
644
668
675
675
629
644
661
653
628
660
679
638
642
687
642
687
666
686
675
662
712
669
657
695
671
680
657
732
698
665
689
700
695
712
696
685
694
681
651
648
689
654
661
689
707
669
717
658
717
632
784
654
675
702
642
661
663
652
648
693
694
654
642
647
589
668
670
700
685
733
662
662
678
664
697
700
661
644
683
661
705
673
652
668
621
671
593
691
641
705
670
702
652
612
671
648
653
694
677
665
654
648
685
648
670
686
662
661
691
625
673
693
686
619
674
638
666
718
698
634
678
646
676
655
683
612
670
616
715
664
670
682
685
620
678
657
630
637
692
630
637
686
669
658
686
678
636
635
786
687
668
637
695
662
672
672
628
677
703
671
619
680
692
679
696
673
752
641
655
660
677
665
672
663
643
633
669
608
681
702
662
684
660
706
702
667
697
655
630
720
671
662
647
601
671
695
673
650
666
696
636
673
693
681
653
672
695
679
648
724
627
691
694
653
689
678
698
676
657
684
650
694
663
671
679
718
708
661
695
715
664
703
633
688
683
676
668
677
695
640
657
622
696
694
675
674
691
658
671
679
666
662
637
665
653
627
691
707
663
705
693
632
696
679
676
689
646
635
652
681
666
660
684
689
675
633
678
675
696
723
666
666
672
686
670
648
672
671
680
632
662
683
682
635
671
677
653
724
715
672
640
629
670
696
638
648
710
669
684
669
631
712
675
685
701
616
679
662
676
646
761
702
689
681
680
666
661
627
671
692
660
687
657
646
680
612
680
675
671
682
705
680
652
654
666
645
687
671
671
662
708
635
637
641
656
693
633
634
664
696
681
651
656
649
648
682
652
674
662
695
633
649
680
704
679
663
717
702
632
653
630
666
631
640
667
671
687
664
693
688
680
630
689
701
677
665
634
691
686
665
673
664
668
725
712
764
671
663
683
670
660
659
654
663
662
679
649
656
656
681
672
677
662
709
673
686
715
699
665
667
701
678
657
656
717
683
724
653
643
690
658
637
728
651
652
665
690
628
673
705
636
673
683
657
673
725
640
691
654
705
636
671
670
661
679
734
691
660
673
669
639
641
725
686
689
687
642
650
664
665
714
704
676
621
612
686
640
692
655
651
656
671
678
681
655
671
665
683
644
673
717
706
669
649
679
693
687
646
687
681
702
689
669
683
645
656
631
655
687
636
617
644
666
676
654
655
642
657
674
666
646
649
659
681
694
630
657
665
709
688
654
666
677
673
647
673
636
679
649
670
692
715
650
756
625
667
686
684
718
682
650
660
693
666
654
697
672
669
656
674
641
628
634
652
682
682
650
668
704
660
647
704
613
693
675
648
670
650
827
642
653
633
643
667
704
671
663
642
672
710
681
703
661
668
635
642
667
684
650
669
720
649
699
673
704
654
666
667
651
687
654
627
649
655
679
657
700
657
680
681
638
679
665
674
663
697
678
659
803
660
687
709
699
631
651
659
645
663
640
620
665
661
678
657
645
634
667
653
643
