12
10
11
11
10
10
12
11
11
10
10
11
12
10
11
10
11
11
11
12
11
11
11
10
11
12
12
12
10
10
9
11
11
12
11
11
10
11
10
11
10
10
10
11
11
10
11
12
10
12
11
12
11
11
11
11
12
10
12
12
11
10
12
10
11
11
12
11
9
11
11
10
11
10
11
12
12
10
11
10
12
10
12
10
11
12
11
10
13
12
11
11
11
11
11
10
12
11
11
9
11
11
11
12
10
11
10
11
12
11
11
10
9
10
10
12
11
11
11
11
11
11
10
10
10
10
10
10
12
11
10
10
10
10
11
12
11
11
12
10
10
11
9
13
11
11
11
11
11
12
10
12
11
12
10
11
13
13
10
11
13
11
10
10
11
11
11
12
11
11
12
10
11
11
11
12
10
10
11
11
10
11
11
11
10
11
12
12
11
11
11
11
13
10
11
11
12
10
11
11
11
10
11
10
11
11
12
11
10
11
10
12
11
11
11
10
11
11
11
11
10
11
11
11
12
11
11
11
11
11
10
11
14
11
11
11
12
12
11
11
11
11
11
12
10
10
10
10
12
12
10
11
12
11
12
12
12
10
13
11
8
12
11
11
11
11
11
10
11
10
10
11
9
11
13
11
11
11
10
11
11
11
12
13
11
11
10
11
12
11
12
11
11
11
10
10
10
12
11
11
10
11
11
12
11
10
11
10
10
12
11
12
10
11
11
10
10
11
11
12
10
11
12
10
11
10
11
11
11
10
12
13
10
11
11
10
11
11
10
9
11
11
10
10
10
11
12
11
13
12
11
11
11
11
12
10
11
12
11
11
11
9
10
10
10
10
11
12
12
10
10
10
10
11
11
10
12
12
11
11
11
10
10
14
12
10
11
11
11
11
12
11
12
11
12
11
11
11
12
13
11
10
11
10
10
11
11
11
9
10
11
10
11
12
11
12
11
11
10
11
12
10
11
11
12
11
12
12
10
10
12
11
13
10
10
10
10
10
10
11
11
12
11
12
10
11
10
11
10
11
11
11
11
11
11
11
10
13
11
10
11
11
11
11
11
12
11
11
11
10
11
12
11
12
11
11
10
11
10
12
10
11
12
11
12
11
10
11
11
10
11
11
12
11
11
12
11
10
11
11
11
10
11
11
10
11
10
10
11
11
10
10
11
15
10
12
11
11
9
11
9
11
9
10
13
11
10
10
10
11
11
11
10
13
10
12
12
11
11
12
10
11
11
11
9
10
10
11
10
12
11
11
11
12
10
12
11
13
11
10
11
10
10
10
12
12
11
12
11
11
10
11
10
11
12
10
12
11
11
11
11
11
11
11
11
11
10
11
11
12
12
12
11
11
11
12
11
11
11
11
13
10
13
11
10
10
11
11
10
12
10
10
11
11
11
13
10
11
11
12
12
10
12
11
11
12
12
11
11
10
11
11
11
10
11
11
12
11
11
12
11
12
10
11
11
11
11
10
11
11
11
12
10
10
9
10
10
10
12
12
10
11
10
10
12
10
10
12
12
12
13
10
11
11
11
10
10
11
12
11
12
12
11
11
12
11
11
11
12
10
11
13
10
10
11
10
11
11
10
11
10
11
10
11
11
11
11
10
11
10
12
12
11
11
10
10
12
12
10
11
11
11
12
11
11
11
9
11
11
11
11
12
11
12
12
10
11
10
11
11
11
11
11
11
13
11
11
11
11
12
11
12
11
10
13
11
10
9
13
9
10
11
11
12
10
11
11
12
12
12
11
11
10
12
10
11
11
11
13
11
12
12
11
13
12
13
12
11
10
12
13
10
10
10
12
11
11
10
9
13
11
12
11
11
12
11
10
11
11
12
11
11
11
12
12
11
10
10
11
12
14
10
11
11
10
10
11
10
11
11
12
11
11
12
11
11
11
12
11
12
11
11
10
11
11
12
11
10
12
11
10
11
12
12
13
11
11
10
12
12
11
10
12
11
10
10
12
9
11
11
11
11
13
11
10
11
11
12
10
12
10
10
10
10
11
11
12
11
10
10
11
11
12
12
11
12
11
11
11
10
11
11
10
10
11
12
11
11
10
11
12
10
11
11
12
10
12
11
11
11
11
10
12
10
13
10
11
12
12
11
12
10
10
11
10
11
11
11
10
11
11
10
10
10
11
11
11
11
12
10
11
11
12
11
11
11
10
10
11
10
11
11
11
11
11
11
11
11
13
12
11
10
11
11
10
10
11
11
10
13
11
11
11
10
12
12
10
11
9
11
12
11
14
11
13
12
12
10
11
10
21
22
20
23
21
21
21
22
23
22
23
22
23
21
22
22
21
22
21
22
21
22
19
22
21
20
21
22
23
23
22
19
23
22
22
22
22
22
22
22
22
21
23
22
19
21
21
21
19
22
22
22
23
16
20
22
22
21
22
21
23
20
21
21
22
23
22
22
20
21
22
22
21
20
24
21
21
20
22
24
21
21
21
20
22
22
21
22
20
21
21
21
21
20
22
23
22
12
23
22
21
20
22
23
20
22
22
22
22
21
21
21
21
22
22
22
20
22
22
22
22
23
22
22
23
24
21
21
20
21
22
22
24
21
21
22
22
21
19
23
20
21
21
20
21
21
20
20
21
23
23
22
23
22
20
23
22
21
21
22
22
21
21
22
22
22
21
21
23
22
22
23
21
21
20
22
20
22
22
21
21
22
22
21
23
23
21
22
24
21
19
21
22
22
24
21
22
23
23
22
23
22
21
23
24
22
22
21
23
21
22
21
24
21
21
22
21
22
23
21
24
21
22
21
22
21
24
21
23
21
19
21
22
22
22
23
21
19
22
23
22
22
21
21
22
22
21
20
20
21
22
19
21
20
20
21
23
21
22
19
22
20
22
20
22
20
21
22
21
21
23
21
21
21
22
21
20
21
22
21
21
21
22
21
21
21
23
23
21
22
21
21
21
19
21
22
22
22
22
21
20
20
22
23
21
20
21
21
21
22
23
22
22
22
22
23
21
21
21
21
21
22
22
21
22
20
21
22
14
22
22
21
22
22
23
20
22
21
21
23
22
21
21
21
22
21
15
21
21
21
21
22
22
22
20
21
23
20
22
22
21
21
20
21
23
21
21
23
21
22
22
22
22
22
23
22
21
20
22
21
19
21
17
23
20
22
22
21
21
22
22
22
20
24
23
20
21
13
22
23
22
22
21
21
21
22
22
21
23
24
23
20
21
21
23
22
21
21
22
22
22
22
22
22
21
21
21
21
22
22
21
22
22
21
22
21
21
21
22
22
21
22
21
21
21
20
21
20
22
21
23
20
21
21
22
23
22
23
23
18
23
21
23
23
22
22
23
20
21
20
22
22
23
22
21
23
22
21
22
22
21
21
22
22
22
22
21
18
21
22
22
23
22
22
23
22
22
20
20
21
20
23
23
22
21
22
22
21
21
22
23
20
20
22
23
22
22
22
22
23
22
13
21
21
22
22
21
22
23
21
22
22
23
21
20
23
22
23
22
20
20
22
22
23
21
21
20
20
21
24
21
22
23
22
21
21
23
22
21
21
22
23
21
22
21
22
21
23
20
20
23
21
23
22
20
23
23
21
21
22
20
19
22
22
22
21
22
22
12
21
23
21
22
21
21
20
21
22
23
21
21
21
21
22
21
21
21
24
22
23
23
21
21
22
21
21
22
23
23
21
20
22
23
21
22
21
21
14
20
22
23
22
21
21
22
22
20
22
23
19
22
23
23
20
20
22
20
23
22
19
22
21
22
23
22
22
23
22
23
23
20
23
23
22
22
22
22
21
22
21
20
20
21
22
22
22
22
22
23
22
22
21
22
16
21
21
21
21
23
22
21
21
20
21
21
22
21
22
21
23
22
22
21
22
22
22
21
22
22
23
22
21
24
23
22
21
21
22
22
21
21
22
22
21
20
22
21
21
21
22
21
23
22
21
21
22
22
23
22
23
20
21
21
22
21
22
20
22
22
23
20
20
22
22
21
20
23
23
22
23
22
20
22
20
20
21
25
20
20
22
21
22
22
22
23
20
21
21
22
23
22
21
20
21
21
22
22
22
22
23
21
22
24
22
21
24
23
21
20
22
22
22
24
22
20
22
23
23
22
21
21
21
23
21
21
22
22
21
22
23
26
21
22
21
21
19
22
21
21
22
19
21
22
22
21
22
22
17
17
21
21
21
20
22
23
19
21
22
22
22
22
23
22
22
22
21
22
20
20
22
23
21
20
22
21
22
23
22
22
23
22
22
22
19
18
22
21
21
21
22
22
24
24
22
21
21
22
22
22
21
22
20
20
22
24
21
21
22
21
23
21
24
22
22
24
22
21
22
20
22
23
21
22
22
23
22
24
21
22
22
21
21
22
23
22
22
22
22
21
22
22
21
21
22
21
20
23
25
21
22
22
21
23
19
21
21
20
22
21
22
20
21
22
21
21
20
21
23
22
22
21
21
21
22
19
23
22
21
22
21
23
22
21
21
17
21
19
22
22
22
21
20
22
21
19
21
22
23
22
22
22
22
24
21
20
22
21
21
21
22
32
33
32
33
34
33
32
34
33
32
32
32
33
31
34
32
33
31
33
31
31
31
31
32
30
32
32
32
32
33
31
34
33
32
33
32
32
31
35
32
32
32
33
31
30
32
34
33
33
32
32
33
34
29
32
33
30
26
32
32
33
32
34
32
33
33
33
31
27
33
31
32
33
24
33
32
31
32
31
32
31
30
31
33
32
32
31
34
34
32
31
32
31
33
33
33
32
32
31
36
30
32
33
32
33
31
34
32
32
25
30
31
31
32
32
32
33
32
32
33
32
33
32
32
32
33
32
32
33
32
32
30
33
31
32
34
31
30
32
31
33
32
33
30
31
32
30
33
30
33
32
32
32
33
31
34
32
33
30
26
32
32
32
32
32
32
33
33
34
33
32
30
31
32
33
34
23
31
33
33
32
31
34
32
33
33
31
30
30
31
33
32
32
32
32
32
31
31
32
31
32
34
34
31
33
33
32
33
34
31
32
31
30
33
33
32
34
34
31
30
32
32
32
32
32
32
32
33
31
28
29
31
35
31
32
31
26
31
34
34
33
33
33
33
32
32
32
32
30
31
30
35
31
31
35
34
30
33
33
33
31
32
32
20
30
33
33
32
22
32
31
32
34
25
32
31
33
33
33
33
31
32
33
32
35
34
32
33
33
31
25
33
32
34
32
34
33
33
33
31
32
32
30
33
31
33
31
33
30
32
33
32
32
33
30
31
31
30
32
33
33
33
32
32
32
32
32
31
31
33
31
32
31
32
23
31
33
30
31
33
31
33
34
32
33
30
32
33
31
33
34
32
33
30
33
34
31
31
33
33
32
31
33
32
35
30
30
32
33
22
33
32
32
31
32
32
33
32
30
32
32
32
32
33
32
31
31
32
32
32
32
33
32
33
31
31
34
34
33
32
31
32
33
34
30
32
32
32
33
30
32
32
35
31
30
31
32
32
30
33
28
35
31
33
33
32
32
32
33
33
32
34
33
26
30
33
31
25
33
32
32
32
31
32
31
31
32
33
31
31
31
30
32
32
32
33
32
33
31
32
32
34
32
34
32
32
32
31
28
32
32
33
34
32
32
33
31
30
31
32
30
28
33
34
33
32
32
32
32
30
33
31
33
34
32
33
34
32
33
30
32
33
31
32
33
34
34
30
34
31
33
30
22
32
31
32
20
33
31
34
32
28
33
33
33
32
23
32
35
33
31
31
33
34
33
31
33
31
32
31
35
31
33
32
32
33
33
32
32
32
30
32
31
31
32
32
32
32
31
32
32
32
31
32
33
32
32
32
33
31
32
33
33
33
32
21
31
34
32
31
33
33
31
31
32
31
33
31
30
32
33
32
34
34
32
31
32
32
31
34
33
30
34
31
33
32
31
34
31
34
34
31
33
33
31
32
34
32
33
30
34
32
31
33
31
32
32
33
30
32
31
31
31
30
33
33
32
31
33
32
32
33
32
33
32
32
32
32
32
33
34
32
33
30
32
32
34
32
32
31
31
32
33
31
33
32
28
33
34
33
34
31
33
33
33
35
32
34
29
33
23
32
31
33
32
32
33
30
31
33
34
33
32
34
32
31
33
34
33
34
33
32
32
32
32
30
29
31
33
32
32
33
34
32
32
32
32
33
32
30
32
32
33
32
30
32
33
32
33
30
31
33
31
35
32
33
33
32
32
31
33
33
33
32
33
33
32
32
32
28
32
32
26
33
33
31
33
24
31
35
32
32
32
33
31
33
32
32
33
33
32
30
33
33
31
32
33
32
33
32
33
33
34
32
33
33
32
32
33
32
32
33
33
31
33
31
31
33
35
32
32
33
33
31
34
32
32
32
32
29
31
32
33
30
32
31
33
28
34
33
32
32
32
33
32
34
34
31
32
31
30
33
30
34
32
31
32
32
31
31
34
31
31
30
35
30
31
31
34
34
33
29
33
32
33
33
31
32
34
31
33
32
32
31
32
32
31
32
31
32
32
32
32
32
30
32
31
33
32
34
32
33
32
32
31
31
31
31
30
31
25
29
32
31
32
34
31
33
32
30
32
33
33
33
31
31
31
32
32
31
31
30
34
32
32
30
32
32
33
32
36
22
32
32
32
31
33
30
26
33
34
32
33
30
32
30
31
32
33
32
31
31
33
32
31
30
33
34
32
31
31
32
34
31
33
33
31
32
31
32
32
32
30
30
24
31
29
33
32
31
32
35
33
31
32
32
33
33
33
33
30
30
32
32
32
31
32
33
31
32
26
32
32
33
31
32
33
31
32
31
43
42
43
41
44
41
42
35
41
42
32
44
41
42
45
41
43
43
41
44
43
36
43
43
44
43
42
41
44
42
44
42
44
41
44
43
43
44
43
43
33
44
41
44
44
40
42
46
43
42
44
43
35
44
44
43
44
44
41
44
43
35
44
42
42
41
43
42
33
40
35
44
44
43
42
42
41
42
42
43
43
44
42
44
42
43
42
42
41
41
42
45
40
43
41
45
44
41
42
42
43
41
43
42
43
43
43
42
42
40
44
43
43
42
44
42
36
43
43
41
43
35
42
45
43
42
42
40
43
43
44
39
42
41
42
34
44
42
43
33
43
44
35
41
43
41
42
44
42
39
41
41
42
43
43
43
44
43
38
42
42
44
38
39
43
46
43
41
43
44
42
44
39
42
43
44
43
43
43
41
42
43
43
40
43
43
43
38
43
43
41
44
44
39
41
44
44
42
44
41
43
45
41
33
42
42
44
41
43
43
41
43
41
44
41
43
43
40
32
40
41
42
44
44
43
41
43
42
34
40
42
42
41
41
44
44
42
43
41
44
41
45
43
40
40
43
42
44
45
40
44
45
43
44
44
41
43
42
41
40
45
43
38
42
41
43
36
41
44
41
41
43
43
44
43
43
42
43
43
42
43
41
45
41
43
42
42
43
42
34
43
43
43
41
43
41
42
44
42
44
42
44
41
44
44
42
43
41
42
43
44
41
43
42
42
44
42
42
43
42
42
45
42
43
40
43
44
43
45
43
43
42
45
40
45
40
41
42
42
41
44
43
44
44
40
33
43
42
41
42
43
43
43
44
42
42
44
40
44
43
43
42
40
43
43
44
45
43
42
42
41
43
43
42
43
30
42
42
42
43
44
43
41
42
43
41
42
39
44
42
41
44
37
37
40
43
43
35
44
42
34
41
42
43
42
41
44
42
45
41
42
43
42
41
39
44
42
44
42
43
43
43
45
42
43
32
37
43
43
42
35
43
42
41
42
42
45
43
41
44
42
42
41
32
44
44
44
43
44
41
44
44
35
42
42
43
45
43
42
44
42
42
44
42
46
41
41
44
43
41
44
42
44
43
42
44
40
40
41
40
39
44
40
35
42
44
44
42
31
41
42
43
43
38
43
42
44
44
42
36
44
44
40
42
43
42
43
44
43
46
34
43
44
43
42
44
43
43
43
44
42
42
42
42
42
44
44
41
42
42
34
43
43
37
43
44
43
44
43
42
45
42
42
44
43
40
42
42
43
45
42
43
42
43
42
41
43
44
43
44
42
43
44
42
43
41
44
42
41
43
42
41
44
42
37
44
43
43
42
40
42
44
42
42
40
42
44
43
41
42
43
43
43
43
35
44
43
43
43
43
42
41
44
42
41
44
43
43
35
41
41
43
43
42
33
44
42
43
42
43
44
43
38
43
43
44
43
46
41
44
41
44
44
40
43
40
45
41
40
43
42
41
41
44
44
39
42
42
42
45
44
46
44
44
44
40
43
35
44
40
42
43
45
44
44
44
32
44
44
44
43
43
40
42
40
43
43
41
42
43
45
43
42
42
41
44
42
44
33
43
38
43
41
42
42
43
42
45
42
42
40
43
42
43
42
43
41
41
41
43
44
35
44
43
41
43
40
42
44
36
45
43
42
43
44
42
40
46
45
43
35
43
41
43
44
42
42
40
43
43
43
43
43
41
43
43
45
46
41
42
42
44
43
41
38
44
40
41
37
43
42
43
41
43
42
44
42
44
44
37
43
43
43
40
36
43
43
42
44
42
31
45
42
43
41
39
43
45
43
40
28
42
43
43
43
40
36
44
42
44
43
34
42
42
44
42
42
42
37
44
43
42
43
44
42
44
42
37
44
42
43
42
43
43
36
33
41
33
43
44
40
43
40
42
41
44
43
43
44
44
40
43
42
44
42
42
44
42
41
42
44
41
43
42
41
42
43
42
39
41
42
45
42
43
42
41
44
43
42
43
44
45
43
44
44
43
45
38
44
43
42
43
42
43
44
42
45
43
41
44
44
43
40
43
44
43
43
42
44
47
42
44
43
41
44
43
42
43
34
43
43
45
44
44
43
40
43
44
44
42
46
46
44
42
44
42
43
41
45
44
43
43
42
44
42
42
42
39
45
43
46
42
35
43
43
43
42
41
35
43
40
43
41
43
43
44
42
42
42
41
41
44
43
43
43
43
41
43
41
43
43
45
43
42
43
41
42
41
44
41
42
41
42
45
44
31
39
43
43
41
40
44
41
42
43
45
41
41
42
44
52
55
56
54
53
52
52
53
54
53
51
51
53
52
52
49
53
42
53
55
54
55
53
45
55
53
54
54
52
54
53
55
54
53
52
52
53
44
51
55
49
51
52
54
51
47
50
53
54
54
51
50
56
53
52
52
43
52
56
52
44
53
53
53
53
51
44
54
52
53
53
45
54
52
53
44
52
53
53
53
53
52
51
52
52
51
54
51
54
54
52
53
53
53
51
51
55
53
46
53
53
51
53
55
51
54
54
45
54
54
54
52
51
54
56
55
50
54
52
54
52
54
53
54
53
55
55
55
55
55
52
50
53
54
54
44
55
52
45
53
52
55
55
51
53
56
55
55
53
52
53
51
53
53
52
55
52
52
54
52
54
46
49
53
54
52
47
54
48
54
55
56
50
54
51
54
54
54
51
54
52
54
53
52
55
51
55
50
55
52
53
53
52
53
51
52
53
53
49
55
52
53
54
56
54
57
53
52
55
54
53
54
54
52
54
52
53
53
48
53
53
54
51
46
53
51
53
55
54
54
54
54
51
53
54
49
53
54
52
54
53
41
53
53
54
51
46
54
52
55
43
55
53
53
52
52
48
53
46
54
53
52
53
54
52
53
50
54
52
53
53
54
56
53
54
56
53
55
54
54
54
55
52
51
52
51
56
33
53
48
53
53
50
53
52
54
55
47
53
44
54
51
55
54
54
48
50
54
54
49
52
54
55
54
53
46
53
56
55
56
51
54
51
53
52
52
53
54
52
55
53
55
53
48
54
53
53
52
54
56
39
47
55
52
54
53
54
50
54
56
55
45
54
54
54
53
54
53
51
43
57
52
51
45
54
54
54
50
53
51
51
56
49
51
51
53
54
57
56
51
55
52
52
55
52
51
53
50
53
52
52
52
53
53
53
54
54
56
53
53
53
52
55
45
53
53
43
56
54
45
56
51
53
54
55
54
53
52
54
54
53
55
54
53
54
54
53
50
49
52
55
53
42
53
55
52
53
54
53
50
56
53
53
54
54
53
52
53
53
55
53
54
55
53
51
52
53
54
52
54
51
52
55
45
52
51
52
53
54
53
51
56
54
54
45
52
54
50
53
54
48
53
48
36
52
53
54
54
51
54
52
53
53
54
54
52
53
52
43
53
53
54
47
46
52
53
47
54
53
55
54
53
53
55
53
51
52
53
54
53
55
55
47
54
53
52
52
50
54
55
55
52
51
50
52
54
52
56
52
43
50
53
51
52
51
53
51
52
44
46
55
55
53
48
53
52
56
43
53
55
45
53
54
56
55
48
42
51
55
45
53
54
55
52
52
55
57
51
52
55
53
55
52
54
53
48
53
52
54
53
51
45
53
51
54
54
52
52
54
54
45
53
48
55
52
45
54
53
55
53
52
52
54
53
52
51
55
54
53
55
54
54
56
54
54
51
51
55
54
53
49
54
49
52
53
52
52
53
55
52
50
55
52
51
55
51
52
52
54
52
51
53
52
53
52
53
53
50
46
53
53
53
46
53
42
54
54
52
55
46
53
54
54
46
52
55
53
50
55
54
52
52
54
51
45
54
47
56
52
53
45
54
54
46
53
56
54
45
55
48
55
52
52
53
50
54
49
53
52
51
53
54
53
55
53
53
53
51
53
53
53
52
50
52
47
52
53
54
49
52
52
57
54
52
50
53
54
53
57
52
54
54
53
53
52
56
53
54
55
56
53
55
54
53
53
52
53
53
52
54
55
54
51
52
55
53
52
54
54
53
46
55
52
53
53
56
52
50
48
52
53
53
54
54
53
56
51
45
55
43
55
53
54
54
53
42
50
55
51
53
52
55
52
52
55
47
53
48
53
54
53
49
52
53
53
55
54
53
55
54
52
53
52
54
48
55
45
55
55
52
54
54
49
52
55
52
53
53
53
55
52
54
53
54
52
54
56
53
51
53
44
52
53
55
53
53
52
44
51
54
55
55
50
53
54
46
53
52
55
53
53
53
52
53
53
54
54
54
49
54
53
54
48
52
53
54
54
51
53
54
51
56
51
52
53
54
55
53
51
55
54
51
54
54
53
51
55
48
55
52
53
54
53
55
52
54
54
54
55
52
54
54
54
56
54
48
50
53
51
55
53
50
53
52
48
46
50
54
54
53
53
52
52
54
51
53
52
46
52
54
53
54
53
47
53
52
52
53
44
47
51
53
51
54
55
56
54
53
55
54
51
47
52
52
43
54
57
54
54
54
52
55
46
54
53
53
53
54
52
53
53
54
54
55
54
55
54
55
53
45
62
63
66
65
64
64
66
67
63
63
63
59
66
63
63
63
62
66
64
66
54
63
66
62
62
63
67
64
62
63
55
66
67
62
64
61
58
55
63
60
65
57
63
65
62
65
65
59
62
65
58
61
66
68
65
67
66
65
65
64
63
62
64
64
65
47
65
63
62
56
60
65
63
65
66
63
66
58
64
68
64
61
63
62
60
62
64
65
62
55
62
63
62
62
63
54
67
63
64
54
66
64
62
63
65
56
63
54
63
65
57
63
62
63
57
62
64
63
57
64
61
65
63
62
65
64
56
56
52
59
65
61
63
63
62
64
65
61
63
63
65
64
64
67
66
65
64
57
62
65
64
62
61
55
64
57
66
62
64
55
66
64
65
66
62
62
55
65
59
65
63
52
61
56
66
62
64
61
66
62
65
63
61
66
65
57
52
63
61
62
64
66
64
62
64
64
56
63
63
65
64
59
65
66
61
61
63
62
62
65
56
65
65
64
66
55
64
64
51
64
55
63
60
63
65
61
53
63
64
64
67
63
62
62
63
62
64
66
65
64
64
63
56
65
62
59
64
63
62
60
63
64
65
63
63
63
64
65
65
67
63
63
63
61
64
58
62
62
64
65
56
65
63
63
64
66
64
55
61
65
63
55
62
65
65
66
61
62
66
58
59
66
59
65
56
60
62
63
63
59
66
62
54
47
61
65
61
65
52
49
64
56
63
66
62
65
60
58
64
65
64
60
55
61
52
57
65
65
56
55
57
59
66
59
61
64
53
62
65
64
65
61
62
61
65
64
63
63
62
57
64
63
66
65
61
64
64
65
62
63
61
54
55
60
62
62
63
65
65
64
64
55
60
62
64
64
61
66
64
64
64
62
61
66
60
66
63
63
65
64
63
53
64
52
63
56
63
58
66
47
66
62
61
61
65
66
62
61
65
62
66
67
60
62
63
62
64
64
65
63
64
66
62
66
55
66
58
63
65
60
60
64
63
58
63
65
54
63
64
65
51
64
65
64
63
63
61
57
64
63
55
66
60
59
62
55
62
65
64
60
65
66
60
62
62
53
57
65
66
64
58
64
64
64
64
65
66
66
62
63
63
66
65
67
61
64
55
63
64
66
62
64
66
56
68
64
61
64
62
64
62
54
61
65
64
65
64
64
55
64
55
61
64
64
62
65
63
63
63
54
66
49
59
64
64
65
64
65
66
52
63
65
65
59
62
64
62
65
66
64
62
63
55
58
65
65
64
64
62
65
65
57
66
65
61
63
62
66
62
63
60
57
59
59
63
64
54
63
63
53
63
66
55
61
63
63
53
63
64
63
54
61
56
65
62
64
67
65
60
64
63
63
62
64
60
63
64
65
58
59
65
59
62
54
51
65
62
64
66
65
65
63
64
62
64
59
64
64
64
64
59
66
62
59
63
63
63
66
63
60
55
65
64
65
64
63
65
62
63
53
64
56
65
66
64
63
64
64
64
65
66
62
63
63
66
62
66
60
62
65
63
63
64
65
65
66
62
63
65
65
67
58
64
65
63
58
64
63
65
53
63
61
65
63
63
57
64
63
62
61
62
61
66
64
54
64
64
64
66
64
64
61
63
61
63
55
63
65
63
65
64
58
55
64
64
59
65
64
62
57
59
62
62
65
64
64
65
61
65
62
63
65
56
61
64
64
63
60
54
61
67
65
64
66
60
63
62
64
58
62
63
57
61
64
64
64
57
64
62
64
66
64
62
64
53
62
64
61
64
66
64
57
57
63
63
65
65
63
63
64
65
67
64
66
65
67
67
64
64
65
67
62
66
63
65
65
64
67
63
53
59
53
63
65
64
63
59
62
65
66
63
65
64
64
65
64
59
65
63
63
58
65
65
64
61
65
64
63
62
64
66
63
64
62
62
61
67
62
63
63
65
64
63
65
65
63
62
63
62
65
61
65
64
64
64
57
62
67
62
65
63
58
54
56
65
64
62
65
56
64
65
59
65
65
56
57
65
63
57
61
65
66
61
62
63
64
62
55
56
64
55
65
60
64
56
64
55
58
64
54
62
63
61
63
64
63
63
63
66
59
64
64
63
64
64
55
63
64
58
61
65
62
60
59
67
65
63
64
63
64
63
64
61
63
60
55
66
64
63
65
54
63
62
66
61
63
57
65
63
64
55
62
63
56
57
59
66
64
60
62
61
64
64
64
64
65
63
64
66
64
58
62
58
52
56
63
63
58
65
64
65
63
64
65
62
63
65
61
63
64
62
65
64
64
65
57
65
62
55
65
76
75
74
72
77
76
75
77
74
75
74
75
78
73
75
75
75
74
72
62
69
70
60
74
74
68
69
69
75
76
68
69
67
76
74
77
75
74
75
61
74
74
76
72
77
74
73
72
75
75
75
74
74
75
75
72
74
72
70
67
69
70
73
71
78
74
75
76
74
71
76
62
71
74
70
73
74
69
73
60
73
73
72
72
74
76
64
71
73
68
69
70
73
74
69
75
76
70
67
73
68
69
75
77
75
72
318
65
68
74
65
77
75
75
76
67
76
76
72
75
74
76
77
73
67
71
74
62
74
73
75
75
72
76
76
75
74
75
73
75
75
68
76
76
75
75
76
73
75
74
72
73
75
71
56
76
77
62
73
65
73
71
72
66
74
69
76
75
60
75
68
77
71
76
74
68
76
75
75
69
70
66
68
76
76
74
74
74
76
74
71
67
74
76
73
75
75
67
70
72
68
71
76
74
74
76
77
72
69
66
71
74
70
74
71
75
74
73
75
71
58
73
73
68
76
73
218
72
75
73
59
76
69
76
67
67
65
68
74
76
73
74
74
68
77
74
72
72
75
67
74
75
73
73
76
74
70
75
70
73
73
74
73
73
72
69
68
66
74
74
72
68
66
73
75
74
75
70
72
72
69
74
73
75
72
72
68
76
72
64
72
75
75
70
73
71
73
74
73
72
69
75
68
73
75
72
70
74
73
73
71
70
70
73
75
70
70
73
69
77
74
73
70
74
77
65
69
74
75
75
73
73
73
74
75
75
70
74
74
65
73
72
74
75
74
73
78
66
67
70
57
74
77
69
71
71
71
76
72
70
75
75
62
76
73
71
70
74
75
76
61
77
65
75
59
77
75
72
70
72
74
76
70
75
73
63
70
74
75
68
74
73
73
75
73
68
65
75
77
72
75
71
75
74
72
77
68
73
75
77
72
74
76
65
77
68
70
74
66
76
70
64
76
68
75
75
72
73
69
74
73
69
72
78
71
70
73
74
76
77
74
73
77
69
76
68
75
77
71
66
76
71
75
74
74
76
65
65
75
72
70
67
74
73
64
77
74
76
66
74
65
59
75
76
71
72
75
65
68
69
74
76
65
71
69
67
77
71
76
66
64
74
75
74
74
69
75
74
73
76
73
79
73
74
71
74
72
63
74
72
68
64
76
76
65
72
66
73
73
72
77
76
75
77
74
75
67
76
75
74
73
65
69
76
74
71
74
73
75
72
65
69
74
74
76
73
75
64
67
76
71
74
66
72
67
64
75
75
71
74
77
77
69
73
76
74
75
73
71
66
75
72
75
71
74
74
71
72
75
66
73
73
75
68
74
75
75
73
69
76
75
76
72
75
269
73
75
72
77
76
75
73
75
75
66
78
75
67
74
72
75
70
73
76
67
73
74
66
66
75
67
74
78
71
76
75
76
76
75
66
75
73
75
67
66
72
72
75
76
67
69
73
75
77
66
76
74
68
64
75
73
74
74
76
76
62
74
73
73
76
74
76
67
75
75
75
76
75
71
72
78
77
74
187
62
75
72
77
75
75
63
73
71
65
63
75
69
67
72
74
76
67
74
76
74
75
74
76
75
73
75
78
73
77
72
75
70
73
76
76
73
74
71
75
74
75
64
75
74
75
73
75
67
76
70
78
72
73
67
74
75
75
72
67
74
68
75
70
74
108
72
63
76
72
72
70
74
97
71
73
76
78
72
75
70
68
67
73
75
76
73
70
76
74
64
73
68
72
70
74
70
75
72
61
73
74
74
73
75
75
69
75
74
75
75
71
70
77
72
75
70
73
69
75
74
70
74
69
77
70
63
75
76
75
74
58
70
66
73
55
68
66
75
73
75
65
77
76
75
71
62
73
75
75
77
76
74
76
76
77
65
74
65
73
65
69
64
74
65
69
74
75
74
76
76
74
76
65
72
74
73
73
74
76
67
76
76
70
69
75
74
76
75
71
70
73
74
74
74
73
73
60
77
76
67
78
74
73
68
75
220
76
75
74
72
72
75
70
74
74
73
69
76
75
73
75
76
74
76
72
77
61
64
76
73
75
72
72
72
74
75
76
75
74
73
72
67
72
69
73
73
73
77
66
67
75
75
74
66
74
70
69
74
74
74
64
76
66
74
74
74
66
75
72
69
74
74
71
73
73
73
74
74
73
75
73
75
74
74
72
71
77
68
75
78
71
75
75
69
75
75
70
71
73
78
74
69
80
75
74
75
67
77
75
70
74
75
69
72
75
72
65
73
75
74
76
74
73
68
73
80
74
86
84
83
71
83
85
86
86
82
69
79
79
87
83
83
77
85
78
82
64
86
77
84
81
83
80
86
84
71
79
84
303
84
84
79
84
82
86
71
77
77
85
75
83
81
81
79
84
86
76
392
86
79
85
80
81
77
86
87
87
84
85
85
79
83
79
84
85
82
80
85
72
85
87
86
79
83
86
86
86
84
80
82
87
86
76
81
85
57
84
81
86
85
78
85
78
87
85
72
84
76
80
86
83
75
86
88
85
83
86
82
74
83
73
83
85
87
76
82
84
85
82
83
83
84
84
82
85
68
85
86
79
83
74
81
88
84
84
84
85
81
84
81
88
73
77
70
85
72
84
83
82
84
86
78
85
81
73
84
87
83
87
68
87
84
85
82
87
78
86
82
81
84
85
85
64
84
79
86
81
79
74
84
77
84
80
85
86
65
80
79
85
87
86
84
87
84
77
86
81
74
83
85
78
86
82
78
75
74
87
85
86
84
86
83
78
78
86
67
85
72
79
86
79
78
82
82
83
76
77
84
88
86
77
69
86
83
84
77
84
86
166
84
86
87
78
85
83
87
82
86
78
83
85
86
83
85
83
83
87
86
86
84
81
86
80
88
84
88
78
77
72
84
85
82
78
82
76
75
84
83
81
78
78
84
85
86
86
87
85
85
86
76
79
84
79
86
83
83
70
72
85
86
564
86
85
86
85
82
72
86
82
84
87
79
82
84
85
80
83
85
85
86
85
84
80
85
88
84
79
87
85
88
80
85
83
83
80
85
84
85
85
83
76
78
86
80
78
72
85
77
76
84
80
86
80
85
76
84
84
83
82
80
81
85
82
81
85
85
88
82
86
84
81
85
84
84
85
78
83
89
84
75
64
85
84
81
88
84
87
84
88
78
84
84
84
85
87
77
79
78
85
81
79
87
86
84
80
72
85
71
84
85
87
87
76
81
86
85
77
81
86
72
85
82
86
84
87
77
85
84
223
76
77
83
88
84
83
85
85
88
75
85
83
83
87
86
83
78
80
88
85
74
87
85
85
130
182
87
82
84
87
84
86
75
84
82
83
85
86
86
85
76
73
81
73
84
72
86
84
85
86
81
75
83
87
84
83
86
86
83
82
80
79
80
82
229
78
86
76
78
82
80
77
87
86
83
85
80
65
84
88
76
85
85
74
85
86
79
86
85
87
83
73
82
78
82
81
79
78
80
87
87
83
87
84
81
88
73
86
78
86
73
88
78
86
78
84
84
86
84
86
84
82
87
81
76
85
88
84
84
84
83
84
85
84
85
82
83
84
87
77
69
82
83
253
88
83
83
72
75
80
82
73
85
85
85
74
81
87
77
85
74
84
84
82
75
84
74
85
87
82
80
70
85
86
82
86
88
81
84
86
83
81
86
85
84
81
81
85
79
70
85
85
78
86
87
80
86
85
84
86
86
85
87
86
81
86
83
87
84
83
80
85
82
69
85
85
79
86
79
78
84
83
82
83
71
76
84
85
87
83
88
76
87
87
76
86
78
81
77
74
83
80
86
84
80
85
84
83
87
83
85
77
75
69
84
86
87
88
85
69
84
86
80
86
76
75
85
68
78
86
85
82
85
85
82
86
87
85
84
88
75
88
85
85
87
85
76
82
85
81
82
85
82
85
83
80
86
82
82
83
85
81
78
85
83
76
83
84
85
76
83
73
133
75
72
74
83
79
84
86
86
85
81
83
84
81
85
88
83
86
85
81
71
85
85
85
77
82
83
85
86
84
83
74
75
76
81
85
78
80
85
84
75
85
84
88
84
83
77
79
85
76
69
77
85
78
85
85
87
88
75
85
82
88
86
85
85
84
84
79
85
84
83
84
87
85
80
83
73
86
85
86
76
73
74
85
68
84
81
66
83
84
76
81
70
81
85
85
83
75
84
82
85
81
80
86
76
82
79
84
84
79
75
86
86
86
77
87
83
83
78
82
85
87
83
86
80
81
84
76
81
79
84
80
81
86
83
76
84
82
79
84
75
87
84
79
73
85
80
80
79
78
81
76
85
87
83
86
86
81
80
85
87
84
81
78
80
83
84
84
84
77
84
82
85
88
79
81
82
85
84
85
84
85
82
84
84
78
82
84
86
74
86
82
84
84
86
86
77
129
81
83
90
70
83
80
85
86
85
79
76
81
86
85
85
86
85
78
85
86
86
86
84
84
81
84
84
85
79
87
79
85
84
81
85
85
86
86
76
78
87
76
84
76
78
84
87
79
77
78
86
82
88
82
86
88
95
90
91
88
87
93
83
86
97
82
89
97
96
84
96
97
85
84
96
86
94
74
98
97
92
88
93
90
95
95
69
95
87
96
96
93
88
93
83
99
84
70
97
80
95
98
95
95
89
97
91
85
94
90
97
95
93
80
79
94
92
89
93
93
89
92
80
87
86
93
86
91
87
97
94
92
284
90
90
95
97
90
88
86
97
92
93
88
97
80
93
95
88
99
99
89
78
91
94
90
96
88
93
92
95
93
94
83
96
92
90
84
95
94
91
87
98
100
98
84
79
97
91
96
95
95
94
91
99
87
95
94
88
96
93
93
93
87
84
91
97
96
96
93
98
95
85
90
94
88
96
83
95
92
90
91
91
88
87
89
81
96
96
112
89
86
95
89
89
96
93
94
90
94
90
98
96
95
89
96
97
82
97
98
91
86
85
89
95
92
97
349
95
94
99
94
94
95
98
95
96
89
93
78
82
95
82
97
94
94
88
89
98
88
95
97
97
86
99
93
91
96
96
189
88
87
94
90
91
98
96
90
97
82
94
90
95
84
96
96
95
94
84
93
94
81
98
94
94
85
81
96
97
94
93
87
98
79
96
87
83
93
90
92
91
91
95
92
78
96
92
94
98
89
99
96
94
96
96
92
95
94
93
95
93
96
152
96
94
91
88
89
94
98
97
94
96
91
87
95
93
93
84
97
99
94
78
95
83
86
96
84
95
97
93
79
87
98
84
95
92
97
97
86
87
95
96
93
92
85
96
90
492
82
92
91
92
96
96
86
83
94
91
96
88
88
94
94
87
94
267
90
90
84
87
91
95
97
95
78
90
92
88
96
94
89
94
93
87
84
96
91
85
98
88
98
93
86
85
89
94
91
89
95
88
92
94
95
89
89
82
94
91
99
95
93
95
87
93
78
94
96
86
89
82
92
90
93
355
99
97
95
84
94
84
95
86
90
85
90
83
205
95
89
94
91
90
97
97
89
93
83
98
96
96
96
88
95
81
90
96
93
93
88
98
93
97
98
96
83
95
90
96
96
85
99
83
87
96
87
97
95
95
101
97
95
84
94
93
92
98
85
84
82
98
338
96
94
99
89
94
93
96
96
96
96
84
95
94
93
93
97
97
96
85
95
89
88
96
93
91
95
70
98
87
96
95
99
94
97
96
94
96
92
84
88
98
86
89
86
93
85
98
244
97
93
90
86
93
86
95
84
96
95
88
93
86
97
94
94
88
93
92
91
98
87
95
95
94
96
91
96
96
88
91
88
93
96
94
166
94
86
95
90
97
95
97
92
88
88
88
77
95
92
94
96
96
85
95
98
95
87
85
95
96
93
93
97
96
94
93
90
88
92
97
95
93
91
82
93
92
97
94
92
78
94
97
97
95
98
88
89
94
97
95
95
94
88
96
95
96
97
88
94
91
93
98
98
94
73
98
97
85
98
92
80
76
91
96
95
97
95
81
89
93
89
95
87
98
94
89
90
96
95
93
94
96
96
88
97
94
98
86
89
93
94
96
96
94
92
71
80
450
94
88
267
93
87
96
85
95
96
87
95
97
77
77
95
93
97
90
89
95
97
88
95
98
94
94
84
93
89
93
87
93
95
95
96
94
87
109
94
89
98
87
94
93
93
97
92
89
81
96
93
178
88
97
95
83
90
92
77
85
90
94
93
87
95
85
87
97
96
77
88
96
87
80
96
97
95
97
96
92
94
90
92
96
88
97
96
96
87
96
98
91
91
95
90
91
98
97
97
95
73
91
285
98
88
98
87
91
98
96
97
95
95
98
93
95
95
76
95
98
97
94
158
86
98
88
87
94
89
90
99
95
84
168
88
95
93
95
98
95
86
87
92
177
98
89
92
90
95
88
91
88
92
96
95
94
90
96
96
79
86
94
90
95
93
94
85
95
88
95
93
91
87
97
96
92
90
89
89
97
84
97
96
94
81
93
94
93
95
93
93
92
92
97
92
95
95
96
94
84
94
79
81
96
84
89
95
85
84
93
92
94
95
98
95
97
91
89
92
142
85
378
94
92
97
95
96
77
87
98
85
87
97
77
98
88
91
81
97
175
95
97
92
92
90
96
97
96
85
96
91
91
95
85
97
91
86
95
93
83
93
88
96
89
98
90
97
74
96
88
88
98
94
96
96
85
90
86
96
87
97
92
95
162
92
95
92
94
96
81
227
88
96
96
94
95
91
98
98
91
94
97
90
95
84
84
75
66
92
94
97
95
98
92
85
140
88
96
87
85
94
87
85
94
89
96
95
109
92
100
105
152
100
96
105
101
101
175
106
104
92
104
105
100
92
106
105
89
106
103
103
99
104
86
102
105
106
98
100
99
108
101
98
101
95
101
104
103
88
103
105
97
86
103
102
95
91
109
103
93
175
103
106
91
97
104
103
104
105
102
105
100
104
97
96
106
105
97
95
106
460
181
86
99
103
100
97
110
97
108
106
103
98
107
96
99
100
105
107
104
107
107
85
103
104
105
106
99
98
101
109
98
104
85
97
109
107
100
99
102
107
106
104
97
98
99
99
105
95
103
94
332
89
93
107
107
88
107
126
94
94
96
97
105
102
107
105
100
93
82
107
94
109
105
104
96
107
98
92
104
104
107
103
107
92
106
106
82
80
94
96
103
103
94
544
107
105
99
93
98
108
97
105
101
95
97
102
105
107
101
89
107
106
97
100
105
107
107
93
107
98
98
102
99
98
107
105
102
103
97
99
96
106
107
98
103
106
105
206
103
102
105
107
108
102
103
95
106
98
97
103
93
110
104
104
97
95
102
104
98
109
101
103
104
103
109
105
99
94
100
94
108
107
106
93
105
103
110
105
104
96
100
601
98
95
108
97
109
104
107
101
105
103
97
110
106
102
95
98
105
91
98
108
92
145
88
104
89
109
91
107
85
103
105
104
97
104
102
108
105
106
103
105
105
106
94
405
105
107
197
107
87
100
106
107
107
90
108
104
106
95
95
103
92
101
90
106
96
102
107
107
107
106
99
105
96
95
108
107
97
103
107
95
100
100
94
100
102
98
105
100
91
93
108
101
99
101
107
106
107
107
100
106
107
91
107
96
105
99
105
105
106
101
105
102
107
98
512
107
106
108
98
105
103
102
101
104
103
107
101
96
99
108
93
106
105
106
104
107
193
108
108
98
94
98
105
108
96
200
84
100
97
90
102
97
108
97
91
94
85
106
108
105
93
99
99
106
109
106
92
90
91
106
99
99
229
97
108
95
106
96
99
103
100
94
94
85
106
105
89
105
100
91
106
106
107
264
107
104
97
106
103
96
92
105
101
107
108
101
105
103
101
101
108
104
105
101
100
442
97
108
105
108
212
103
107
105
94
101
106
106
104
108
102
106
93
101
104
97
107
174
106
102
105
93
105
102
105
96
538
103
102
106
106
102
100
102
104
102
106
101
106
91
102
107
99
107
106
97
98
79
141
108
100
103
315
91
105
97
105
109
107
99
97
106
97
108
88
102
220
96
94
95
107
101
99
91
101
105
100
107
99
106
103
96
106
98
107
106
101
104
108
105
106
106
106
110
102
106
107
95
105
402
106
300
101
96
100
105
102
94
111
106
103
96
107
109
91
87
108
379
108
94
106
99
100
229
108
103
102
104
101
105
96
109
103
101
101
98
103
173
108
79
103
101
98
104
109
107
107
105
92
104
108
98
93
94
106
108
105
108
96
107
103
101
107
104
128
95
106
107
107
95
286
108
99
106
105
101
105
100
96
101
104
106
99
89
102
95
108
105
104
99
101
105
106
107
106
91
107
99
92
91
107
91
107
101
103
101
101
123
94
91
105
109
103
101
89
104
97
105
100
103
106
100
103
96
104
106
107
106
107
106
107
96
98
96
107
98
94
96
108
95
109
92
104
104
108
107
104
98
100
626
105
92
105
106
98
106
104
102
105
103
102
490
126
104
105
91
97
104
108
105
99
108
102
106
107
90
97
102
107
96
101
88
102
106
106
106
106
104
108
105
101
99
105
106
97
107
107
104
97
98
101
105
106
106
103
104
96
98
107
96
100
108
106
97
108
99
104
99
106
105
101
99
107
107
107
103
106
93
107
191
102
90
94
98
106
107
92
98
106
106
104
104
100
138
105
98
105
98
108
103
99
106
100
104
108
101
104
106
108
107
395
102
103
103
101
108
108
106
106
108
94
95
92
97
107
107
96
104
100
97
104
106
103
88
100
93
98
101
97
107
97
103
97
95
102
104
108
96
102
106
105
99
101
102
98
102
108
98
101
103
106
104
104
104
105
106
207
105
102
92
100
97
100
106
107
104
103
257
100
107
106
107
96
105
105
106
89
111
104
103
102
106
103
107
104
98
106
104
108
109
95
93
107
91
105
108
108
108
103
96
210
229
99
106
98
102
106
526
105
107
102
107
107
101
95
98
107
110
103
98
102
251
97
106
101
291
100
110
100
106
109
92
101
106
105
107
104
89
100
287
100
96
98
86
96
106
100
104
102
106
105
90
108
101
107
207
93
104
105
175
103
103
172
109
116
118
116
114
115
106
115
105
115
103
101
102
115
105
109
106
108
116
116
110
115
113
107
113
116
117
116
100
110
106
119
111
118
117
109
118
109
113
112
109
117
108
116
113
117
102
98
113
96
113
96
114
103
113
119
112
119
117
118
107
111
118
116
218
105
99
108
120
113
107
113
120
106
112
118
114
97
106
111
110
116
99
113
116
117
104
117
107
118
97
108
105
105
113
107
117
116
104
116
105
118
112
109
105
110
195
108
87
117
111
116
118
106
106
108
115
108
117
407
117
107
107
114
107
119
107
116
117
105
115
109
118
107
105
114
103
100
117
117
115
114
115
116
102
113
105
110
113
93
111
116
107
113
107
216
97
116
118
101
115
114
106
102
106
116
105
230
116
111
107
119
116
113
111
109
109
243
116
118
106
100
111
109
117
117
107
117
101
115
118
113
91
116
106
118
109
114
106
109
114
111
117
117
115
117
120
119
113
102
113
101
109
110
118
205
96
118
118
118
116
118
111
112
117
109
117
112
100
92
115
101
100
112
110
117
106
104
110
107
114
114
107
106
118
116
113
107
105
110
113
118
111
117
114
116
109
120
105
104
104
109
104
117
112
110
107
116
112
109
102
105
114
348
114
112
110
109
110
102
98
106
116
117
114
101
109
113
117
113
101
116
117
182
110
109
106
108
107
118
100
117
116
106
120
112
115
108
108
120
112
116
113
99
117
117
106
111
113
119
117
107
108
116
107
108
116
118
111
116
111
110
114
113
98
106
118
119
116
113
110
117
121
115
201
121
118
99
294
118
120
116
114
114
120
117
116
109
103
105
116
112
105
117
114
117
116
225
113
108
107
106
106
108
98
114
105
120
113
111
99
117
115
108
108
113
117
112
112
115
116
117
108
119
116
113
111
117
116
118
114
110
101
119
115
115
117
111
117
107
108
104
105
110
106
112
115
116
117
119
106
103
106
118
103
116
115
101
107
114
101
118
112
112
105
114
118
115
114
107
161
108
114
123
109
120
192
117
117
110
111
99
114
175
109
114
112
108
108
115
112
114
113
102
105
117
106
115
117
121
111
114
112
115
105
106
112
104
115
109
105
109
103
117
113
109
102
106
116
116
360
110
114
113
248
117
104
114
111
107
117
117
112
118
114
116
114
98
109
114
112
118
113
230
103
117
109
96
114
109
113
110
110
108
109
107
119
104
94
108
109
108
107
116
100
112
107
118
101
115
105
110
113
114
116
106
106
100
117
116
105
269
97
104
288
113
113
117
108
109
115
102
109
114
113
107
114
282
109
112
114
108
113
117
118
110
118
104
112
109
101
115
107
112
101
106
114
105
108
118
119
114
105
117
101
119
108
105
105
111
109
108
114
104
100
114
119
100
107
108
110
108
115
109
115
119
114
115
103
115
111
112
115
105
115
381
96
112
114
118
101
114
107
113
97
106
118
101
105
120
117
94
225
117
115
116
117
109
114
146
118
113
116
113
112
115
109
117
111
112
98
111
117
115
108
116
119
108
106
109
110
102
108
108
107
108
107
109
102
105
155
107
116
107
81
119
107
117
116
111
109
116
115
102
100
113
109
112
99
114
114
115
112
117
115
114
111
109
118
114
99
105
116
116
109
119
116
117
112
114
111
117
112
116
105
95
113
110
111
130
108
116
116
117
97
148
117
90
112
111
114
99
113
116
112
122
107
113
115
110
106
103
117
108
116
117
116
112
103
100
115
107
115
109
115
118
101
116
114
103
111
104
119
110
117
119
207
107
118
109
115
109
100
114
113
115
117
116
116
110
98
117
118
577
120
115
118
115
112
116
112
113
104
114
113
117
107
119
107
120
103
112
115
98
118
110
97
114
118
560
117
98
121
104
115
160
115
106
104
112
118
114
110
113
109
109
105
107
107
111
97
110
94
105
110
97
110
109
106
112
120
115
116
110
117
118
115
110
84
113
112
109
116
115
118
114
207
114
115
113
115
104
101
108
98
113
117
302
109
102
112
110
118
107
94
110
106
211
129
475
118
116
105
114
113
116
267
110
111
102
118
120
107
104
117
107
116
98
118
100
99
106
111
105
110
110
97
111
108
98
111
108
116
107
109
103
115
118
114
108
187
111
117
105
106
105
114
106
106
116
110
117
107
107
107
117
115
112
120
118
107
115
112
107
108
116
251
109
110
101
109
108
114
102
109
113
362
111
118
103
109
103
117
117
108
108
116
117
219
107
105
109
116
117
111
96
113
97
114
110
108
111
107
109
121
110
115
121
117
113
111
125
118
128
120
128
127
119
129
110
119
129
119
114
121
121
117
128
122
105
120
108
122
162
113
115
119
119
123
122
128
127
112
121
126
115
125
122
103
122
128
187
128
123
125
115
118
123
125
127
120
118
121
127
121
124
116
122
122
126
112
126
120
118
122
124
129
119
129
121
312
120
354
132
111
126
123
115
118
112
273
128
121
126
117
120
122
123
119
121
114
123
116
122
126
124
120
105
124
116
123
471
115
124
125
110
118
120
122
126
127
122
128
119
424
116
129
129
116
107
129
120
126
129
103
125
119
116
113
129
115
109
128
733
128
118
121
127
129
126
128
122
108
269
118
126
118
128
120
122
125
123
124
128
120
119
114
128
125
119
122
116
120
126
124
126
124
110
129
126
122
121
113
130
131
108
110
123
122
119
126
127
126
114
111
125
123
128
119
110
126
126
113
106
110
121
121
127
123
134
538
128
128
126
127
117
124
126
125
115
129
127
129
108
116
115
110
131
202
127
123
110
116
122
127
121
117
126
117
124
115
114
127
119
120
126
115
126
128
132
113
145
117
124
109
114
111
126
119
123
104
117
120
125
97
118
127
119
122
129
219
119
318
127
126
119
458
126
121
111
127
127
115
110
128
125
128
124
130
139
115
119
124
652
123
121
102
114
112
128
124
367
118
125
110
119
130
447
125
128
130
116
238
126
117
120
111
126
455
122
117
126
119
125
126
128
118
125
124
124
115
119
121
106
123
119
116
114
112
129
117
119
120
121
120
122
127
121
118
124
130
126
112
184
121
128
118
118
116
123
123
118
129
126
124
127
127
124
112
126
128
129
126
126
126
115
127
116
124
124
110
125
126
127
124
113
108
120
122
133
116
111
113
128
124
127
119
110
126
355
116
122
212
121
107
126
116
149
112
121
115
126
129
187
138
122
120
124
124
130
125
119
122
395
111
124
121
113
106
116
124
116
122
128
210
128
121
155
119
126
120
118
128
121
128
116
266
124
129
115
126
98
403
331
127
127
118
124
112
110
121
120
123
126
127
127
122
120
122
126
127
125
125
98
129
618
128
119
122
119
126
117
124
117
125
522
131
131
116
195
130
106
125
118
128
128
123
122
127
128
129
118
120
125
119
109
116
313
126
131
116
115
115
408
129
115
117
108
119
126
213
108
119
124
118
130
124
121
118
117
117
116
125
123
130
104
126
123
125
111
125
128
111
130
114
120
130
118
121
122
109
127
113
123
111
120
111
123
126
128
128
108
116
128
121
130
126
317
129
129
123
123
114
121
124
109
205
120
114
119
120
124
116
121
130
118
127
123
108
123
121
122
108
125
120
127
129
117
126
114
107
121
112
107
114
117
115
127
130
129
128
123
114
123
118
118
124
118
119
113
127
127
130
119
119
120
173
121
121
115
115
123
121
120
113
114
118
126
209
114
120
121
120
120
218
121
123
126
119
112
122
442
152
124
130
124
119
115
128
127
121
126
126
116
127
128
116
264
118
125
119
118
110
118
112
128
124
129
127
125
116
118
127
116
351
116
123
123
120
124
110
115
116
107
114
120
112
125
131
126
126
128
127
122
119
117
119
123
120
175
126
122
107
111
121
120
130
126
118
116
131
116
117
156
122
127
118
119
115
110
118
129
123
118
123
117
126
122
124
127
220
120
125
116
124
128
130
117
116
173
204
207
129
112
121
124
114
120
115
114
114
273
119
129
117
117
127
111
115
116
127
118
120
120
128
110
118
112
117
127
113
120
127
124
109
129
122
124
125
116
129
121
126
261
125
127
110
127
127
126
119
127
100
112
118
114
127
124
125
130
144
126
120
161
111
114
126
127
122
119
126
123
194
129
126
123
124
121
120
127
126
126
129
128
279
121
128
127
106
122
289
107
130
119
118
124
174
116
117
122
578
121
124
110
125
119
115
117
121
124
117
111
127
111
127
126
127
119
107
264
125
124
122
115
125
127
126
120
127
131
121
115
126
124
116
120
115
109
116
113
128
262
128
116
125
415
112
120
118
107
126
124
125
125
127
105
124
118
121
116
127
113
117
124
116
126
104
126
123
113
128
123
114
123
113
123
120
256
125
158
246
103
118
115
128
126
114
126
114
110
126
124
112
121
125
109
117
119
117
129
117
116
115
122
111
124
126
119
128
123
124
119
121
124
120
115
128
128
113
130
128
117
124
122
124
119
124
124
203
128
145
107
119
130
120
124
126
126
115
116
120
118
127
360
128
100
113
128
125
111
111
129
115
114
225
124
128
110
120
119
127
136
122
129
125
137
404
129
127
133
132
128
117
130
131
134
138
132
120
123
132
121
134
114
130
121
129
141
134
135
133
324
132
131
136
126
128
129
127
128
139
138
155
113
134
118
130
122
137
137
130
126
136
122
135
114
130
131
138
130
128
132
139
137
121
138
134
123
114
134
133
128
131
134
139
139
140
132
133
115
125
139
132
135
131
136
128
141
117
132
130
125
140
132
126
129
128
141
135
129
176
125
130
137
135
135
138
118
131
136
123
127
223
129
122
118
136
136
136
130
125
134
118
126
121
136
120
130
123
123
122
570
136
136
135
124
140
203
130
137
122
139
138
126
131
136
141
117
132
119
118
129
125
134
162
126
129
131
129
123
127
127
117
118
129
132
132
130
137
130
122
204
117
124
139
132
133
133
131
126
137
136
137
139
137
258
134
286
134
124
132
124
129
133
129
137
135
126
130
123
133
126
126
132
132
137
129
135
133
123
135
129
134
132
122
135
138
128
123
133
119
140
137
138
137
136
131
131
135
139
132
123
124
139
128
159
136
107
139
131
127
134
129
133
126
140
132
408
119
196
120
125
126
136
131
139
133
128
129
129
578
136
131
132
131
134
106
132
133
111
117
124
125
137
140
208
131
111
124
124
132
465
134
135
136
137
136
132
139
134
137
136
131
119
131
128
134
132
129
138
123
136
122
134
137
133
129
140
106
124
136
128
132
136
126
128
129
127
116
134
128
130
136
115
136
139
124
121
141
141
131
130
127
116
140
124
118
136
159
132
258
123
138
126
170
126
136
123
135
128
140
117
109
129
123
122
129
135
122
117
126
130
121
134
121
127
129
124
145
129
137
137
174
137
139
134
126
133
136
120
137
122
132
129
126
126
139
139
139
531
121
137
130
134
126
121
125
118
132
123
131
474
137
119
124
125
125
128
137
134
277
136
130
129
130
133
127
127
137
131
563
127
120
127
132
129
136
131
126
134
139
137
241
109
130
134
134
137
138
136
125
135
531
134
129
127
140
120
131
124
125
130
123
124
124
140
456
136
136
131
124
128
138
131
123
136
125
124
121
281
134
138
135
136
135
119
134
123
131
125
125
121
134
138
124
138
129
131
140
131
121
140
127
137
120
133
134
138
270
142
531
137
140
339
139
137
127
106
129
134
139
129
123
140
137
127
126
132
135
138
136
127
134
134
132
128
126
136
135
125
127
133
127
128
365
133
131
233
137
139
130
131
222
130
137
133
137
130
131
116
117
133
121
137
137
130
140
123
137
118
125
127
392
137
125
132
124
132
106
129
130
111
136
126
120
134
436
137
133
129
131
138
136
124
131
127
133
127
121
120
132
133
118
124
129
135
133
142
136
412
120
134
138
134
139
140
132
120
137
134
130
119
128
135
130
136
132
116
136
248
139
122
139
116
808
134
257
125
362
136
128
131
138
121
132
127
138
137
119
128
134
139
139
326
134
127
130
117
137
133
129
154
133
126
129
125
134
125
138
127
118
123
130
127
126
133
127
121
137
234
278
136
136
138
127
135
132
133
133
122
139
125
129
125
121
121
136
124
135
138
128
120
120
132
136
134
510
123
126
128
123
124
134
132
138
317
134
131
136
128
133
137
128
162
138
108
109
118
591
251
118
126
129
134
137
132
136
135
138
131
133
139
133
134
133
137
138
137
133
139
127
133
166
118
140
136
127
135
150
119
137
139
133
124
130
134
130
141
137
126
138
124
129
124
181
132
123
139
123
116
128
127
139
127
131
137
129
133
137
126
139
133
134
137
130
123
133
129
108
139
124
127
578
127
135
123
129
135
124
133
122
140
138
137
121
128
125
126
129
130
133
138
122
140
109
137
134
131
118
116
129
124
131
126
131
122
138
129
240
133
136
125
135
123
137
126
128
418
130
137
115
139
131
119
140
136
129
135
117
123
127
137
128
140
433
134
134
135
120
139
133
139
133
137
138
126
136
121
136
132
115
129
120
162
137
288
131
229
121
136
130
129
119
135
140
138
124
140
127
140
287
140
141
137
123
700
121
122
133
127
116
141
122
127
130
131
114
128
138
136
126
140
138
137
127
135
134
395
120
123
140
141
138
138
130
128
117
115
140
131
121
126
138
127
137
131
138
125
126
140
321
137
128
125
126
126
127
202
126
132
113
130
120
127
110
122
252
147
136
125
124
125
129
140
135
128
129
130
127
127
135
128
128
140
138
137
139
136
135
132
140
139
129
133
131
116
132
130
132
137
128
138
140
118
126
137
114
120
130
140
134
134
166
135
144
150
146
325
125
138
140
137
141
124
143
142
137
142
141
143
135
149
136
151
146
144
139
134
415
147
138
151
142
144
147
146
145
137
137
135
147
130
139
145
140
135
139
126
337
150
144
131
141
142
505
145
142
145
140
147
145
136
237
136
144
141
132
144
140
120
145
128
148
135
147
144
139
149
114
146
142
146
138
147
132
129
145
131
143
146
138
141
138
137
139
140
145
139
134
135
257
147
290
141
135
134
138
481
124
144
133
152
148
140
292
135
145
143
454
143
130
125
127
129
195
124
142
141
140
127
138
142
149
131
127
150
141
139
138
137
218
138
140
144
145
128
139
129
244
128
141
137
149
135
143
358
125
136
140
139
141
136
184
127
138
134
146
122
343
134
203
143
225
151
142
149
138
135
325
596
132
146
129
254
127
148
132
154
140
145
142
148
124
148
136
141
150
117
138
145
139
135
129
150
141
137
132
127
147
149
151
138
146
143
148
128
136
132
132
144
141
643
152
249
132
135
145
143
138
148
127
134
131
122
138
152
147
147
140
136
141
142
137
141
511
143
131
139
143
142
145
139
128
131
124
256
147
140
278
144
124
148
145
147
147
142
136
149
145
130
133
148
132
129
146
195
148
135
135
134
129
142
145
131
128
146
357
139
143
136
146
431
145
146
141
138
138
138
143
145
138
131
396
147
147
136
147
135
135
141
148
137
144
138
139
212
135
141
150
139
142
131
149
143
145
137
148
125
210
135
137
133
145
146
146
138
139
456
145
199
305
148
144
130
135
140
146
143
149
132
143
146
501
136
261
104
136
141
138
135
148
135
139
137
135
135
139
142
145
142
140
142
133
133
137
144
140
140
310
139
138
140
135
128
130
139
128
142
134
151
145
150
141
142
122
127
145
141
128
146
140
150
343
147
142
139
126
145
131
145
133
147
224
226
139
149
284
183
141
143
148
134
138
511
135
147
147
136
143
126
146
139
128
142
134
138
137
148
148
422
349
136
133
133
191
141
132
145
133
140
148
585
127
239
144
134
347
144
132
142
139
456
148
138
146
144
139
125
151
132
131
125
139
280
144
141
211
145
146
132
131
137
136
138
139
139
145
142
132
146
133
149
147
137
128
137
146
131
142
140
134
313
151
499
129
147
143
136
134
147
138
144
124
139
138
135
141
142
138
231
141
117
143
500
132
140
146
129
137
146
148
144
142
161
145
668
142
139
139
143
146
145
144
418
144
149
148
135
145
148
133
140
136
140
128
134
138
146
147
147
141
306
128
149
139
146
149
139
133
129
138
137
132
144
139
142
134
276
143
129
137
138
321
139
150
142
147
147
142
139
146
134
136
132
139
137
146
126
137
148
141
144
140
139
143
139
132
123
145
230
150
148
132
130
144
140
136
128
132
139
131
134
137
135
140
135
136
145
135
720
140
129
150
127
592
141
140
144
123
147
150
232
126
140
118
231
144
134
144
130
144
121
144
136
137
147
149
137
139
128
150
147
134
140
123
142
149
137
137
146
151
150
142
145
144
146
548
210
128
140
150
132
132
136
134
137
121
144
133
142
136
146
143
141
122
135
146
137
198
138
147
127
137
145
138
128
146
141
124
138
146
140
142
144
149
145
155
127
141
147
142
142
125
150
147
128
142
146
124
138
194
134
312
140
126
132
131
139
138
131
137
225
144
136
139
125
143
141
138
141
140
151
153
136
469
134
146
146
131
139
135
138
321
128
144
132
272
144
149
121
144
143
148
422
129
130
141
142
121
145
140
143
150
146
129
203
128
528
131
124
141
220
126
144
127
146
151
133
151
148
136
131
136
140
143
244
132
148
143
140
127
132
144
132
141
118
142
134
143
168
260
141
148
178
142
142
137
133
138
136
147
148
134
148
139
136
134
143
142
129
139
140
130
140
119
148
162
145
399
132
118
148
137
142
130
144
133
140
206
144
141
140
140
137
118
147
227
145
142
147
147
138
148
327
128
440
118
129
129
144
141
139
219
132
145
136
150
147
134
137
141
368
142
145
508
147
128
137
212
145
147
424
596
120
132
134
145
135
128
136
138
146
129
131
148
142
145
134
146
144
151
143
149
147
139
129
137
136
137
135
221
146
134
136
140
135
149
137
129
140
147
145
136
149
138
133
141
133
150
145
147
135
128
148
131
147
134
140
136
125
146
140
132
139
136
121
140
224
139
150
142
139
142
131
127
372
142
121
133
149
126
141
132
132
229
137
239
140
142
128
143
143
147
144
140
148
240
471
137
118
133
163
161
152
156
155
439
222
142
145
405
140
147
155
156
149
153
163
140
152
138
153
144
144
142
143
157
150
142
152
216
134
146
157
357
151
148
140
159
158
155
189
150
146
160
152
324
134
156
154
148
144
153
148
143
151
151
157
149
147
129
232
156
149
158
148
149
146
141
134
292
154
140
136
154
144
155
153
145
158
151
133
148
207
154
156
157
152
156
149
142
164
156
207
125
155
147
139
147
158
145
283
150
150
146
157
172
158
148
148
150
147
142
155
142
147
158
116
153
154
150
153
142
158
141
148
151
146
136
147
156
209
389
148
150
144
153
152
139
149
156
148
140
177
133
137
138
153
157
156
135
150
138
144
152
151
134
140
143
158
161
158
138
149
150
158
150
137
122
150
159
370
147
142
127
150
146
142
142
140
157
147
157
155
159
142
156
148
144
140
152
141
132
156
140
154
139
248
151
139
152
145
342
153
151
157
140
149
141
137
149
150
150
191
193
149
479
130
155
153
142
144
150
140
159
134
151
143
369
158
149
141
145
143
164
151
145
149
154
328
160
151
158
155
148
160
157
150
150
140
154
415
146
139
139
134
141
158
153
158
153
142
152
139
156
150
346
144
143
155
140
145
150
151
139
143
154
148
142
150
146
153
140
149
146
397
154
155
135
151
158
151
205
147
150
152
151
500
148
152
151
159
159
153
153
158
132
307
139
145
352
154
149
133
139
141
147
144
276
157
152
155
147
146
151
154
151
148
137
139
149
141
148
144
145
139
150
157
151
140
148
156
475
137
142
139
142
465
146
152
143
147
160
200
136
145
150
154
159
153
143
292
150
149
155
265
151
436
143
158
156
142
273
158
158
159
132
146
161
145
151
152
158
144
152
151
142
514
158
147
146
214
151
139
147
153
146
159
146
149
168
142
302
290
162
146
156
157
144
146
152
153
145
144
618
139
149
143
156
628
159
144
150
146
151
136
145
139
152
176
146
157
140
668
143
155
144
148
148
159
159
149
156
148
137
142
141
144
146
141
118
133
148
143
158
156
140
143
152
154
145
145
154
152
138
254
155
156
158
155
155
144
155
150
145
150
160
155
151
147
287
160
156
158
158
150
152
144
140
164
342
146
137
141
131
150
145
154
150
149
155
149
159
142
283
158
146
148
146
157
148
161
139
155
154
161
149
138
150
148
156
145
150
141
149
140
141
142
379
126
145
150
265
145
148
141
155
176
153
671
151
721
143
151
151
145
142
157
152
154
141
134
154
162
154
161
156
134
146
161
154
145
155
159
153
143
140
177
152
146
149
143
153
161
149
160
143
168
135
151
278
151
136
140
156
160
152
149
161
317
145
147
145
139
153
158
153
151
147
147
149
147
161
156
144
147
159
155
146
133
159
155
145
157
284
121
147
155
222
143
146
152
159
150
147
148
148
157
147
764
161
139
145
152
142
159
161
153
160
148
153
309
159
139
149
150
161
141
147
149
148
149
149
155
176
148
154
158
152
137
158
140
157
138
146
156
143
159
157
131
144
152
148
151
152
159
151
145
139
149
136
150
159
128
158
159
139
150
153
159
158
143
147
135
141
140
141
157
155
151
143
139
156
146
155
384
146
150
148
152
159
161
153
152
137
211
150
150
151
151
158
158
150
276
160
143
143
149
157
151
160
161
157
152
160
157
142
279
150
152
142
143
147
151
157
149
150
147
154
134
156
150
147
151
159
124
277
149
159
136
153
152
144
153
156
140
154
138
155
160
149
140
159
152
136
158
146
141
156
150
124
258
147
146
120
153
415
138
158
148
279
156
134
157
139
154
145
141
145
144
143
139
153
155
145
163
139
160
156
147
159
134
146
156
157
290
156
144
149
160
155
142
143
134
149
152
153
880
150
150
143
156
152
154
147
159
138
151
152
142
148
141
162
154
150
162
158
141
149
162
122
145
496
143
147
156
142
136
151
415
148
161
252
158
151
172
148
140
138
388
140
142
136
148
145
151
143
160
146
151
225
151
155
142
146
141
147
161
156
158
140
150
135
145
151
153
166
149
146
152
132
139
144
156
141
157
146
154
155
134
143
156
145
157
151
319
151
141
158
141
146
167
476
155
145
141
153
157
153
161
144
140
147
151
155
138
138
147
150
152
135
144
152
150
148
145
134
160
149
156
151
152
404
155
146
157
485
152
161
145
154
149
159
137
470
139
152
183
160
145
363
151
140
145
154
546
233
275
145
139
160
143
152
201
144
132
151
159
152
150
148
388
151
385
144
146
133
149
157
149
155
297
131
164
146
166
163
160
150
166
164
154
377
163
169
157
145
143
263
158
161
142
161
145
151
164
166
159
168
205
147
162
157
227
159
164
160
380
151
168
157
144
155
314
162
162
160
154
166
151
145
161
202
167
155
171
158
169
166
352
150
161
163
292
254
156
156
184
159
172
148
242
155
159
159
161
150
152
163
151
155
158
147
160
163
145
147
446
146
147
152
161
160
129
145
157
148
164
154
172
163
156
155
146
164
146
161
143
495
173
159
154
155
327
161
159
167
516
352
141
160
357
148
159
156
172
168
147
170
131
149
162
161
158
156
150
153
273
170
150
156
169
155
152
702
148
270
156
164
697
143
162
143
158
159
148
163
158
164
141
165
149
158
133
162
168
165
168
157
155
156
147
142
157
168
159
142
157
345
166
153
153
166
163
168
230
157
153
142
168
152
159
155
161
147
153
154
140
169
163
145
155
159
163
159
172
169
144
150
163
152
172
230
157
168
261
143
169
160
398
155
167
162
164
175
354
157
158
163
151
301
156
172
152
160
155
159
165
153
161
150
156
150
152
167
153
162
164
148
163
167
164
252
164
170
154
159
164
155
148
159
157
166
217
162
166
164
158
175
170
160
171
166
167
135
165
163
168
158
155
164
164
163
154
145
167
164
158
226
169
163
157
145
152
147
290
168
167
151
168
141
166
169
160
145
148
154
147
140
152
152
160
449
149
228
145
164
154
156
649
150
153
153
167
153
341
149
164
153
154
152
168
159
159
157
242
161
157
157
164
197
163
164
159
158
148
146
163
156
148
170
154
169
160
155
170
158
169
162
153
171
153
158
148
151
165
874
153
151
165
299
159
157
573
153
159
159
159
170
358
154
158
166
141
163
155
216
198
161
160
158
170
171
155
173
170
158
154
284
160
144
151
329
139
161
160
164
160
164
161
216
131
165
151
169
162
152
163
159
352
137
154
191
159
155
165
154
149
150
365
154
167
163
145
161
154
165
169
143
255
153
167
158
159
507
172
151
157
152
143
136
162
160
166
156
186
156
168
189
156
168
160
171
146
403
156
156
149
162
144
158
161
169
172
151
156
165
166
160
160
161
153
160
323
132
151
190
154
146
147
162
155
159
163
487
161
172
403
163
150
160
167
314
601
387
191
150
161
140
142
158
158
162
158
158
156
160
155
165
151
160
154
164
154
153
508
158
161
158
158
149
153
161
156
158
169
154
159
159
609
164
159
155
166
161
165
165
163
148
156
157
147
144
146
167
162
143
152
279
159
151
163
150
168
146
157
162
161
152
193
162
170
421
173
153
160
140
174
491
609
161
405
157
342
161
132
145
149
159
156
168
166
179
251
152
167
157
152
158
166
172
145
160
159
151
366
149
158
157
161
144
159
161
156
143
157
160
162
161
161
160
144
157
170
142
401
154
154
162
157
163
161
187
164
163
164
142
167
230
162
146
157
230
168
161
163
155
165
211
416
159
168
161
163
152
164
167
166
162
161
156
129
152
129
168
162
154
170
154
160
156
166
141
229
156
155
160
158
151
161
276
169
155
167
171
145
410
135
137
165
160
164
158
161
163
168
155
162
268
161
164
169
151
168
146
157
151
166
149
156
163
156
159
150
159
144
164
158
163
155
144
167
158
150
153
154
150
146
151
154
156
170
153
154
166
161
176
145
167
146
163
169
154
168
164
441
170
164
170
153
158
169
148
145
153
170
161
165
158
165
154
167
169
138
288
166
160
139
439
144
430
169
137
164
162
169
173
286
148
234
152
152
137
159
153
152
154
161
162
150
171
156
167
164
159
164
588
163
135
154
164
151
163
155
164
163
156
165
167
145
157
143
163
419
482
158
163
147
307
163
200
147
169
173
171
153
164
244
146
152
144
156
169
172
166
304
143
155
161
154
619
160
166
160
149
712
163
162
147
156
157
158
143
153
154
158
167
149
153
334
154
161
155
159
162
147
163
469
164
152
167
159
164
167
145
152
168
166
149
199
168
156
155
156
148
150
167
168
167
153
169
147
633
148
155
155
172
161
165
160
154
158
164
166
153
164
158
165
152
158
156
157
167
161
150
165
160
148
130
170
144
149
157
156
155
164
166
144
148
155
167
410
148
159
165
160
142
141
158
167
179
162
148
141
164
583
151
165
145
155
143
158
160
152
172
158
152
157
338
146
157
164
159
151
132
166
162
167
183
156
154
151
165
155
151
147
161
170
148
150
159
168
157
151
161
152
152
161
158
153
167
150
157
166
432
158
149
155
159
166
153
169
152
145
176
170
170
158
168
168
170
144
156
169
174
180
181
165
296
170
159
322
167
164
171
179
450
180
157
169
146
164
173
173
169
148
163
172
156
169
173
179
166
158
173
155
166
176
646
175
172
162
163
169
175
173
166
174
167
290
164
179
171
163
172
162
431
171
167
167
179
170
173
293
171
180
181
458
175
157
160
150
154
169
176
169
617
431
321
164
364
309
397
161
164
175
178
162
166
159
175
167
443
165
141
172
162
150
189
167
168
172
159
175
155
398
166
165
158
180
167
353
153
268
169
151
235
159
165
178
155
165
162
604
168
159
167
201
170
172
158
169
167
288
184
170
170
176
157
163
300
161
173
162
161
165
176
488
359
174
157
169
169
162
175
174
162
160
177
148
169
213
333
158
152
165
169
172
332
176
157
157
160
176
153
150
175
160
576
447
173
166
154
166
173
175
167
172
176
168
170
178
308
356
162
361
160
174
168
180
166
180
162
499
174
169
173
164
299
548
451
158
416
170
181
162
164
165
165
154
168
170
157
165
179
164
179
165
163
166
171
180
164
166
156
172
556
165
179
163
171
172
299
481
166
181
171
215
676
177
544
173
174
165
169
166
170
183
179
167
172
157
172
164
160
164
178
162
225
163
178
148
161
168
177
152
174
159
177
179
163
140
168
161
175
140
155
164
177
143
181
175
172
162
156
168
199
163
167
176
173
156
167
467
170
164
165
180
210
168
161
160
170
178
171
160
165
233
147
169
171
165
157
151
182
172
156
172
169
183
167
174
377
177
167
163
157
178
166
172
160
159
171
179
296
385
164
165
154
167
161
164
177
176
169
168
165
256
174
163
162
174
163
159
162
174
227
173
180
299
152
177
174
160
167
166
135
167
182
162
164
167
291
153
158
179
174
172
161
155
145
164
166
166
171
160
175
166
163
150
162
171
157
166
144
164
160
168
160
161
152
149
189
177
175
329
162
166
174
151
212
162
169
164
174
166
162
163
162
183
172
167
164
177
175
162
178
179
173
172
175
160
169
155
156
172
418
257
388
176
316
158
166
164
170
164
162
171
172
158
157
161
163
152
150
169
149
176
153
166
184
156
171
167
170
169
179
171
169
192
180
164
161
173
166
168
171
179
163
159
164
177
159
169
166
171
172
169
169
175
249
180
169
174
183
166
155
159
166
164
167
182
169
168
178
171
177
168
178
157
144
182
145
222
487
228
167
169
577
274
161
176
156
161
172
178
169
177
164
146
136
185
160
156
164
162
171
162
181
182
194
156
163
452
171
289
172
172
166
597
147
157
162
162
178
169
172
538
171
162
218
167
407
179
290
169
438
173
162
176
167
167
171
159
170
166
178
161
164
226
177
151
171
164
148
177
169
161
173
348
169
165
174
170
165
167
471
145
149
159
175
167
176
177
536
181
165
158
162
380
167
250
160
155
169
163
162
160
463
168
170
166
146
171
207
161
164
174
163
178
151
151
668
168
188
636
168
512
162
166
177
163
172
165
164
178
176
162
164
161
173
164
164
747
183
177
174
165
157
158
159
297
168
170
175
323
166
179
176
175
170
173
169
170
518
159
162
171
164
159
169
179
177
155
180
178
165
153
179
375
183
170
181
171
163
169
182
178
537
174
176
148
166
174
172
178
181
175
153
155
407
153
168
155
168
171
175
173
453
160
177
161
158
142
160
171
157
165
179
158
141
172
155
151
171
171
182
179
247
170
169
164
154
172
168
156
161
172
179
169
158
174
168
156
163
172
153
149
176
221
277
170
167
180
176
175
171
169
174
168
157
164
175
221
147
153
162
168
364
136
161
170
173
166
167
173
146
172
157
169
150
179
161
178
172
165
171
163
155
167
167
171
245
165
163
173
170
154
167
151
178
172
168
167
171
166
171
155
164
152
168
170
164
177
172
153
166
170
167
157
173
155
157
162
166
159
173
158
162
167
164
152
156
240
173
171
168
162
169
172
181
150
169
169
171
162
171
154
151
170
179
169
162
231
171
172
167
167
158
179
306
165
150
181
167
179
151
172
171
141
172
150
148
167
156
170
162
174
157
168
394
167
170
174
173
653
165
174
168
166
174
214
169
161
163
174
166
176
154
171
162
161
170
173
681
166
158
178
162
168
163
180
165
166
536
327
174
177
154
179
170
270
176
169
178
175
167
167
157
166
171
172
171
182
160
177
155
146
168
176
160
161
165
163
619
291
311
177
153
166
158
306
159
173
169
171
170
158
185
164
179
169
456
173
178
570
528
157
160
177
545
177
173
233
174
193
227
182
179
580
178
191
185
170
181
177
300
172
192
175
386
149
182
175
186
164
178
189
676
178
176
181
181
171
170
166
169
161
170
172
173
189
339
167
177
179
170
166
170
166
186
181
183
610
179
170
501
235
176
180
249
176
245
151
166
556
182
173
187
176
174
387
187
181
297
488
165
174
171
167
156
170
179
159
168
188
188
174
166
163
174
180
211
164
179
156
159
186
292
373
172
180
186
150
181
246
176
190
180
174
164
192
174
180
161
176
172
172
272
177
207
169
182
165
181
176
180
184
186
279
281
180
360
187
173
367
169
185
186
531
179
175
186
167
170
158
160
187
172
179
251
181
419
473
184
178
192
167
182
180
156
165
179
155
172
171
181
165
161
161
172
171
167
184
185
309
181
169
181
189
174
171
159
169
165
176
185
188
163
417
330
246
183
161
175
169
175
160
157
178
183
323
167
169
175
162
190
188
189
168
177
168
184
177
176
166
173
286
162
186
169
174
147
182
273
168
161
188
176
670
158
153
164
158
186
186
297
189
177
177
185
168
179
172
177
189
241
174
167
180
167
177
192
172
288
179
188
183
170
517
266
165
183
176
243
181
496
178
174
176
154
184
423
176
175
176
336
169
185
160
171
184
192
164
195
188
181
190
161
168
169
182
179
167
667
176
162
178
197
172
180
173
162
182
182
180
173
175
184
154
182
173
181
255
186
169
171
173
162
371
560
172
186
170
166
173
528
163
181
178
207
174
158
148
163
172
180
174
168
182
166
188
181
189
189
501
248
172
162
170
182
155
173
180
173
172
167
164
178
163
186
169
181
186
170
170
152
181
165
185
165
163
182
189
383
628
190
171
173
171
180
178
182
177
166
175
180
168
175
172
161
164
221
189
292
172
181
170
164
178
170
175
178
241
182
189
173
165
186
170
182
180
176
181
189
180
183
180
178
175
185
170
173
183
170
170
166
178
173
158
174
181
183
173
188
163
175
188
771
769
179
183
560
177
155
179
163
456
180
173
180
166
165
233
781
161
188
172
167
173
176
208
175
170
182
186
479
179
173
180
182
264
174
161
264
174
175
166
178
186
181
297
190
177
549
385
191
179
182
168
192
287
165
180
189
185
347
174
169
161
178
178
210
169
303
174
221
175
172
169
175
184
283
175
176
179
157
180
178
211
192
174
197
156
187
186
179
168
164
178
177
178
179
175
180
171
173
141
176
180
161
179
174
178
178
180
176
167
148
522
253
181
371
183
170
176
176
169
186
180
555
181
182
671
169
170
252
167
422
184
185
412
183
189
156
169
166
185
184
175
518
443
179
167
170
168
175
169
165
170
176
184
189
191
171
174
178
190
173
184
176
496
181
177
179
168
180
162
182
316
241
176
188
181
179
177
180
174
182
189
168
172
187
158
176
182
184
365
190
173
179
307
169
179
179
334
188
598
171
201
162
189
161
171
194
174
179
163
170
155
275
187
188
188
173
301
176
259
347
172
185
156
138
176
177
177
180
180
178
173
186
174
184
166
457
174
182
169
188
188
176
362
168
186
178
186
309
174
174
187
165
166
176
176
267
179
189
178
178
277
173
182
181
176
161
155
181
165
182
172
175
180
207
152
176
186
176
167
177
173
172
175
165
184
170
188
186
182
173
174
167
158
212
331
190
148
238
180
182
185
180
183
288
173
177
156
174
189
177
186
165
176
179
362
339
185
171
178
614
164
239
175
184
169
161
182
177
180
342
187
576
225
186
170
181
182
180
608
177
156
178
171
293
166
164
174
176
190
166
176
170
468
178
167
188
178
181
176
224
163
170
192
178
183
169
176
194
469
182
171
169
184
187
187
174
175
271
183
173
183
193
162
161
166
187
180
177
163
175
165
179
166
181
246
180
421
154
268
169
158
175
363
172
174
191
187
174
527
183
172
166
168
172
170
179
176
479
177
161
175
181
172
169
173
189
165
164
182
177
265
180
165
162
160
180
169
170
176
526
172
182
187
152
855
159
247
176
180
174
162
179
181
173
179
160
563
190
185
172
173
186
184
164
189
177
165
177
174
171
178
181
188
179
187
181
376
579
174
168
179
172
168
454
181
172
318
170
255
170
174
164
181
189
178
174
183
170
189
187
550
184
181
188
179
171
183
173
171
166
191
188
579
172
165
177
189
180
172
819
178
311
174
178
168
182
178
171
173
491
170
177
182
170
187
189
187
171
173
160
170
162
179
165
154
194
210
188
430
579
174
169
191
172
275
315
184
171
731
170
164
164
186
201
182
197
516
177
180
192
193
191
187
200
337
176
467
354
174
180
172
187
178
196
179
181
175
195
186
185
189
173
185
193
190
163
200
189
170
186
191
195
184
177
187
183
170
191
186
380
201
189
190
244
188
201
181
167
186
183
187
202
180
198
193
197
202
192
181
173
178
178
178
189
181
172
175
189
235
230
186
185
195
189
194
181
194
172
199
186
196
184
193
538
179
178
185
189
186
210
188
179
184
172
194
183
176
168
225
196
179
181
170
176
188
183
181
198
191
191
179
176
194
184
184
208
357
240
175
170
178
190
191
196
431
201
187
189
187
628
184
470
182
187
201
371
179
191
187
190
376
176
531
501
188
188
162
414
183
174
201
189
187
185
189
171
189
180
169
390
186
568
192
182
197
177
175
194
191
179
180
184
180
188
184
184
185
185
170
180
187
139
184
194
173
179
194
226
200
185
199
189
191
169
482
169
193
192
184
187
179
179
194
179
177
787
184
189
188
156
185
196
180
183
186
173
196
162
600
193
166
247
591
172
201
194
176
357
197
290
515
188
167
558
187
406
183
173
177
196
179
192
181
215
167
202
196
194
167
202
554
437
185
189
196
189
174
192
184
183
270
172
206
187
196
178
174
166
185
178
189
286
188
180
177
177
189
183
191
192
175
177
195
184
180
198
195
192
440
199
182
424
665
200
629
354
246
180
182
183
172
502
513
201
174
187
189
199
195
196
188
178
190
177
186
181
188
164
180
187
171
183
167
184
186
195
149
189
190
563
193
200
181
199
531
193
189
192
175
173
193
193
176
187
187
466
179
189
183
185
217
578
179
253
172
268
226
190
174
186
180
204
193
183
179
179
176
170
197
177
193
201
166
186
186
190
178
453
183
195
186
175
164
174
182
184
186
187
182
178
186
168
169
182
181
178
190
192
177
179
195
181
193
169
178
529
167
185
172
192
194
246
180
188
179
190
210
195
198
193
153
185
185
190
187
174
188
181
194
196
162
169
188
180
242
180
178
178
194
194
423
181
176
162
188
198
170
576
181
181
199
188
181
166
187
182
179
181
669
202
183
183
199
187
194
195
184
161
194
188
186
172
402
192
175
173
185
188
195
194
173
202
351
191
407
173
186
196
190
187
163
190
229
323
196
339
194
186
196
183
178
175
621
175
180
188
187
179
177
163
179
184
194
169
193
170
178
227
183
189
192
178
181
195
210
196
206
180
253
180
192
198
183
248
190
186
171
182
248
182
164
184
178
203
176
195
185
200
194
194
188
188
181
183
194
172
183
185
186
184
176
195
275
187
157
305
191
185
185
186
176
181
179
191
184
180
482
189
173
163
191
604
179
183
179
173
181
180
180
183
197
185
190
191
188
223
189
184
199
177
191
356
193
200
188
194
187
190
180
219
727
280
543
168
195
167
181
180
166
177
176
181
176
184
192
195
188
182
191
186
188
193
294
186
196
174
178
191
179
190
165
389
181
188
413
332
179
202
439
171
286
194
187
185
188
189
444
166
586
201
186
190
159
178
191
190
189
271
175
178
236
190
190
251
193
180
181
193
195
317
565
367
184
189
456
188
197
187
168
158
823
200
183
163
192
178
184
184
825
188
189
300
180
202
158
194
255
169
186
181
287
179
176
463
176
284
184
545
175
197
184
193
172
185
193
595
187
174
463
181
198
194
182
607
192
196
156
164
193
178
177
193
541
542
170
199
186
201
188
183
495
182
501
174
187
185
237
327
185
182
162
184
194
188
623
178
179
183
184
186
191
187
186
179
178
179
171
194
232
198
203
174
187
198
183
504
178
185
254
182
192
189
178
300
713
215
191
179
180
155
195
182
161
183
186
173
185
178
171
188
187
180
180
184
176
195
186
190
181
193
197
185
164
458
190
490
188
191
182
165
184
184
223
290
183
492
213
597
190
337
192
186
184
710
171
195
175
181
200
197
450
191
327
602
188
160
194
172
184
194
185
194
202
176
191
181
182
158
484
293
176
193
176
191
245
173
492
198
186
184
593
173
195
250
181
174
184
200
195
192
171
192
311
176
163
190
181
192
174
171
193
194
188
199
181
184
195
188
187
559
187
182
177
266
186
160
416
273
178
174
197
176
198
541
183
161
393
164
193
202
169
257
284
169
190
184
184
202
538
188
180
184
199
215
174
180
183
406
189
197
165
196
182
185
174
176
408
180
190
194
187
180
186
182
192
183
199
191
181
192
178
182
193
176
188
186
188
187
166
175
186
376
335
170
169
190
183
185
191
196
193
188
191
201
183
183
188
193
209
358
192
340
171
181
204
194
197
185
186
206
174
184
197
179
195
160
176
195
210
195
462
171
284
707
207
195
201
207
196
186
203
207
200
167
166
203
447
202
215
181
191
200
333
186
846
309
201
190
294
209
200
187
184
198
201
202
389
657
192
199
186
195
184
190
192
455
179
185
199
190
208
195
302
205
181
239
407
186
204
187
182
472
229
196
199
198
203
201
181
200
199
283
197
193
199
198
196
189
243
300
200
177
197
201
195
173
209
372
179
191
184
184
200
187
208
179
197
196
188
211
201
196
187
204
208
198
193
593
265
201
186
180
176
184
199
207
182
186
185
204
190
765
193
188
416
181
413
364
171
197
569
182
269
178
186
187
200
230
189
434
191
199
182
185
236
204
188
205
191
197
181
205
187
190
206
179
186
182
308
196
185
190
194
198
709
193
411
176
183
178
184
182
236
187
200
197
186
202
197
255
197
191
195
204
201
269
199
196
206
178
183
187
185
193
196
203
200
316
206
189
191
667
177
187
177
194
639
175
643
391
185
202
202
388
175
186
383
224
202
177
200
195
198
193
186
201
187
182
193
204
204
198
859
187
211
227
199
187
252
332
186
209
195
181
451
184
592
190
204
191
191
181
214
201
193
184
181
199
185
178
205
204
198
678
201
198
206
185
188
616
269
546
316
195
182
181
572
204
202
176
187
199
621
449
203
204
369
198
269
202
254
184
209
207
209
187
371
198
188
209
194
185
198
182
211
187
200
158
244
200
188
202
548
204
192
202
192
194
212
197
183
203
195
312
182
184
203
196
195
186
204
199
201
189
206
193
190
175
192
328
165
205
184
200
196
196
262
201
757
203
183
184
270
196
190
189
709
192
183
206
185
193
205
309
191
189
197
334
453
180
200
489
188
199
181
200
208
197
341
196
198
207
229
206
169
191
193
201
180
182
195
200
463
197
644
209
357
190
215
197
208
184
211
194
205
197
203
197
188
205
198
202
565
206
183
204
252
197
441
199
196
207
205
202
188
195
165
199
171
200
204
197
165
181
191
186
203
203
192
184
200
197
176
189
181
185
191
472
201
196
178
187
676
448
248
196
203
186
182
175
192
190
196
195
183
183
197
189
198
191
211
186
193
183
209
184
181
203
196
205
199
195
339
200
202
253
186
192
318
201
194
248
198
196
203
193
192
293
196
194
548
190
188
176
198
209
184
196
283
197
269
208
182
203
280
367
191
658
200
187
178
187
206
188
192
203
190
569
606
188
181
194
178
203
177
209
203
184
199
174
186
210
198
194
202
180
203
663
223
196
194
198
185
192
197
196
236
180
205
308
190
204
206
197
276
196
198
194
197
174
199
200
208
197
462
207
437
202
191
187
183
208
198
205
188
197
207
343
461
326
228
199
205
203
187
193
189
199
248
163
175
197
187
193
193
191
194
197
307
701
196
189
551
179
210
196
202
191
182
238
197
181
192
185
187
196
201
196
190
192
206
190
529
195
462
206
189
192
173
202
185
197
205
238
456
198
322
535
205
203
199
192
480
234
191
204
332
203
197
367
262
210
196
175
351
191
194
695
785
297
195
194
192
197
206
200
205
189
184
411
302
256
209
697
176
202
177
175
203
199
197
193
185
263
194
186
178
192
395
202
199
199
189
178
198
205
178
185
479
201
186
195
386
195
429
181
193
185
187
204
262
192
199
199
187
190
189
193
423
185
198
205
202
168
673
536
198
193
198
200
208
199
192
178
196
189
196
180
197
199
205
202
206
195
199
210
201
198
198
198
196
204
297
182
208
197
339
204
190
184
199
186
200
216
200
200
201
193
268
202
183
176
194
189
198
177
199
194
204
209
198
207
191
185
189
205
202
177
198
194
186
212
208
508
205
200
177
209
183
201
185
199
364
199
191
181
318
166
192
219
190
228
194
186
193
189
176
197
192
388
203
190
172
161
203
193
237
203
192
194
199
163
204
173
216
203
189
204
200
185
309
189
202
199
311
191
191
196
335
194
579
205
227
180
184
186
189
193
189
477
207
202
182
196
185
267
183
194
194
183
205
252
570
198
264
180
248
207
194
198
260
185
196
191
203
193
193
181
192
197
183
200
199
198
195
191
445
181
188
187
562
204
173
177
406
280
197
672
178
212
190
448
196
194
559
260
202
171
261
246
197
283
194
198
204
200
205
184
367
186
192
190
189
179
200
196
207
447
171
194
179
207
174
204
179
204
208
197
192
178
192
197
381
344
204
201
177
184
194
178
194
189
192
211
206
203
344
199
218
196
192
214
215
207
507
203
203
209
204
202
194
542
208
205
216
169
216
379
206
352
203
204
208
214
220
360
211
191
203
206
207
188
558
350
199
198
200
195
189
209
182
489
213
214
196
194
221
214
217
205
193
589
196
182
206
704
520
213
211
215
202
409
224
212
461
207
208
430
213
194
204
210
196
190
278
214
198
180
438
197
213
202
209
219
197
207
186
220
194
201
201
423
190
199
216
205
311
203
215
187
206
242
198
270
206
200
210
194
198
201
179
186
205
206
193
462
201
213
206
216
270
212
207
198
179
226
199
187
187
211
469
196
191
354
198
204
205
192
375
199
188
219
208
203
325
204
182
206
445
205
196
196
203
199
474
201
210
185
201
197
187
198
186
202
217
207
213
216
211
496
202
636
185
191
201
204
209
168
346
201
206
203
198
295
217
235
211
242
413
200
224
219
218
214
200
214
213
269
253
211
188
195
206
205
209
191
190
324
213
490
199
455
292
197
203
338
206
248
201
207
204
203
189
208
189
195
486
185
191
438
190
193
213
214
194
210
202
207
190
183
247
192
185
195
209
212
198
200
647
804
203
202
197
201
189
190
209
183
203
201
214
215
200
199
215
195
201
196
199
205
210
262
212
192
194
318
201
204
200
208
258
384
568
199
338
189
203
204
214
204
196
181
196
218
205
218
194
210
215
204
203
204
191
203
212
202
207
199
199
199
197
206
189
189
215
195
180
208
202
259
207
217
197
210
198
195
207
197
208
202
201
192
212
203
189
203
204
205
216
354
199
203
206
203
193
193
408
196
210
162
207
206
199
190
210
211
200
224
212
201
574
209
195
206
199
195
230
219
193
195
209
214
204
188
201
202
220
213
206
213
188
279
195
397
207
212
216
204
485
209
203
218
540
208
180
203
214
193
224
266
216
209
201
206
312
206
172
187
206
420
213
202
206
198
220
210
886
269
197
488
208
186
224
201
220
206
202
392
194
179
214
454
373
236
215
211
199
214
185
218
321
289
225
561
489
165
192
210
201
186
208
198
173
191
214
198
196
245
347
217
215
205
196
210
202
208
334
181
220
201
777
199
207
197
202
199
386
390
206
213
195
181
188
195
179
192
215
194
207
200
207
201
207
236
187
212
204
356
193
197
206
205
199
204
210
194
205
188
202
205
200
182
222
201
194
194
204
204
391
213
199
216
193
352
215
207
211
404
182
205
202
638
211
206
201
205
195
191
188
207
215
660
198
207
219
189
204
201
250
220
216
261
217
189
208
209
197
221
205
209
189
543
256
183
193
206
313
207
190
219
201
196
232
193
209
194
203
206
207
199
207
207
206
208
234
209
197
429
205
205
203
315
209
208
191
207
184
205
197
190
194
200
185
200
198
170
201
602
443
333
385
202
432
211
202
379
218
294
224
486
208
229
299
205
211
196
209
213
191
177
509
195
187
200
200
206
208
175
284
210
194
201
179
192
212
200
204
205
174
466
209
657
211
212
215
192
182
208
295
373
208
190
604
183
194
215
214
455
226
187
214
210
277
210
343
203
576
201
270
467
219
215
219
197
208
402
194
207
215
466
376
201
306
214
195
192
205
181
208
199
194
357
267
209
739
253
195
208
204
216
347
208
200
248
211
208
211
205
196
186
206
184
200
185
189
214
514
180
213
421
220
202
205
189
210
400
588
205
185
199
197
189
203
212
195
199
201
305
215
204
212
405
607
208
197
221
199
194
213
211
205
429
502
169
353
210
208
198
213
209
214
196
207
197
207
639
195
202
197
188
192
198
184
217
217
192
619
183
204
197
194
189
191
207
179
232
204
196
181
197
204
206
184
210
212
206
211
210
210
185
209
188
200
213
502
189
200
205
562
208
201
223
204
218
206
595
204
328
204
185
194
204
181
213
205
178
213
441
217
197
193
205
206
328
193
195
204
193
249
214
198
207
198
198
232
162
208
311
203
200
196
202
210
748
182
193
202
198
207
206
205
194
270
231
186
204
211
185
197
202
208
204
295
203
379
171
171
528
202
215
322
220
230
173
343
219
220
208
628
210
332
208
213
204
189
201
202
586
219
205
203
202
191
205
219
206
205
200
204
197
178
195
202
197
187
206
577
203
210
199
183
206
189
204
402
220
203
194
189
215
204
194
489
248
222
402
211
217
223
204
196
195
188
217
190
204
198
212
195
414
410
211
454
555
190
189
695
203
200
336
218
186
641
197
185
213
201
578
196
211
410
199
202
373
197
207
266
206
219
370
355
217
222
213
202
220
415
222
180
200
219
201
211
222
203
212
217
310
201
292
258
192
215
198
489
193
219
206
206
219
228
232
208
201
199
226
215
207
221
215
195
207
292
229
554
210
598
195
206
198
190
225
220
196
203
202
215
271
213
378
205
225
190
203
331
224
225
221
213
215
210
200
220
219
411
206
231
204
220
217
202
207
202
211
184
222
202
218
258
233
188
201
204
212
214
740
203
235
212
199
214
224
229
224
212
205
213
227
186
234
200
209
208
218
203
211
510
379
201
393
213
211
328
183
215
516
204
260
203
223
217
446
591
197
202
263
206
218
216
502
183
204
209
195
218
350
335
306
220
203
232
208
207
219
249
205
209
204
196
213
225
541
215
207
190
207
223
219
215
203
207
227
186
217
210
231
216
228
228
223
245
221
222
224
206
195
189
214
222
586
211
196
180
179
270
201
208
222
222
214
223
209
220
219
214
201
226
200
210
198
207
391
238
216
219
210
200
489
217
202
185
514
208
645
403
178
235
209
210
174
225
193
213
345
217
209
209
211
208
208
209
566
197
474
689
193
192
217
257
217
216
224
208
198
204
191
199
208
209
217
252
477
193
205
217
201
207
220
465
200
412
342
224
205
287
224
201
222
195
213
200
203
221
336
210
242
207
305
205
204
203
215
195
228
218
232
216
490
217
347
353
223
200
215
221
216
215
184
617
196
205
210
201
222
181
213
217
214
311
180
214
200
214
382
219
209
206
232
203
189
226
240
538
195
202
215
206
212
205
196
194
196
193
213
198
195
211
276
224
218
225
216
200
216
214
191
374
224
219
237
211
222
211
387
210
208
210
226
371
208
213
493
311
211
227
568
290
228
220
197
228
223
221
201
217
217
231
190
192
212
204
203
200
205
200
220
275
505
215
213
213
200
217
220
417
206
217
202
201
222
210
218
252
436
262
208
204
211
298
215
215
213
212
211
222
216
195
230
200
210
194
220
512
212
203
216
216
472
606
221
331
225
218
206
231
214
210
203
212
259
210
209
182
218
198
567
224
204
330
219
214
223
196
376
210
213
225
185
208
205
223
213
386
376
203
201
206
211
198
223
351
209
225
205
215
216
182
211
203
226
201
223
218
211
233
188
212
203
313
560
228
219
216
200
214
500
215
220
217
227
223
308
224
216
219
201
300
228
192
203
216
227
227
217
226
182
211
478
213
208
213
214
191
733
209
198
208
401
198
221
208
203
245
225
349
221
211
217
391
207
208
432
211
202
557
226
458
201
226
208
221
312
205
209
219
216
199
202
366
302
295
215
406
220
288
524
192
348
235
185
209
244
191
186
203
210
200
202
274
225
562
224
284
210
195
645
215
285
222
203
207
375
192
195
216
206
197
476
216
224
199
218
338
224
220
218
387
203
181
197
609
238
198
219
279
226
209
224
501
205
269
308
205
221
216
420
222
224
208
203
200
213
223
189
661
330
204
203
214
203
208
197
213
194
195
219
266
487
326
208
220
315
213
224
220
605
212
363
212
212
197
257
213
222
186
212
637
198
218
203
201
188
357
205
187
217
195
210
210
235
204
218
227
202
208
216
220
214
202
210
221
382
224
440
198
194
365
214
211
208
221
224
204
232
226
210
218
213
217
203
203
198
225
210
216
176
191
216
208
229
209
220
219
673
224
208
201
217
212
220
208
217
216
214
229
188
199
214
437
209
205
208
580
202
222
204
209
401
223
212
464
462
413
193
215
391
231
213
206
431
213
216
222
194
212
224
215
276
215
211
753
203
218
191
205
303
267
225
206
215
222
197
337
451
228
216
212
227
197
206
268
292
204
208
215
270
468
215
523
193
219
212
213
217
205
498
211
182
218
222
212
218
212
711
239
200
222
214
225
207
468
205
205
212
203
219
528
222
217
485
220
218
218
320
217
219
695
207
197
227
203
207
216
194
371
249
214
219
270
192
246
215
207
499
318
680
200
217
194
210
558
536
220
195
212
212
198
192
473
218
198
273
665
422
216
251
215
213
471
211
222
220
205
221
324
344
211
207
221
204
266
219
220
195
461
199
219
223
201
228
224
215
254
204
189
219
200
206
217
211
215
350
212
220
203
235
209
202
577
206
221
218
181
554
679
218
209
224
316
220
257
228
194
205
220
212
228
556
520
206
219
574
209
468
216
207
192
275
219
203
200
213
216
211
216
209
218
225
435
301
193
207
201
211
351
213
198
189
207
210
243
202
214
205
216
207
401
202
194
202
783
184
225
214
375
209
202
220
269
207
195
260
223
211
204
236
259
216
219
231
228
209
276
231
644
339
219
231
230
217
219
217
229
218
211
329
240
219
205
449
236
406
223
196
230
224
227
245
529
472
190
716
214
414
212
208
222
231
227
307
206
216
211
218
227
228
205
630
209
409
209
201
215
231
216
215
217
225
455
220
210
216
220
322
224
198
219
225
228
202
780
226
234
208
211
219
203
226
219
213
239
222
207
217
222
217
780
218
237
402
208
420
229
374
239
225
266
728
203
237
340
716
216
199
230
197
218
232
221
219
352
363
465
230
210
228
240
211
225
211
207
221
206
219
224
221
245
228
222
225
214
216
208
559
605
217
220
229
203
261
183
246
236
550
206
230
189
247
361
228
188
204
233
221
228
218
232
439
225
222
435
223
470
232
210
231
210
231
504
223
223
438
213
273
331
203
241
206
217
341
214
237
385
212
218
227
315
224
223
215
226
219
214
211
207
235
312
217
224
234
218
589
539
218
384
214
201
445
216
205
224
229
227
471
228
205
202
208
232
345
217
231
226
213
229
214
229
230
206
207
210
204
264
223
215
549
196
210
220
209
217
486
286
243
300
290
234
217
223
302
208
223
231
205
574
239
418
234
222
217
232
217
219
369
217
218
352
223
240
203
204
241
234
232
682
233
222
197
221
232
224
234
490
216
217
480
320
199
220
662
220
215
579
230
228
209
219
234
223
386
219
215
212
206
361
224
229
244
219
210
229
192
377
265
295
210
218
685
228
212
212
198
205
434
220
212
203
221
233
458
262
207
213
274
404
216
222
231
219
233
236
208
222
200
408
227
312
215
215
582
226
205
229
217
201
216
223
223
221
231
363
221
209
220
409
385
216
201
206
228
202
585
584
212
502
229
213
220
292
221
800
201
213
361
246
202
212
224
216
210
506
241
199
200
479
333
240
213
232
204
215
229
209
211
303
215
221
327
219
208
210
485
238
223
215
421
312
204
370
223
375
252
227
204
216
243
358
225
705
219
228
226
218
223
218
223
200
214
215
237
218
264
200
219
198
234
228
220
217
208
224
226
294
266
431
225
223
218
207
235
341
225
229
197
201
220
223
206
359
715
221
249
419
201
213
627
236
231
231
236
212
216
449
205
221
224
230
407
231
202
619
231
381
237
426
365
208
212
181
212
232
203
662
220
259
263
284
300
210
226
208
208
379
332
217
227
224
192
223
223
250
234
227
232
763
236
214
206
220
204
226
293
229
263
448
495
223
229
214
571
213
341
222
220
207
201
222
209
240
529
228
284
292
224
915
290
537
231
215
230
219
214
216
348
556
203
291
221
215
266
300
227
224
219
212
204
205
167
209
217
217
231
447
448
238
229
216
246
179
769
221
266
549
226
219
262
232
225
588
265
227
216
320
463
222
234
213
211
226
230
210
350
224
234
223
207
220
225
520
215
309
230
211
305
239
223
204
220
217
234
224
214
210
236
217
242
209
324
219
435
195
225
241
208
226
204
243
210
220
231
563
191
222
489
224
228
228
242
326
224
211
215
216
202
214
535
283
774
224
207
212
213
210
227
233
663
207
218
655
211
330
274
190
803
356
218
273
209
218
209
216
219
331
191
226
380
423
216
240
204
271
335
225
208
207
216
223
253
234
219
233
216
229
217
203
228
253
529
261
217
222
231
218
221
227
223
212
232
236
220
224
208
197
216
230
200
199
209
203
216
201
222
212
225
243
207
206
217
181
213
214
216
212
227
830
204
211
219
226
213
230
677
412
227
215
214
222
231
208
226
215
214
788
222
217
213
203
192
223
217
232
208
223
216
221
473
203
348
219
178
225
218
634
214
212
208
235
243
231
234
231
380
256
545
211
212
286
215
211
211
213
219
221
208
222
215
541
297
229
428
320
242
209
206
220
221
234
213
228
210
201
238
214
262
229
208
222
232
220
234
236
225
218
225
225
209
225
235
226
202
210
215
199
228
212
203
226
218
334
223
203
221
213
233
211
221
364
203
233
215
229
210
227
194
228
197
209
227
420
214
208
496
205
237
191
225
232
222
230
369
224
248
211
217
201
378
221
199
459
208
312
325
207
238
232
216
217
217
215
208
221
214
235
229
605
219
224
198
300
443
223
213
216
213
231
218
438
208
215
406
360
357
229
221
304
216
224
664
220
478
311
384
220
341
370
226
225
212
209
227
195
223
223
346
216
234
222
285
206
231
225
207
228
225
216
400
220
875
232
242
224
234
226
291
211
210
233
232
217
204
222
360
263
209
214
278
212
190
339
351
236
224
221
220
222
235
243
226
243
250
252
421
251
224
227
556
480
222
357
195
243
236
216
271
235
222
237
342
358
215
469
234
240
224
223
311
220
212
266
214
208
223
718
243
491
199
238
228
226
738
253
223
545
222
217
230
215
584
238
365
541
239
238
243
238
291
446
207
232
206
221
642
241
588
206
442
282
233
211
241
215
222
240
235
217
240
240
316
222
420
235
233
237
214
250
225
206
212
216
244
221
231
229
228
223
242
295
449
467
231
443
234
254
217
228
487
215
221
235
229
248
223
435
230
230
221
224
202
312
228
243
229
237
440
231
227
203
240
216
294
460
237
226
235
207
229
243
220
237
234
237
209
228
251
254
246
224
222
241
243
697
381
227
223
237
225
220
248
213
226
205
235
612
245
305
231
219
219
227
222
236
305
236
497
371
213
225
255
235
236
614
248
207
231
232
238
220
457
229
238
225
348
251
244
226
235
612
235
220
302
212
397
229
308
225
230
216
237
234
223
225
238
237
229
219
226
220
215
216
227
223
223
542
227
243
236
244
237
236
220
218
237
222
203
218
225
216
213
373
201
213
226
237
454
665
238
376
235
243
451
242
391
222
246
197
293
256
224
220
408
514
227
241
218
239
232
349
226
236
217
223
210
231
217
221
269
227
228
230
243
380
240
212
322
235
240
266
230
201
216
239
221
236
221
245
222
205
433
227
245
228
247
248
212
226
228
220
240
228
210
229
200
224
248
242
446
231
213
225
241
300
221
237
538
302
261
229
443
257
226
668
440
538
209
217
220
239
583
440
646
231
208
230
231
231
459
321
513
238
418
237
232
238
214
557
219
322
242
224
224
255
209
241
235
220
247
587
583
289
224
221
738
223
219
528
234
242
496
223
235
245
212
234
230
204
225
242
227
322
249
234
798
220
573
214
207
239
232
218
236
249
240
281
225
359
226
227
340
236
235
225
214
228
840
324
224
218
211
235
201
250
205
241
220
224
318
222
229
241
216
604
222
246
209
192
222
230
226
212
241
222
407
221
233
236
220
213
236
207
232
271
232
206
230
249
265
238
237
228
517
225
221
250
229
372
235
326
230
227
230
221
226
795
230
224
235
244
226
223
205
233
233
232
230
226
248
272
226
217
236
225
210
423
238
228
238
222
233
332
742
232
487
233
248
228
226
298
208
213
226
363
454
222
217
231
229
428
232
228
225
355
319
238
227
228
639
458
263
261
218
410
552
288
232
238
238
245
211
215
241
241
236
224
245
224
687
428
609
203
229
213
195
192
241
236
225
213
215
235
233
631
222
228
229
588
239
216
228
295
593
480
656
237
228
228
271
218
242
482
245
705
211
233
246
358
239
237
224
229
249
218
209
322
232
238
521
208
233
237
325
243
229
237
249
803
229
216
242
327
225
237
237
243
234
239
571
232
214
212
631
242
422
284
225
217
418
227
858
231
211
223
255
217
422
214
245
254
239
234
232
237
260
219
428
235
428
239
242
285
239
235
248
234
237
227
220
234
331
220
203
471
376
230
270
214
229
206
199
245
235
243
221
548
331
216
221
227
210
221
571
241
206
746
265
228
249
363
225
471
287
220
213
218
580
231
237
218
235
215
207
216
239
241
226
222
202
207
222
232
236
220
218
235
234
356
213
224
230
234
566
273
217
231
235
360
210
228
239
224
235
229
334
227
232
280
754
221
277
230
217
282
232
540
300
245
237
253
231
253
347
700
223
220
235
230
229
218
246
246
231
234
516
234
226
246
222
212
235
345
213
276
217
576
202
223
471
235
222
194
247
314
230
258
352
422
232
208
232
236
208
226
235
245
244
623
312
204
252
246
229
500
265
238
445
221
237
240
230
235
233
542
221
225
223
246
217
225
409
530
222
246
229
782
222
182
212
392
227
200
237
238
363
226
219
243
428
237
209
319
229
300
248
240
227
486
273
221
229
237
235
239
225
457
230
234
224
234
241
209
230
219
223
345
225
230
229
231
216
250
218
230
224
218
208
287
221
222
304
230
188
233
230
234
328
227
211
415
236
685
260
236
241
225
224
260
239
246
198
242
308
344
213
229
216
236
555
241
318
221
246
219
234
242
244
638
229
331
204
234
409
444
222
239
219
660
350
223
235
229
689
636
234
369
236
462
816
269
224
242
329
208
228
221
236
220
209
196
209
229
196
226
218
238
234
225
232
230
225
218
459
313
249
241
367
251
207
515
227
194
486
395
222
250
208
234
233
227
232
232
248
238
389
215
215
233
520
219
214
228
608
536
228
230
236
401
671
250
725
407
230
510
686
239
253
227
541
544
233
548
293
319
241
238
240
221
363
237
208
240
231
600
500
587
240
564
231
512
211
235
241
230
447
251
478
222
224
232
234
226
229
239
556
235
252
239
275
480
264
215
226
759
233
238
246
601
232
221
236
244
212
243
222
204
241
225
236
238
245
226
219
352
338
226
248
696
556
229
225
233
241
219
331
229
232
210
228
243
236
231
393
232
408
245
234
885
238
237
242
223
245
225
228
250
249
254
263
236
236
482
257
234
659
224
572
246
219
231
229
239
340
218
244
233
238
246
416
240
238
223
236
473
227
555
658
204
240
235
240
236
245
252
223
288
232
234
261
238
241
246
239
213
224
708
231
237
286
237
229
226
251
237
227
224
233
500
235
226
243
244
225
515
500
258
230
212
269
235
204
240
223
234
226
232
257
228
383
213
248
240
222
238
240
233
336
227
210
241
238
220
235
276
200
234
243
240
285
251
233
229
253
237
256
250
216
235
253
211
263
321
248
234
691
223
228
228
261
291
221
245
235
242
227
229
236
236
236
225
308
257
246
252
221
240
228
228
249
218
351
240
234
513
218
224
257
241
255
241
221
219
263
227
233
342
218
228
256
242
241
236
235
220
218
608
198
243
216
231
217
519
234
465
243
246
228
470
282
244
222
245
236
235
234
222
228
624
236
561
232
207
227
528
244
693
235
225
213
499
248
358
241
449
229
232
225
232
219
572
353
234
231
239
232
229
211
215
684
221
238
237
219
225
230
252
222
242
239
249
254
241
240
232
226
241
232
306
518
222
280
227
212
371
229
220
332
230
600
484
249
228
244
238
229
333
223
245
237
226
245
223
247
351
237
245
232
258
216
221
384
346
236
232
246
216
253
243
343
230
213
699
235
240
237
209
276
227
569
238
239
241
498
335
241
673
649
252
193
225
213
231
234
237
222
293
236
259
221
251
238
235
210
245
245
292
255
252
541
632
252
711
240
241
234
240
256
234
227
207
284
226
234
242
226
230
229
247
221
252
211
239
253
227
283
210
231
229
681
239
771
401
229
230
233
237
505
256
239
254
226
237
220
359
211
232
223
246
374
250
239
247
216
236
247
213
255
247
230
229
355
239
231
279
252
239
232
412
238
537
300
260
216
244
246
255
251
235
243
213
246
227
225
488
235
285
236
229
229
237
217
248
238
239
238
654
231
241
226
239
229
523
242
453
266
371
237
230
270
224
258
214
238
244
435
225
375
253
246
651
236
221
364
229
296
341
237
249
241
232
233
228
229
254
215
225
227
236
237
230
224
217
234
223
253
241
220
225
213
216
225
260
244
226
219
229
281
258
254
245
440
228
233
339
636
234
227
229
235
251
242
238
291
225
203
435
280
667
246
253
242
704
816
234
446
248
265
229
235
646
245
204
227
247
466
228
225
238
249
247
227
243
212
527
239
244
219
254
616
481
251
242
239
295
255
231
230
216
325
227
236
243
233
231
338
253
233
458
415
248
221
354
234
237
245
239
214
223
275
215
225
396
240
219
232
560
230
235
562
481
237
252
482
241
557
223
221
254
261
233
240
232
218
244
307
239
235
234
220
230
237
252
248
790
220
252
240
241
240
250
508
287
223
250
252
562
222
254
245
233
247
222
236
252
253
327
230
231
245
436
250
592
254
234
250
224
246
368
341
245
226
240
238
232
231
594
895
233
232
241
224
499
776
233
239
235
233
488
258
398
608
235
221
240
220
214
248
229
351
238
237
226
399
247
219
243
259
248
684
228
483
233
235
542
225
227
226
218
254
210
230
241
231
251
543
242
240
235
221
240
591
323
500
236
242
722
256
315
242
603
247
241
236
234
253
229
234
468
246
231
373
393
220
324
233
253
239
236
225
493
275
427
226
221
245
244
227
250
239
231
236
223
261
231
277
240
226
237
244
231
406
226
267
226
252
225
333
488
245
421
360
228
469
293
226
254
244
273
229
243
233
245
285
718
394
322
240
444
235
238
687
240
243
422
240
227
274
224
379
291
222
247
252
792
225
263
234
251
355
221
240
437
229
235
223
279
461
466
238
254
242
254
422
244
231
247
242
425
240
264
378
253
225
252
254
241
229
251
236
248
243
246
241
242
229
246
270
249
220
221
246
253
239
391
225
239
254
235
572
255
222
243
236
243
241
238
232
260
241
231
247
241
333
385
248
607
229
230
219
220
311
221
222
236
410
226
303
243
225
265
251
243
248
262
225
249
249
386
239
394
224
697
492
232
451
226
231
318
258
242
254
255
269
254
252
251
227
236
222
402
262
241
255
252
221
298
252
304
379
215
244
233
340
250
237
239
378
443
246
587
250
222
257
243
263
224
245
501
252
254
230
303
243
475
266
290
234
263
237
232
246
250
244
261
254
293
250
242
256
288
253
257
235
249
254
236
839
226
236
270
266
257
258
292
231
240
297
228
225
257
233
282
233
457
487
248
251
239
251
249
232
579
234
538
250
347
269
252
221
245
379
251
247
248
489
227
546
263
382
701
495
264
233
612
443
247
248
248
255
260
719
573
324
229
411
217
222
247
290
243
226
235
243
248
327
220
247
257
704
249
243
262
218
257
338
425
244
253
257
268
239
215
236
227
386
249
255
271
242
271
234
237
250
243
244
326
230
239
539
249
234
253
262
249
412
436
222
280
243
241
224
286
237
392
242
248
246
237
249
423
346
449
231
250
245
225
511
241
235
244
258
545
222
502
226
244
246
393
569
253
256
262
262
225
237
426
247
252
252
256
246
242
247
232
239
234
329
248
248
252
240
267
655
242
466
219
282
373
247
819
528
254
259
231
243
236
228
349
456
239
229
540
469
239
265
224
227
254
260
240
252
228
242
221
234
246
255
262
436
255
247
243
250
239
444
379
595
438
245
236
756
240
258
445
261
805
270
245
250
250
239
400
220
248
255
209
238
248
233
241
296
242
240
243
235
360
268
253
251
305
237
256
250
253
252
293
233
243
477
269
235
236
254
230
257
626
307
228
241
331
244
229
244
243
254
256
237
242
532
484
257
256
256
405
242
244
291
425
249
249
236
254
218
405
257
485
491
282
234
233
261
335
226
435
244
584
248
234
240
240
226
387
252
260
231
243
250
229
260
257
260
225
239
225
230
246
360
448
248
249
352
288
234
244
256
244
253
240
258
316
240
248
257
244
257
259
228
240
256
235
341
247
264
267
306
251
251
223
267
259
239
223
271
467
241
385
225
301
623
225
235
583
245
600
252
249
614
247
243
240
232
582
242
243
255
244
240
542
246
261
240
339
256
226
719
600
260
506
259
249
214
252
262
645
239
257
221
233
234
246
235
253
212
240
253
226
294
247
358
260
215
255
245
243
248
250
256
234
240
251
253
237
267
239
239
338
292
228
255
361
379
239
263
245
216
227
439
252
223
254
530
221
251
252
243
287
240
246
265
264
284
248
226
240
235
249
246
229
261
246
225
420
234
237
656
244
253
246
228
237
221
227
241
237
244
475
262
263
688
237
238
415
233
265
470
255
266
239
230
535
250
226
235
251
249
732
238
666
530
245
243
243
216
227
389
692
247
250
922
243
255
208
249
233
254
595
253
229
247
247
249
542
638
752
446
819
268
245
234
249
226
303
239
303
237
248
238
233
249
258
257
821
243
249
232
248
246
243
250
259
279
225
299
323
226
251
255
242
233
305
243
239
371
257
254
260
245
304
227
248
462
261
251
253
232
346
250
369
239
230
258
218
250
232
326
350
246
255
708
260
387
558
256
250
216
237
255
246
258
212
215
493
245
264
239
259
518
216
306
258
223
243
237
259
252
616
523
257
268
256
252
258
200
524
591
275
500
246
232
272
255
230
265
243
246
246
253
247
415
258
222
621
254
255
719
264
269
250
224
230
263
244
240
271
258
256
258
241
373
231
332
249
250
249
266
257
256
240
233
223
263
441
256
239
253
242
255
244
226
332
336
237
253
238
257
242
232
337
234
260
249
260
261
229
228
231
572
307
242
232
505
237
245
229
237
270
243
281
299
237
243
368
250
547
254
535
214
317
224
261
232
501
223
348
272
246
237
621
406
237
228
230
251
236
244
298
240
246
244
256
243
243
244
456
256
246
265
276
259
246
322
263
238
250
344
264
250
600
253
331
235
239
248
378
241
253
264
260
253
463
251
257
253
251
238
245
232
222
454
249
694
252
260
243
246
258
281
270
402
411
253
232
238
239
382
257
636
250
247
249
235
247
749
233
240
746
263
487
249
248
256
250
245
268
215
217
749
252
244
266
219
396
239
252
247
723
249
377
247
238
254
251
254
271
238
269
224
256
320
247
239
255
484
238
240
229
236
376
231
252
250
269
501
240
256
252
637
266
259
224
232
243
243
243
611
247
324
243
242
245
253
229
547
239
255
244
827
275
223
242
250
245
249
452
261
255
251
245
244
254
259
237
518
243
250
235
250
256
225
250
238
246
467
253
226
334
243
271
251
251
236
243
234
399
258
255
255
250
465
231
224
232
233
763
241
238
255
255
425
419
235
549
265
267
265
233
274
273
241
582
260
324
246
253
263
255
237
277
259
210
286
251
374
479
268
264
278
253
260
247
269
288
267
272
260
283
309
293
245
265
246
266
239
247
241
272
245
263
234
259
236
267
275
239
272
240
265
402
243
264
249
356
314
254
258
245
620
487
264
237
515
254
277
269
245
266
342
266
250
230
248
254
253
265
234
483
258
248
527
234
256
258
258
781
240
247
576
265
250
258
398
360
252
286
239
342
278
649
250
260
252
346
244
538
240
248
243
246
230
454
243
266
538
239
244
258
261
360
666
282
234
284
254
535
240
271
252
270
259
578
262
246
275
256
266
383
377
280
256
250
252
249
270
313
334
259
313
252
257
263
457
487
257
224
250
265
304
258
803
375
237
228
246
253
260
521
258
250
254
256
257
263
347
731
426
250
595
260
256
236
421
245
510
289
241
251
251
261
227
258
268
596
288
238
320
236
259
246
255
264
233
261
311
249
241
262
591
261
272
249
656
249
236
577
232
440
248
247
250
545
243
267
267
239
278
300
392
232
246
263
243
532
350
444
250
258
282
237
243
248
241
261
257
572
259
279
259
411
249
241
261
222
468
245
386
236
385
242
240
281
270
257
264
240
232
264
254
494
241
263
261
241
307
250
235
238
249
361
261
252
474
256
433
301
268
235
254
384
263
246
247
261
440
230
260
245
248
236
259
573
222
240
477
262
271
715
261
256
271
253
252
267
257
247
269
187
442
251
238
273
253
266
253
262
439
255
260
262
339
265
249
261
254
228
350
580
235
250
250
396
244
288
530
259
347
258
250
247
589
359
256
270
267
328
259
251
319
255
616
254
395
266
254
588
279
390
278
266
242
229
241
251
489
250
260
469
319
258
242
267
245
258
260
680
546
266
248
250
568
234
244
520
260
240
257
256
731
357
260
250
462
489
824
239
823
715
587
257
273
259
246
246
239
286
246
497
422
325
243
267
622
249
228
242
258
216
328
353
260
249
260
253
262
231
238
252
894
268
235
317
262
451
262
241
242
266
221
664
249
251
233
244
240
256
265
252
259
241
249
253
458
261
271
244
236
596
280
258
273
385
400
234
643
269
266
262
248
319
264
549
275
262
248
249
256
225
248
263
226
258
262
259
272
256
427
264
239
404
230
265
254
304
407
284
255
241
259
263
344
257
262
513
292
250
269
741
283
254
257
248
270
402
612
254
252
246
246
257
245
509
257
260
248
319
281
468
281
245
231
434
239
807
244
267
249
362
285
243
381
233
251
260
634
244
246
236
626
233
256
270
243
261
272
453
254
272
577
251
269
253
262
234
256
283
225
266
240
258
266
263
243
252
388
250
264
414
244
260
241
270
245
240
219
251
855
254
251
238
259
268
238
757
243
266
248
250
642
262
271
272
297
270
259
260
236
449
263
246
247
246
239
556
253
680
233
272
242
251
505
365
261
266
630
233
560
257
539
409
509
240
252
256
255
255
267
234
267
257
626
246
263
322
289
413
478
227
256
449
409
252
264
247
242
824
243
248
455
250
299
251
247
243
262
420
243
240
272
323
252
242
589
680
800
257
249
292
243
250
256
729
258
380
304
599
499
248
265
235
442
279
250
259
257
396
588
246
337
266
260
255
243
233
260
275
262
264
649
257
249
284
243
258
249
227
579
247
264
249
259
249
254
260
239
255
273
371
243
268
240
258
269
382
260
265
237
258
251
241
251
426
287
261
245
350
376
252
517
271
251
256
266
255
256
252
265
272
240
229
233
542
310
215
287
250
375
257
250
261
254
275
246
304
222
239
251
255
237
255
262
328
245
247
647
266
307
252
308
260
265
348
267
272
459
264
223
255
257
258
268
278
374
256
273
524
265
392
259
247
241
271
254
252
237
242
258
257
251
255
256
255
241
257
241
269
268
256
261
366
257
247
433
266
243
257
408
238
256
250
254
254
220
389
236
257
224
243
243
251
247
306
567
314
340
239
352
362
700
256
265
245
250
302
235
626
313
264
268
265
253
429
346
281
252
568
251
248
271
335
260
256
265
230
275
249
246
249
826
247
243
253
413
254
253
250
240
249
473
238
257
259
239
726
256
258
257
263
248
255
674
257
292
239
272
367
245
249
264
270
222
262
248
239
260
254
253
243
333
265
258
243
263
266
259
563
229
239
578
253
543
240
246
262
266
257
238
272
435
246
245
259
252
251
491
325
351
242
230
222
227
255
243
256
261
355
236
528
287
236
862
275
247
257
252
273
260
249
243
261
267
260
461
269
360
369
359
267
281
258
278
265
271
220
273
250
632
755
265
273
262
274
274
271
250
319
285
294
275
263
253
470
275
294
543
256
276
264
273
259
304
269
728
237
258
250
345
255
279
244
265
250
275
237
476
246
251
268
277
440
266
264
252
237
471
271
422
440
386
261
256
296
436
242
350
406
285
256
233
251
261
282
251
248
353
277
256
272
273
906
478
262
275
250
258
253
391
248
294
271
270
267
251
321
260
295
263
265
252
250
251
267
256
252
261
242
260
408
224
271
265
522
256
260
256
489
239
336
328
251
342
276
247
247
272
266
251
454
257
244
246
269
265
259
274
259
252
448
257
486
541
253
264
317
248
312
420
249
267
262
317
264
518
237
419
261
253
250
452
264
558
261
499
570
232
269
347
321
241
245
278
270
265
393
422
637
248
253
259
288
266
257
262
256
891
269
528
569
269
260
607
269
256
269
431
276
218
260
260
265
235
255
260
272
230
295
273
264
247
271
509
477
305
288
275
258
342
267
262
250
269
269
274
609
237
358
254
230
304
240
313
724
524
461
260
276
262
250
289
257
252
270
268
277
284
250
301
619
268
278
272
418
248
275
331
242
570
251
488
232
462
263
261
258
274
252
247
402
467
265
371
215
261
248
273
245
269
261
256
404
427
273
273
261
283
573
264
692
262
271
247
579
239
269
252
252
258
265
254
357
253
255
249
329
380
265
840
342
313
275
247
231
285
261
701
438
290
247
244
417
247
347
313
272
240
635
267
258
282
264
333
256
283
367
420
272
272
263
275
273
244
280
505
268
239
340
621
286
285
261
614
307
254
303
418
255
274
286
433
466
282
299
285
275
272
263
266
242
590
239
248
317
258
297
258
259
334
236
277
265
508
278
249
268
513
273
255
255
253
810
231
323
349
262
272
359
257
270
244
258
235
514
269
256
351
275
356
281
263
576
272
283
271
253
445
263
395
255
262
271
270
260
279
248
779
293
276
266
476
265
255
273
736
364
264
376
282
243
234
273
238
533
259
265
287
248
282
692
444
264
261
278
277
369
263
250
257
445
278
244
245
449
637
321
293
239
278
274
267
291
338
347
256
262
237
546
276
258
261
262
468
252
325
316
503
625
500
360
257
463
737
427
397
522
294
259
258
283
355
267
662
262
268
260
301
237
262
263
273
261
283
299
578
260
350
258
346
260
239
239
288
257
248
251
274
761
336
263
325
274
241
617
242
249
254
374
250
261
263
539
420
265
257
260
533
257
537
235
766
259
272
250
269
296
271
267
404
274
235
456
283
559
418
285
288
255
259
333
261
250
249
252
273
249
283
270
260
262
294
226
297
583
901
269
244
251
438
288
273
567
255
301
257
265
434
277
254
271
578
252
263
263
429
505
258
292
554
325
316
325
247
480
683
241
458
233
271
266
481
367
267
390
263
383
262
237
291
265
262
257
257
449
247
276
414
274
231
264
279
269
326
250
499
645
259
265
263
270
264
252
250
246
470
252
246
251
238
241
597
262
275
253
371
257
323
273
314
241
282
265
256
291
289
334
263
274
883
266
260
259
335
264
234
276
272
276
625
265
265
348
311
344
261
371
370
240
286
247
248
623
336
416
259
263
815
697
383
266
263
458
259
263
372
259
263
260
250
364
276
265
251
238
254
264
239
337
269
264
268
272
266
258
462
263
252
435
584
269
255
290
589
269
283
260
264
277
542
253
259
263
388
256
444
280
522
265
547
278
244
452
715
357
597
244
281
257
279
265
268
271
605
485
282
235
246
249
253
275
264
267
261
271
474
492
273
306
255
547
462
282
232
296
346
252
241
257
278
273
257
868
263
261
450
482
257
273
539
240
259
283
268
251
256
249
284
256
629
354
313
552
360
268
289
383
239
270
252
269
273
255
259
272
261
251
269
254
463
618
244
326
263
279
281
252
258
236
268
241
267
285
370
243
288
410
712
257
277
304
606
242
298
247
737
272
269
231
258
271
253
349
321
262
361
272
429
270
264
265
711
399
251
558
259
261
782
260
246
259
249
439
268
270
278
421
277
249
349
266
257
265
312
447
335
262
255
540
271
670
257
691
291
247
400
257
234
258
276
274
255
363
260
257
275
251
255
248
701
275
598
342
263
265
253
279
515
249
245
263
418
259
259
606
261
289
274
249
618
250
249
286
263
521
246
271
446
718
619
276
251
273
315
251
254
264
270
284
626
265
267
251
259
258
263
270
358
257
262
250
259
287
262
269
263
268
260
255
282
237
279
255
270
260
321
346
296
306
274
281
282
276
279
300
277
246
272
253
285
275
648
289
504
252
326
264
356
267
278
277
380
299
243
269
256
288
286
606
530
272
285
321
255
327
252
552
773
254
284
330
660
275
239
352
260
671
268
279
274
268
277
271
267
335
265
408
610
403
244
255
285
276
271
270
302
255
470
252
537
267
249
478
257
624
269
262
422
271
707
252
269
262
607
253
275
301
268
265
263
259
277
458
286
835
833
277
270
286
243
268
285
289
308
261
256
276
287
268
248
279
257
287
286
388
258
267
273
247
335
280
274
255
293
411
376
701
277
251
260
241
274
283
263
556
256
665
543
281
276
256
286
256
597
422
274
272
543
358
444
276
260
277
288
312
307
538
280
698
490
267
445
300
417
467
287
256
294
257
258
289
273
294
302
257
283
458
248
277
408
270
279
276
257
281
293
280
561
269
611
282
794
269
256
280
290
284
336
271
706
255
270
410
278
755
295
489
274
268
240
248
281
275
279
255
269
274
613
259
422
265
263
307
270
634
856
463
270
255
377
330
262
275
277
301
246
278
389
271
284
300
279
408
270
286
265
532
272
441
497
716
288
292
278
269
249
281
384
252
241
261
262
278
397
268
278
828
271
261
271
269
289
509
457
266
257
453
280
261
280
716
273
256
264
262
270
427
347
285
273
273
613
269
262
272
277
476
352
287
290
424
289
273
278
264
407
233
395
273
269
275
260
238
253
271
281
273
260
288
413
276
271
282
284
274
274
242
422
285
598
252
270
355
296
256
281
261
276
263
252
359
276
281
263
267
261
267
255
307
251
265
251
317
294
276
298
247
268
388
482
247
267
342
279
265
267
256
275
252
279
252
271
278
262
496
275
273
288
395
256
290
295
281
267
272
266
273
277
253
234
496
376
287
265
295
478
277
259
273
537
591
263
262
291
494
498
344
256
243
264
272
859
263
842
454
296
260
722
270
300
273
270
250
608
264
260
242
770
329
280
269
276
734
432
296
510
629
271
313
269
280
734
666
264
274
238
273
316
302
271
241
277
454
366
261
456
302
268
805
260
283
263
284
253
279
292
296
264
810
801
279
362
259
279
286
260
279
285
348
517
252
264
419
393
332
500
421
282
269
263
319
246
277
298
604
264
274
272
279
265
290
265
279
347
243
259
271
434
355
262
460
252
271
261
523
280
298
272
256
270
271
612
275
267
951
251
262
250
252
273
254
659
270
296
276
449
265
290
273
616
277
834
264
259
278
255
411
259
783
635
276
441
296
464
276
530
397
287
269
260
356
412
273
271
581
257
271
432
249
456
635
273
265
277
262
264
277
286
284
261
288
283
463
318
269
251
263
308
258
273
270
259
254
264
273
289
278
254
247
254
244
260
299
280
548
461
266
248
262
369
270
275
281
273
271
281
411
381
450
288
318
719
271
470
591
246
261
617
502
263
285
476
334
278
459
267
255
277
322
294
430
599
743
470
281
266
420
261
278
270
411
539
277
254
352
257
253
260
307
258
454
615
293
302
501
279
294
274
312
283
234
254
253
264
524
276
264
284
265
248
260
267
247
269
603
253
275
264
288
257
766
281
524
268
537
289
264
267
280
256
321
478
258
452
258
268
278
249
222
262
239
259
277
385
263
275
246
360
273
271
283
252
650
398
276
344
268
268
372
241
268
257
277
257
283
254
381
290
603
310
542
266
428
297
240
327
275
277
269
252
326
472
266
475
263
279
823
271
258
363
261
495
548
258
268
266
270
287
267
268
277
256
549
297
275
260
474
285
488
258
271
312
264
260
279
255
261
363
256
487
258
278
450
413
292
266
267
277
334
268
274
250
611
284
274
738
295
258
283
256
245
282
260
252
469
315
287
255
289
247
451
597
257
270
269
254
274
585
513
298
357
289
338
347
277
262
354
264
285
254
282
281
240
261
283
248
636
819
220
428
260
273
271
598
298
263
273
244
370
249
282
263
259
278
243
582
282
281
522
488
452
259
256
265
273
268
826
258
244
489
265
296
260
247
268
264
286
261
252
262
276
274
285
252
275
267
263
287
281
287
294
281
259
248
589
615
250
234
363
277
261
349
277
281
274
279
454
333
443
264
262
286
796
253
401
589
373
290
265
278
275
255
266
286
268
352
266
289
255
272
285
573
282
266
260
261
569
528
279
277
245
280
259
526
266
251
262
275
257
630
434
299
249
254
283
745
282
265
270
715
510
275
277
275
247
263
237
267
279
253
259
521
262
253
268
303
257
649
272
262
264
543
278
268
262
488
409
289
285
298
293
280
357
298
241
402
273
380
277
268
292
280
253
267
383
265
321
467
297
291
275
285
290
900
256
281
441
277
251
267
308
357
297
249
285
244
305
375
466
260
301
272
283
265
418
258
263
537
270
257
275
498
250
484
355
270
282
498
269
586
277
261
258
632
246
274
257
290
274
293
270
452
285
284
284
263
291
295
298
490
292
558
274
266
269
261
288
288
288
285
294
559
335
362
285
282
295
264
260
290
296
291
266
276
266
506
275
281
272
281
265
713
513
355
292
267
525
287
303
281
288
634
264
289
266
383
267
269
276
275
383
296
261
252
282
259
269
287
284
276
277
283
435
278
470
288
431
274
377
261
294
272
290
280
557
248
392
339
274
431
276
279
284
280
298
356
324
283
343
361
289
275
456
255
272
268
393
634
278
272
248
281
508
274
278
278
264
509
290
309
279
296
258
467
429
348
290
765
261
273
293
281
315
273
373
278
270
279
269
269
298
299
274
287
639
370
375
264
302
572
300
272
268
278
351
505
269
288
279
298
255
457
692
280
278
274
265
276
287
289
262
474
435
469
282
259
263
301
266
342
294
297
283
277
304
414
275
264
384
285
258
821
531
286
589
256
276
598
285
240
288
276
261
283
257
284
256
796
263
269
274
277
253
281
261
445
275
735
269
587
282
267
282
262
504
689
269
265
319
369
257
243
265
785
354
283
260
305
444
277
786
278
314
263
284
293
278
272
275
553
255
277
409
255
258
275
266
266
269
270
267
280
272
264
275
303
299
422
345
279
681
290
424
274
268
286
498
266
266
287
281
268
270
769
330
280
290
479
469
282
279
254
286
274
410
343
254
273
279
258
271
307
300
328
703
304
712
279
248
482
278
523
324
285
519
279
262
419
278
268
293
286
376
677
286
276
303
433
280
292
357
755
269
362
655
714
422
505
385
289
284
544
284
283
286
396
366
259
271
284
290
296
460
798
281
276
438
353
309
305
282
300
293
364
292
284
298
295
278
257
292
247
262
276
261
282
243
267
445
279
658
539
267
275
287
538
708
293
281
361
261
279
280
258
552
701
285
695
497
261
290
292
582
267
254
264
239
431
276
254
269
668
278
297
536
615
285
269
661
240
271
298
254
288
280
296
287
289
289
540
290
377
680
422
264
890
528
258
341
256
491
291
593
624
369
285
489
284
276
278
498
284
291
252
413
575
464
261
270
762
251
304
274
263
277
409
295
580
260
289
299
279
595
264
290
295
376
294
271
296
279
263
274
276
591
281
472
621
273
281
269
261
245
241
275
283
350
277
258
435
283
294
282
283
293
293
265
266
276
260
273
344
264
252
291
282
273
259
358
323
297
555
303
373
264
264
291
280
324
266
278
449
269
281
689
265
386
287
297
300
287
393
257
263
278
284
277
283
274
301
287
293
592
270
743
291
284
665
293
676
705
278
609
309
404
258
294
267
355
273
555
488
449
274
292
271
268
284
489
298
278
390
265
256
284
267
383
258
267
261
281
277
540
280
270
506
286
252
271
553
285
619
303
311
380
281
281
318
565
454
628
264
273
288
280
330
396
606
320
564
287
269
265
290
266
279
536
362
718
286
540
283
279
292
278
296
280
441
274
247
311
489
275
368
258
278
286
296
266
433
267
249
276
297
604
280
272
343
554
240
276
398
261
259
294
273
288
413
289
377
481
268
284
592
285
284
259
361
293
303
645
347
275
275
269
282
263
280
270
278
294
290
252
310
472
295
276
292
598
300
261
271
290
286
272
364
288
703
274
924
273
269
398
671
419
651
347
553
543
288
336
287
251
288
291
536
289
282
643
285
293
529
281
305
271
295
284
289
268
273
283
390
296
277
683
285
680
278
272
400
294
266
281
289
267
248
271
269
296
258
262
263
261
264
453
423
556
257
257
255
743
358
252
270
284
275
268
372
273
273
329
283
280
279
527
297
285
565
271
851
473
287
461
297
358
280
277
517
313
274
382
426
280
394
257
292
354
285
338
285
277
485
266
307
274
267
271
277
292
548
271
288
279
606
284
292
341
283
264
282
309
302
346
258
282
276
292
407
576
424
280
313
279
269
399
241
249
586
341
274
631
551
547
330
264
279
268
336
612
278
268
292
266
283
276
277
268
734
287
261
287
357
288
293
413
320
374
386
337
271
276
270
250
801
601
250
272
285
634
264
417
284
250
332
293
266
266
291
272
284
269
280
280
280
448
296
690
284
284
277
276
280
275
281
520
484
280
256
533
479
811
251
347
287
278
295
290
288
279
285
523
299
275
301
478
584
301
656
267
299
286
277
635
369
297
265
286
434
639
301
282
273
264
277
264
436
292
516
285
296
297
352
611
291
285
290
340
278
266
419
271
258
564
261
282
289
295
266
275
282
404
620
284
404
264
283
592
663
285
299
284
247
581
413
279
265
343
289
289
435
890
291
283
653
299
280
267
280
275
786
267
272
620
278
364
294
267
351
419
300
312
303
284
269
516
400
617
292
388
413
271
303
285
293
283
434
537
295
293
455
287
532
274
442
438
297
294
297
476
290
287
297
265
356
286
291
775
281
375
299
294
275
292
290
279
275
265
362
293
266
265
249
302
309
548
416
288
275
280
295
282
281
245
265
451
279
274
271
334
297
281
289
274
484
358
262
278
532
320
918
621
294
351
271
286
637
270
355
306
702
272
295
278
388
296
274
446
270
321
299
300
439
375
338
329
494
262
470
275
282
290
289
304
565
292
296
294
377
554
502
290
292
297
290
289
266
276
288
287
274
292
492
311
303
279
274
302
290
270
441
476
299
283
253
323
280
293
296
270
294
274
416
262
301
407
338
307
266
253
280
278
292
333
267
294
299
736
507
299
285
297
394
354
267
452
278
297
273
730
292
285
281
423
277
253
305
836
304
590
288
352
292
281
413
301
946
286
255
330
700
286
519
267
286
316
294
270
267
282
688
295
277
477
275
286
251
460
275
265
272
325
282
298
287
423
282
300
303
271
436
293
270
287
293
287
291
291
302
292
266
263
393
272
286
273
265
292
283
260
416
310
253
279
299
300
566
283
265
290
279
303
360
286
442
469
644
320
280
484
293
294
296
303
298
283
499
277
291
343
292
600
425
446
309
283
403
292
258
264
286
317
285
308
537
288
284
297
281
281
726
270
305
294
276
304
347
266
287
287
286
351
275
281
277
710
287
439
291
265
297
284
278
567
287
277
450
273
349
292
276
256
270
364
316
287
268
269
255
318
350
274
268
288
282
649
298
325
301
469
634
355
304
292
271
325
368
277
299
549
272
285
261
768
307
296
266
283
343
296
278
273
310
289
395
293
296
363
298
614
291
256
268
300
435
509
261
298
261
299
753
281
324
489
298
290
294
317
286
367
270
281
298
286
305
641
293
273
410
323
498
272
393
290
386
373
286
288
279
278
256
296
327
286
304
463
292
303
309
419
292
274
305
275
532
283
256
759
357
384
291
485
264
474
298
277
296
275
306
308
275
265
266
284
274
277
287
293
300
341
615
696
283
287
303
248
263
308
301
268
619
280
437
324
388
287
286
295
248
291
273
593
304
298
316
262
268
584
271
265
305
283
279
389
280
296
265
276
308
267
268
306
577
297
461
274
299
261
294
556
809
292
301
264
298
280
295
278
300
247
277
309
281
522
538
450
500
268
298
267
300
451
280
391
322
505
301
441
286
296
560
324
618
258
272
284
494
280
258
499
337
300
287
461
516
274
613
298
368
281
276
341
510
268
285
260
284
266
305
294
337
285
349
293
349
289
289
498
298
270
291
278
278
287
311
536
276
496
279
473
732
785
282
303
275
649
273
678
268
738
290
291
308
263
276
383
301
285
292
276
711
405
293
402
291
283
253
483
289
278
270
346
562
333
309
294
285
284
251
285
533
292
286
281
313
340
287
303
296
590
282
638
263
592
297
683
303
277
464
275
282
279
265
302
258
285
287
287
278
285
294
296
920
258
296
557
486
276
285
287
283
284
288
281
328
366
693
288
278
295
385
276
674
288
285
290
276
276
305
293
281
267
338
283
412
299
287
311
384
624
269
280
295
262
300
277
265
334
297
292
296
298
608
267
546
368
280
293
413
293
776
305
301
259
308
307
285
375
285
288
716
346
273
258
284
267
293
339
276
280
286
333
272
254
284
299
405
258
265
378
312
417
271
286
297
271
353
279
350
289
258
600
306
278
300
296
302
281
294
300
277
257
346
587
700
316
294
303
309
272
299
532
270
486
316
260
286
405
285
285
390
372
276
253
336
289
277
389
712
298
362
300
489
291
283
341
284
598
378
334
270
271
289
284
393
286
267
448
330
293
392
261
270
285
293
269
339
262
288
348
281
276
277
270
592
274
539
838
287
310
310
634
291
549
447
310
290
277
272
271
414
285
305
587
285
303
298
380
385
291
292
278
283
272
533
254
298
381
334
294
288
321
617
449
291
291
264
278
302
281
295
302
374
277
314
285
388
281
324
302
314
304
360
338
594
282
606
526
282
276
262
295
278
305
731
287
705
366
254
547
540
305
466
290
277
295
277
858
285
284
317
354
291
301
286
523
323
314
293
313
310
283
619
446
301
308
307
276
308
351
322
395
384
842
521
532
286
310
680
296
478
299
265
443
293
295
760
286
297
419
405
291
346
273
309
298
257
272
384
265
322
299
290
309
306
266
308
272
317
308
292
290
311
299
529
308
310
297
305
267
442
502
293
305
278
520
398
303
324
744
579
310
735
286
318
307
344
287
389
419
282
290
293
303
652
288
299
292
305
245
287
305
486
293
290
391
298
259
784
753
408
295
263
535
292
331
281
588
453
264
319
312
316
292
269
538
333
376
329
388
283
307
302
289
298
279
301
430
295
296
298
624
301
276
255
303
286
298
273
310
419
299
279
296
499
291
280
290
682
314
445
315
279
385
285
548
359
291
302
281
278
568
265
272
295
296
335
268
281
275
311
275
635
287
506
294
298
313
278
292
563
292
291
315
283
311
274
315
338
293
338
670
351
288
578
280
604
282
301
307
748
293
311
310
415
442
296
592
575
574
295
278
331
315
510
294
314
296
281
405
288
256
267
299
296
307
369
281
687
300
484
312
721
279
282
268
352
321
319
268
612
282
595
297
283
563
298
287
675
286
517
288
421
296
275
289
296
292
281
406
763
343
684
295
474
271
293
311
422
636
278
276
294
269
304
294
337
268
292
292
421
629
376
350
522
336
251
316
297
731
306
355
597
299
306
397
280
291
485
398
284
268
305
316
316
302
319
265
283
691
648
434
307
502
471
292
547
842
353
382
263
286
298
290
298
852
285
301
276
264
296
279
414
269
602
273
293
464
280
262
373
305
377
303
288
290
333
760
292
291
463
282
293
291
263
280
270
570
274
286
303
297
281
297
310
793
274
435
316
383
310
490
284
524
288
292
264
374
535
771
512
291
293
302
745
478
303
283
287
295
287
297
668
301
357
400
293
324
427
302
302
313
336
304
319
271
475
332
342
300
267
295
312
588
438
335
286
272
514
634
279
299
297
331
292
278
466
272
412
266
266
279
295
494
284
280
294
281
304
376
299
315
309
297
300
301
297
272
702
748
292
297
281
305
301
311
279
279
256
306
311
285
261
262
291
266
278
650
272
310
302
279
304
296
342
304
366
295
284
307
284
281
783
343
597
283
308
311
288
309
300
304
460
291
558
498
299
301
306
292
276
557
293
515
335
347
295
637
277
307
765
362
268
849
627
318
402
369
280
290
344
324
282
600
304
278
523
283
292
277
311
404
348
361
286
304
289
296
311
284
275
279
315
299
305
699
315
308
305
265
307
390
285
423
306
625
295
295
282
303
277
312
275
299
408
290
288
324
465
279
294
294
279
274
669
301
727
320
290
278
300
294
562
361
427
397
631
284
442
393
275
267
276
338
257
317
289
250
286
318
289
306
292
271
310
284
281
294
304
326
300
311
279
299
463
308
301
304
278
388
309
298
309
289
272
320
711
301
293
405
388
291
303
284
285
534
595
312
552
364
308
657
468
311
339
273
390
370
441
270
301
308
288
333
301
281
395
692
285
540
283
286
304
352
263
415
722
305
313
278
311
305
300
959
421
279
293
282
692
298
299
301
284
296
764
297
406
307
707
296
301
304
323
274
275
300
322
296
281
266
288
831
578
304
297
292
643
282
280
552
320
285
331
291
383
296
300
383
280
359
305
780
310
499
312
297
523
315
284
287
293
305
285
290
299
271
283
283
317
284
289
426
281
282
753
257
733
330
604
369
688
310
360
275
264
276
297
318
363
287
281
307
281
306
302
287
365
283
254
648
503
301
281
315
303
294
319
286
287
510
376
275
309
279
416
304
430
291
307
316
495
316
576
798
266
279
471
347
280
255
406
306
308
284
630
270
271
609
286
857
286
313
303
298
464
418
308
597
267
382
278
289
271
307
297
380
391
318
300
439
293
525
304
370
327
294
304
827
287
304
722
302
286
472
297
373
307
275
606
324
290
267
291
317
282
293
297
447
265
323
300
295
289
609
338
308
293
292
294
274
292
276
629
291
294
263
656
393
332
310
268
309
668
609
401
278
671
332
295
281
296
301
581
287
282
314
672
298
301
317
437
756
306
443
410
279
325
415
285
672
551
600
272
314
627
301
281
289
336
400
241
280
264
280
302
357
279
278
305
294
278
342
792
288
322
311
296
563
292
523
422
278
285
292
291
300
353
313
326
551
285
642
311
276
255
389
280
291
287
297
651
621
288
283
303
302
317
287
272
290
657
307
424
407
303
461
316
710
288
287
359
311
409
303
300
307
298
275
276
600
796
312
443
304
301
271
435
475
279
634
295
313
443
398
325
342
283
303
649
286
306
414
279
277
304
609
313
325
307
312
280
384
296
306
699
292
269
336
521
296
326
467
261
285
331
342
273
313
396
838
276
281
306
304
306
362
590
692
408
479
292
304
302
308
297
649
305
511
485
281
293
485
316
299
317
312
402
285
504
582
315
267
409
304
347
301
315
319
291
300
289
325
529
326
430
285
367
318
466
557
295
380
369
392
271
477
485
287
295
267
291
384
319
275
289
308
295
272
677
294
300
413
437
280
324
298
370
312
306
312
276
270
267
287
326
274
278
321
581
289
368
381
306
285
346
605
301
494
280
302
303
297
307
356
288
303
303
478
321
559
504
283
308
302
314
297
609
430
297
281
289
315
319
290
304
354
304
471
626
303
501
286
292
401
317
303
315
440
309
289
361
298
303
316
288
302
363
289
364
382
313
292
298
296
287
306
317
348
304
308
353
314
303
436
313
298
305
311
326
495
314
293
319
520
521
354
592
286
295
312
298
295
617
416
432
297
275
477
344
320
298
277
303
465
800
383
313
562
328
260
310
310
322
291
311
280
613
478
320
383
307
305
329
310
446
282
530
332
306
288
287
302
440
324
350
308
292
736
304
324
685
424
327
272
335
292
326
806
406
385
484
664
286
288
288
502
309
279
296
290
264
307
322
309
293
512
309
330
360
308
319
293
291
306
289
316
263
309
377
297
326
309
305
313
327
297
310
303
309
476
759
305
531
427
321
291
361
475
299
304
310
374
294
536
322
307
304
530
347
280
718
370
936
288
305
312
335
325
307
299
746
676
532
300
699
694
403
292
267
321
443
409
553
275
296
292
307
283
303
349
311
306
293
318
297
343
486
358
292
823
426
280
460
854
279
567
291
305
301
308
331
499
414
302
561
295
323
287
287
289
267
291
329
304
316
371
300
305
302
324
333
337
484
317
287
354
531
280
290
481
297
299
293
321
591
292
918
597
328
295
604
601
299
312
599
580
302
280
291
293
312
367
442
571
302
328
301
409
321
394
306
324
686
287
447
301
681
297
304
258
294
287
301
326
325
304
280
306
284
296
284
348
308
318
289
316
387
296
294
279
307
299
442
726
322
585
274
667
306
315
884
457
397
321
301
343
310
273
369
316
295
301
313
407
297
317
449
301
628
281
299
435
304
306
321
267
306
311
324
641
297
301
330
365
371
293
743
361
310
288
316
302
295
284
280
453
278
295
297
279
389
288
315
396
346
389
287
314
429
506
272
297
295
320
294
296
261
316
759
337
532
295
290
297
429
315
296
383
296
333
309
446
295
324
762
319
294
281
303
412
269
312
310
363
282
305
282
304
377
795
318
456
315
492
291
384
307
316
324
311
284
496
289
289
622
304
325
290
728
596
296
290
280
464
289
314
616
297
382
315
302
790
343
309
321
644
451
310
304
363
386
313
306
541
303
312
272
611
458
619
316
276
799
295
302
301
286
287
290
311
285
302
335
264
758
271
301
288
292
468
537
657
299
542
387
318
380
293
398
308
297
322
299
321
292
301
303
306
286
304
302
284
262
294
693
306
302
297
348
405
585
308
303
428
331
299
283
752
305
309
558
677
302
698
313
308
295
318
457
282
267
503
581
289
570
314
304
306
287
306
342
333
293
280
301
298
861
298
275
283
295
322
370
383
642
304
362
295
286
665
474
306
763
314
331
323
561
300
705
542
313
629
622
418
284
293
298
322
308
311
785
284
396
311
319
444
292
445
303
519
312
287
399
313
310
311
327
470
284
293
572
295
311
304
297
342
296
776
531
312
289
283
323
370
297
397
463
326
379
279
328
273
311
294
426
284
338
320
865
302
670
484
312
261
283
290
458
295
286
312
307
356
305
318
316
292
419
340
301
321
288
302
460
536
295
357
290
292
306
307
285
332
330
299
357
863
340
383
306
293
627
276
284
418
417
312
308
340
494
510
298
280
282
300
562
307
469
317
522
324
316
278
809
422
319
281
315
309
721
310
289
325
332
303
851
609
353
336
551
323
293
379
443
300
504
574
306
301
578
289
269
309
322
286
311
282
319
280
377
356
299
320
561
299
273
302
444
297
267
330
325
614
288
303
406
288
344
318
551
673
543
546
273
266
700
279
366
312
307
312
336
303
293
348
286
509
574
523
301
319
305
309
289
426
288
299
294
287
663
283
292
292
306
326
312
346
287
288
276
327
300
306
303
433
304
499
352
300
329
283
324
324
319
800
521
369
356
315
317
308
319
501
326
315
446
390
792
324
808
392
546
260
379
335
621
454
299
554
316
838
287
561
301
313
450
553
297
326
383
369
329
311
368
319
315
310
305
855
408
729
359
309
266
731
304
351
320
308
336
296
279
307
325
533
563
319
308
310
439
277
308
314
311
403
316
300
917
289
449
338
314
464
397
483
305
329
501
330
321
271
318
835
333
346
370
314
330
295
310
293
390
302
422
395
299
587
307
310
318
585
297
347
483
567
414
531
361
590
319
499
286
303
560
768
299
465
280
317
346
405
302
343
306
475
557
291
312
338
297
318
744
339
322
293
898
447
331
736
302
426
281
523
280
415
428
297
305
296
632
300
396
306
419
461
316
318
300
280
848
753
312
686
306
330
526
367
395
266
445
323
333
484
280
293
309
299
306
613
852
310
286
304
315
383
327
535
294
628
444
684
554
660
329
320
338
336
581
308
310
312
299
288
302
301
796
317
274
313
337
336
618
300
562
308
307
317
315
322
592
463
366
297
867
347
762
305
314
476
311
469
312
269
292
319
334
346
341
314
281
404
296
697
333
311
303
333
314
299
310
363
268
323
452
320
308
264
280
901
278
295
323
309
392
318
421
340
295
371
298
289
701
313
301
308
315
748
309
506
750
296
316
531
330
290
507
315
589
689
314
479
661
323
659
310
293
759
647
307
303
473
300
755
474
316
443
309
303
801
325
307
377
292
313
325
299
311
315
288
349
300
307
302
302
319
523
310
690
312
499
786
298
344
318
282
295
285
309
299
315
329
317
523
308
291
268
286
277
338
327
309
290
474
299
306
291
308
543
307
296
456
472
304
300
386
715
645
326
321
322
310
343
326
306
719
307
869
447
276
401
315
330
307
300
667
383
299
338
306
555
328
321
314
472
292
310
328
293
334
454
886
330
333
318
294
316
301
319
307
397
329
378
551
328
309
657
293
285
819
604
458
301
641
317
626
439
535
307
411
491
313
364
323
301
341
301
311
295
297
293
316
707
301
334
310
304
383
697
326
267
312
841
602
423
326
368
319
316
319
327
291
285
366
283
296
485
294
301
361
467
325
305
321
634
294
441
294
303
299
297
492
310
404
705
323
566
309
302
694
295
297
340
310
295
323
637
891
318
291
320
714
309
353
312
313
549
285
302
309
305
314
294
294
280
555
304
321
364
581
286
293
307
472
314
408
318
674
328
316
891
308
730
308
654
292
337
277
338
285
636
313
621
310
326
304
290
298
287
328
879
300
441
304
313
469
308
296
313
354
364
559
618
386
338
321
318
338
288
398
324
324
332
288
328
857
276
304
461
354
295
321
287
306
318
514
491
304
668
296
318
666
304
623
610
522
305
295
315
590
408
628
352
313
310
293
298
300
554
295
297
319
395
314
584
299
319
343
348
315
318
295
317
422
310
295
875
318
288
544
578
317
276
365
323
684
489
294
863
285
292
316
339
324
661
487
308
316
287
300
295
316
404
269
335
297
305
435
559
309
308
318
303
319
334
337
371
282
270
296
315
305
358
318
309
315
346
301
300
308
308
613
308
319
335
325
327
339
301
286
308
343
308
306
330
292
316
312
531
335
645
310
309
400
383
415
300
302
474
411
539
353
321
293
308
355
313
655
315
433
296
359
485
316
284
306
489
309
596
301
334
411
308
306
414
301
358
303
272
302
383
311
811
816
594
302
309
304
316
318
311
690
308
369
290
297
472
302
307
612
292
295
315
459
304
300
352
299
340
305
303
708
614
631
311
304
366
293
322
330
300
309
752
315
302
275
351
481
806
394
376
312
329
290
334
302
306
319
325
512
308
298
305
312
297
514
451
325
315
305
305
317
675
384
312
286
516
328
306
857
314
377
526
305
555
622
291
442
653
293
305
361
594
417
301
345
374
307
310
315
339
277
289
321
297
489
330
311
284
327
331
314
416
320
577
307
305
400
312
501
284
284
321
301
274
302
654
325
294
368
573
301
328
308
299
317
378
718
324
468
314
366
353
377
319
335
323
576
294
311
308
406
326
268
288
327
575
283
317
310
290
308
327
308
317
282
295
455
304
272
328
547
281
316
332
318
342
323
550
307
325
279
845
369
386
344
296
317
331
274
312
326
352
313
444
318
285
335
332
285
718
293
432
852
651
372
389
311
311
410
330
310
548
657
354
317
304
291
827
292
307
356
313
308
651
312
275
299
645
478
305
326
297
344
293
350
366
353
311
378
370
320
422
294
806
316
489
309
421
345
300
323
299
343
301
317
531
474
321
390
284
323
319
358
639
323
312
420
293
618
353
274
315
333
317
317
314
309
333
327
315
511
323
324
474
698
327
646
837
303
800
369
315
314
315
349
292
441
312
309
332
527
422
328
368
312
302
341
838
298
600
321
325
316
776
358
334
344
332
343
472
373
323
326
310
316
319
306
556
309
565
336
388
319
320
308
307
370
314
466
449
317
311
325
840
499
542
424
304
318
300
340
312
304
656
319
517
319
854
612
442
872
304
300
534
547
299
319
370
712
358
316
333
328
328
642
460
310
322
324
460
316
291
604
357
292
597
309
314
324
292
317
340
307
316
313
482
316
742
321
459
306
301
341
322
331
324
346
492
496
320
291
320
307
414
515
464
362
346
380
312
596
513
325
330
305
630
312
302
534
451
315
368
685
315
718
479
592
297
319
317
494
320
358
319
676
354
338
266
326
308
606
630
340
650
475
403
323
895
619
712
398
299
318
769
323
294
354
823
307
326
445
311
321
314
325
309
296
626
315
329
352
333
470
363
487
326
521
316
476
308
298
303
324
325
706
298
340
313
327
744
332
318
348
330
419
559
341
559
309
321
322
307
311
307
321
298
316
309
516
329
511
681
343
313
324
322
269
679
294
295
334
304
330
292
447
302
307
343
318
313
341
344
323
566
290
419
514
295
325
713
662
386
310
928
427
313
305
308
296
320
315
463
310
328
552
299
320
292
368
454
287
316
305
342
328
298
711
334
527
472
359
409
319
390
323
299
307
286
313
336
314
805
281
310
332
355
318
370
413
385
312
566
320
465
342
339
894
637
321
418
521
320
515
296
306
451
379
318
368
440
327
319
295
457
287
336
360
727
312
316
328
309
269
318
350
316
588
314
308
284
326
283
331
328
306
507
494
332
302
318
321
337
309
319
314
332
569
344
300
310
330
367
765
356
623
542
599
327
335
301
314
587
403
313
329
366
315
405
323
761
421
317
326
673
317
588
314
324
370
297
319
622
493
352
327
358
500
336
339
484
435
322
844
549
702
322
305
313
379
327
288
313
436
530
302
298
339
325
395
280
312
308
316
329
310
326
346
360
402
645
294
313
532
327
324
826
317
311
471
286
285
682
325
323
320
299
305
320
331
316
506
295
372
473
324
323
329
439
319
296
318
342
299
287
327
380
303
517
328
329
323
326
644
325
324
348
309
316
308
441
323
723
415
587
293
709
327
334
312
473
307
309
533
287
330
453
302
324
376
310
297
313
617
323
474
582
340
293
328
296
328
477
343
317
634
397
346
334
318
573
309
309
292
443
300
501
486
326
304
440
689
477
418
579
371
404
536
343
334
514
399
315
434
387
346
313
306
391
316
277
319
313
499
322
833
546
334
316
347
547
335
325
348
313
382
664
359
726
635
315
406
318
304
332
529
314
440
707
427
316
299
343
320
327
300
325
534
302
324
305
331
320
311
349
311
319
432
285
312
497
418
322
363
333
321
327
312
579
536
584
342
433
363
322
610
303
292
449
507
313
293
447
304
322
325
558
733
302
322
557
309
411
331
321
319
507
321
316
647
326
312
304
336
309
357
608
299
447
311
314
314
795
296
317
317
513
439
315
299
306
565
547
305
303
334
294
321
280
501
316
305
454
319
311
337
377
329
301
317
318
347
315
330
330
307
335
367
337
322
724
298
297
304
310
317
304
315
312
302
530
390
300
331
324
316
320
323
388
813
337
290
368
358
304
323
679
287
333
314
551
316
819
328
459
346
296
384
303
319
322
509
356
332
341
315
324
319
483
300
329
709
299
490
298
307
318
334
338
532
504
410
335
780
613
295
480
315
607
329
909
666
773
421
281
299
807
313
596
653
579
412
341
326
303
521
329
437
390
303
328
325
796
374
305
327
438
328
325
313
328
398
440
561
289
311
293
509
308
329
410
390
308
327
305
314
558
306
783
316
424
705
430
417
363
318
302
346
583
840
313
318
299
479
314
329
381
313
409
317
336
316
317
317
351
299
336
377
618
320
418
315
598
306
401
360
329
299
468
646
316
303
319
299
325
318
319
593
346
618
310
324
424
306
325
322
834
520
305
366
321
294
835
341
467
337
303
865
572
324
362
335
499
308
464
593
319
315
324
344
612
342
826
327
477
545
598
356
324
311
322
671
320
339
489
316
300
331
318
319
327
294
324
288
358
330
326
298
471
691
340
438
501
304
309
300
337
306
318
280
356
343
321
324
325
416
296
307
295
320
339
303
308
336
340
671
321
270
586
325
340
657
345
317
313
323
326
360
526
323
314
337
411
447
547
334
433
310
311
597
372
305
349
330
328
687
354
331
345
306
319
310
318
331
346
413
505
589
331
314
323
310
326
421
320
380
319
349
320
274
306
352
306
317
320
371
485
506
577
347
322
330
305
419
315
320
922
347
338
332
338
315
330
696
458
350
395
323
347
490
299
400
571
334
297
308
585
304
651
547
319
311
845
329
338
309
318
329
323
349
330
328
370
831
348
437
352
470
407
391
315
489
443
386
468
298
335
326
337
313
349
719
304
328
339
327
873
322
337
381
645
376
354
322
333
325
924
463
531
296
341
540
338
327
516
314
310
313
331
467
437
356
753
483
605
569
407
404
375
550
314
672
283
336
323
312
340
557
407
308
316
332
456
333
305
333
460
328
325
613
526
281
321
351
565
337
295
676
309
453
346
551
659
306
444
533
791
329
328
296
419
326
327
561
430
353
347
381
325
328
556
354
312
781
320
306
363
382
311
471
319
319
336
703
389
447
322
324
318
326
319
401
308
329
332
392
332
326
312
275
490
570
468
322
492
746
346
342
329
291
333
483
306
336
326
748
571
343
733
313
717
332
317
571
304
814
613
293
289
374
346
406
317
443
332
381
447
335
323
391
484
361
320
435
321
394
732
569
322
396
339
320
461
870
323
350
302
479
333
326
460
392
498
446
328
295
300
650
300
356
673
313
316
318
330
351
327
293
317
430
591
335
302
425
379
419
322
298
314
629
313
316
310
313
303
314
356
325
456
465
349
388
320
328
312
322
643
340
332
670
311
331
299
486
466
320
333
313
489
331
400
488
342
690
317
320
389
361
328
309
320
303
419
310
302
311
329
357
780
331
303
352
343
352
337
556
486
334
306
390
445
321
927
358
317
319
294
325
318
694
328
339
332
374
322
306
351
316
339
333
334
338
357
338
308
348
325
331
346
541
343
446
282
486
326
316
305
318
507
345
302
298
330
336
353
330
319
335
317
314
317
322
320
626
676
439
412
337
301
333
374
303
473
323
306
707
308
369
502
312
344
849
332
338
307
456
297
481
311
326
305
567
315
311
323
550
375
329
774
329
344
343
306
312
328
342
325
469
299
340
296
338
464
309
620
314
293
337
331
334
320
322
302
485
347
482
319
535
319
349
401
328
574
316
314
393
316
406
665
474
324
331
427
337
492
363
365
453
308
323
324
343
440
444
551
306
333
512
323
329
364
328
622
367
397
321
341
319
408
783
327
337
957
771
291
326
309
312
314
343
284
319
313
368
301
351
354
345
332
338
343
312
393
354
515
831
362
333
383
309
407
340
321
291
350
307
329
452
332
333
339
491
317
305
334
654
296
340
315
303
283
332
331
588
314
471
322
312
312
342
325
329
304
322
296
482
320
321
559
375
304
341
840
330
327
491
732
295
369
498
340
319
326
448
387
297
320
327
262
930
342
850
318
342
340
354
316
320
315
319
697
525
344
351
344
382
303
324
537
739
318
488
327
340
403
491
388
660
741
348
311
317
309
389
356
315
342
456
319
289
687
491
331
307
334
341
414
308
332
608
302
317
349
420
325
310
357
369
328
325
346
415
330
318
550
488
338
342
336
426
406
465
309
314
324
438
340
870
340
345
311
339
427
317
352
353
340
533
304
324
343
326
341
313
318
339
336
385
337
341
301
308
334
606
555
319
360
350
295
703
390
312
559
517
854
279
306
335
349
316
331
598
292
323
318
913
698
297
734
326
323
314
493
662
308
322
897
324
398
313
322
342
886
331
490
334
343
317
342
304
412
395
320
518
801
334
481
354
328
298
328
318
338
304
345
332
305
344
294
365
366
387
303
472
848
314
324
686
625
338
328
336
538
337
325
342
313
294
307
337
336
304
613
443
309
320
330
432
354
584
346
483
310
284
521
529
308
293
330
348
818
319
330
321
660
350
296
309
328
367
299
487
645
462
306
315
788
617
320
437
297
336
304
451
361
498
414
340
439
316
416
314
505
430
337
333
335
325
309
320
361
456
321
681
328
452
829
314
329
341
344
307
705
315
315
338
308
321
606
306
304
300
432
321
315
683
333
347
324
318
733
366
692
349
317
340
315
328
347
332
374
321
318
329
335
851
313
749
360
593
334
303
321
327
334
335
626
316
319
319
323
320
355
487
329
332
352
602
491
306
339
535
645
385
404
331
371
356
318
327
352
344
312
321
340
347
422
655
319
435
315
317
363
327
318
461
319
344
621
732
335
729
451
797
348
328
326
524
351
661
382
360
337
609
341
356
327
337
341
349
325
353
467
497
686
477
320
316
364
343
288
299
429
332
320
416
334
608
332
335
322
565
554
314
420
624
341
308
304
428
377
351
327
465
355
781
330
377
643
450
453
576
745
692
320
352
440
329
339
711
327
361
354
298
921
656
358
341
323
593
377
332
392
322
663
421
346
373
317
571
737
636
499
628
300
371
327
315
415
318
341
344
696
432
330
418
341
657
293
361
327
347
340
344
517
395
309
309
335
333
329
320
393
344
537
391
300
336
443
757
476
878
451
339
329
310
310
874
314
313
324
329
334
346
441
339
336
481
310
354
487
645
337
341
606
332
328
349
607
331
609
649
406
346
316
447
328
348
326
478
678
395
411
320
395
285
404
335
317
752
322
347
360
376
324
712
295
384
342
342
630
345
328
291
318
331
313
347
341
458
329
325
579
299
358
681
343
422
824
358
325
327
307
331
339
433
323
317
310
330
343
339
663
340
827
598
517
394
319
672
329
320
485
327
345
315
618
310
328
343
330
307
319
522
340
698
402
314
549
335
529
439
422
354
629
318
324
513
321
556
347
329
333
324
319
323
456
316
540
565
865
336
349
312
392
333
320
348
331
408
362
733
386
314
349
857
644
809
314
340
339
421
654
332
387
360
320
351
433
914
336
333
321
743
336
669
334
311
342
321
346
312
332
446
662
438
355
319
440
634
328
333
334
438
512
678
337
348
339
323
352
332
815
337
315
329
334
740
435
328
347
326
337
355
441
332
361
357
290
277
357
431
337
310
607
341
641
388
348
342
485
641
331
819
345
339
409
795
330
812
335
431
500
325
289
402
337
322
309
354
303
432
366
331
341
332
335
337
643
345
799
354
343
565
301
383
677
510
330
326
352
493
708
346
328
333
734
305
401
347
330
355
382
312
741
335
331
330
349
547
380
389
356
390
316
319
509
368
318
324
361
277
338
340
319
308
486
344
349
322
342
365
339
344
439
571
333
314
698
672
339
343
530
353
308
676
357
319
347
593
313
343
338
345
399
310
370
316
355
319
320
341
462
727
337
325
331
298
326
318
444
355
632
709
471
306
326
415
317
336
538
497
532
339
335
372
344
332
355
737
325
352
332
376
571
332
352
666
563
353
347
545
365
330
524
337
321
307
430
344
550
315
332
419
691
391
769
312
378
320
533
358
330
322
576
542
346
368
431
335
303
352
314
311
334
310
326
473
349
481
545
337
330
635
326
305
440
347
302
310
520
349
795
339
471
320
332
508
382
326
293
305
318
324
333
341
352
300
403
344
338
336
401
508
477
420
384
333
398
324
402
330
323
330
326
301
320
324
607
480
319
364
347
326
607
331
470
351
307
505
316
327
494
396
307
381
349
354
697
340
531
453
591
303
308
644
332
412
332
302
444
362
326
368
373
329
382
357
325
350
337
302
315
321
383
309
765
369
487
323
323
444
898
346
300
327
341
440
333
360
661
300
325
326
330
352
570
307
641
361
306
342
449
352
338
368
313
466
325
424
533
341
333
323
417
320
291
360
360
548
666
552
312
505
339
381
310
428
394
411
351
327
322
331
316
367
314
799
432
322
321
335
462
340
314
384
316
316
347
332
327
347
412
838
282
333
353
497
451
373
485
329
648
482
565
307
352
334
342
336
543
542
369
341
318
320
322
334
326
357
430
335
342
353
700
343
339
516
322
338
348
558
294
309
513
396
313
349
312
414
448
347
507
402
306
336
353
348
317
325
324
335
354
341
329
511
335
427
345
325
327
322
314
296
591
355
342
315
503
339
430
624
468
345
441
351
504
341
344
865
312
361
387
306
337
343
337
554
572
348
428
390
338
872
325
337
311
325
441
314
548
349
327
364
338
325
737
338
526
328
330
348
668
636
326
577
309
327
314
330
335
679
295
776
434
488
299
567
336
307
335
359
356
316
319
768
330
443
391
398
295
295
695
302
318
400
445
341
338
330
346
347
304
335
331
327
492
302
451
467
312
335
313
325
335
608
321
628
540
544
582
751
336
313
355
328
329
579
352
515
713
325
339
712
309
340
335
344
344
493
409
518
358
322
373
313
329
616
652
378
343
347
601
361
343
305
323
352
477
330
295
330
306
335
465
306
352
323
350
331
549
320
431
380
625
308
323
311
331
346
533
440
392
416
339
328
325
338
403
338
749
454
612
623
330
332
409
299
340
378
652
318
311
336
773
316
333
345
301
338
718
771
334
337
673
387
331
342
359
322
672
330
318
348
810
350
324
473
522
302
353
332
369
359
345
337
387
343
341
328
619
326
658
432
373
721
322
526
310
330
344
363
326
314
344
512
341
638
368
735
362
374
596
621
319
325
463
415
359
356
310
713
339
554
336
467
337
352
428
319
790
677
353
323
306
453
650
348
653
469
311
349
286
382
575
382
320
382
491
517
357
453
384
344
323
342
378
355
571
345
331
348
335
391
341
329
298
465
330
378
355
346
349
338
469
406
445
565
385
330
324
345
463
706
328
815
691
359
340
840
349
324
432
562
357
346
326
353
557
490
600
320
333
527
317
332
316
515
315
342
537
354
366
333
487
319
355
366
530
357
519
314
890
360
616
455
356
346
751
642
350
668
352
342
398
613
356
459
601
800
321
350
354
357
386
354
686
323
349
404
633
366
616
369
337
359
358
361
417
360
324
348
315
342
351
485
337
340
358
709
646
434
336
415
350
679
335
330
353
302
333
345
337
495
331
339
416
362
326
777
314
352
325
329
326
364
306
533
345
422
308
412
474
344
397
382
459
337
302
335
826
475
370
360
513
378
447
351
617
333
631
433
353
394
431
318
324
446
368
349
403
331
332
570
853
335
422
353
488
512
627
323
491
358
565
323
343
359
450
319
379
331
389
776
326
322
335
354
344
329
346
502
343
404
357
350
324
336
366
339
320
336
712
880
393
523
485
365
643
605
321
322
331
339
347
376
629
298
324
346
530
330
542
348
356
346
551
413
341
324
349
353
330
338
816
616
321
370
375
497
329
303
345
725
345
344
329
325
326
312
337
335
535
574
535
381
329
325
848
323
333
350
307
570
342
623
328
331
637
738
340
411
505
335
351
319
339
594
323
364
322
353
348
720
328
612
428
539
343
556
625
656
394
603
493
416
355
338
364
333
532
343
335
339
348
506
359
338
315
331
410
384
323
375
343
507
335
337
338
775
466
344
368
571
283
337
343
760
347
330
335
339
599
487
351
806
419
698
322
327
331
310
314
612
335
385
592
570
336
611
338
356
362
588
690
385
317
687
342
599
612
431
373
359
341
360
340
314
344
313
321
404
346
311
345
325
347
342
301
627
500
308
308
347
510
331
368
425
713
500
344
339
326
326
741
316
341
779
766
417
370
321
323
485
347
379
337
431
568
323
326
318
337
786
807
432
412
352
371
426
297
475
656
307
360
701
358
416
351
709
409
351
322
325
507
331
346
320
378
468
336
336
376
356
460
357
332
348
320
338
354
476
323
335
354
329
512
333
330
370
344
347
335
327
332
444
337
472
370
325
326
771
342
366
342
391
339
332
652
311
467
343
384
595
387
749
333
306
508
731
706
323
322
368
348
766
314
388
333
677
336
496
344
502
353
345
312
533
592
321
342
782
333
341
343
586
311
351
732
721
331
349
773
411
516
340
420
378
490
340
324
756
554
389
304
667
330
681
695
321
730
337
327
328
341
311
343
563
356
557
349
322
731
331
598
344
352
375
579
335
367
313
503
498
302
448
752
350
784
306
341
346
425
496
340
786
535
637
584
461
329
328
350
527
324
307
361
347
343
356
348
339
358
574
333
355
282
603
569
472
337
479
578
345
357
396
325
324
325
361
354
364
343
294
334
352
351
673
337
396
313
348
518
307
369
305
372
329
768
389
336
365
574
667
445
852
304
312
342
356
480
742
345
347
439
342
354
317
390
414
344
452
332
576
365
515
283
701
310
826
321
353
350
392
330
740
465
322
683
382
340
690
334
340
339
314
707
323
491
333
589
330
324
365
423
338
358
593
357
374
402
496
693
392
330
649
313
611
845
514
324
325
404
694
324
592
341
352
319
453
771
346
378
456
329
526
749
330
330
492
448
380
358
704
367
826
328
323
351
351
321
369
684
327
355
495
325
360
344
348
465
387
327
637
514
302
353
551
607
528
402
325
818
316
366
544
695
590
661
339
452
343
414
327
330
321
303
325
328
367
605
508
339
334
346
320
733
337
360
324
326
344
403
329
322
312
335
473
358
351
491
740
432
343
364
349
317
321
924
414
768
334
363
349
338
500
322
359
915
327
470
348
607
318
355
390
761
799
316
338
367
535
641
308
334
336
332
351
555
349
666
365
336
443
511
829
328
658
319
337
326
543
338
333
315
356
338
381
746
359
478
356
549
368
366
344
760
321
344
674
583
795
595
335
340
339
357
505
365
327
328
806
340
326
536
326
313
350
344
679
344
326
324
483
332
702
337
321
344
335
326
339
450
312
341
310
315
323
656
338
311
423
365
375
357
336
647
721
369
360
343
321
719
778
332
341
388
717
349
456
343
379
433
829
448
323
402
632
350
356
356
339
436
524
350
383
754
355
327
380
352
361
319
441
354
409
625
420
645
439
542
327
331
336
423
326
419
361
514
710
362
347
314
410
430
347
314
393
365
339
339
325
385
373
723
330
378
363
342
613
572
534
342
352
344
341
721
512
625
382
364
335
684
464
465
353
500
349
328
334
337
311
330
599
328
345
359
370
358
344
667
444
488
348
368
346
437
380
318
760
572
364
380
596
459
321
369
375
367
353
582
324
493
373
894
458
328
814
337
370
359
360
345
351
350
338
423
574
547
321
543
354
704
390
516
364
349
391
539
549
553
369
490
958
344
417
668
348
789
338
372
738
700
367
474
309
331
332
349
354
858
333
330
345
357
309
349
352
347
361
340
799
475
340
319
318
513
361
342
371
481
466
834
315
362
581
619
354
359
419
349
373
629
438
501
325
346
449
324
688
356
371
390
359
742
355
642
702
367
346
690
576
688
603
340
357
330
445
330
376
371
598
345
343
391
340
576
353
343
330
878
330
513
341
377
363
431
327
348
348
326
348
423
347
523
426
340
338
453
348
352
360
358
375
500
351
345
314
347
467
313
456
313
481
624
719
370
352
345
339
348
667
337
358
826
359
360
350
422
347
517
651
329
593
776
363
441
752
671
456
320
373
495
750
368
328
334
469
448
351
353
365
369
374
777
345
355
454
344
361
326
351
357
354
473
359
312
383
419
331
378
567
338
367
344
313
352
434
372
350
346
367
604
357
477
328
341
357
387
336
329
408
567
546
351
565
422
348
339
365
341
590
350
302
342
326
682
516
352
701
643
363
346
342
338
529
333
861
348
421
322
374
446
323
339
328
625
546
319
869
362
370
341
460
362
459
395
327
348
334
429
614
343
350
582
342
343
786
324
348
364
779
322
370
350
350
359
324
380
531
362
353
577
401
428
417
346
358
481
377
749
366
583
357
340
346
352
340
354
338
319
350
410
319
341
395
325
656
328
369
336
533
358
335
352
357
295
620
361
427
327
327
339
308
329
742
444
567
406
345
358
315
348
356
355
688
347
347
357
673
357
697
353
364
689
331
374
466
342
359
328
511
384
681
546
293
344
414
468
349
337
444
580
317
364
335
762
344
350
358
311
344
418
326
411
524
347
355
561
314
342
417
355
584
554
320
450
392
423
614
337
336
703
330
341
326
370
537
418
347
325
356
493
357
314
343
366
349
362
614
363
479
338
358
571
341
732
344
552
625
360
384
334
341
515
357
349
748
414
676
307
679
340
332
383
604
408
339
346
767
360
362
505
671
348
346
840
571
481
338
341
379
342
345
351
339
325
355
342
342
358
433
792
771
580
567
326
341
377
452
351
341
354
528
363
694
668
491
331
730
403
336
757
351
399
388
338
843
354
354
563
369
403
329
372
349
766
362
351
772
684
590
661
296
335
325
332
330
406
340
404
340
338
343
392
335
322
343
373
338
666
312
572
357
358
318
345
597
450
399
525
590
333
347
341
363
325
450
324
351
561
358
428
385
359
385
365
321
361
513
338
396
352
310
516
346
327
320
335
342
353
368
448
359
336
486
335
340
573
796
368
355
405
382
347
343
310
820
337
385
359
313
365
640
409
340
319
541
342
342
360
404
346
327
369
401
413
336
594
353
344
512
336
384
404
335
561
420
320
833
343
693
905
393
329
350
302
529
678
356
365
558
337
630
835
471
367
352
305
321
732
420
525
326
370
755
355
605
361
453
689
351
349
352
343
348
612
338
344
336
326
339
319
326
730
358
331
338
358
346
328
541
321
324
337
331
672
346
349
347
379
816
324
324
382
584
340
338
401
511
359
345
535
354
369
371
322
362
629
370
322
404
657
353
352
360
364
760
366
357
332
370
388
453
425
777
543
907
402
492
355
323
405
376
308
392
571
342
624
550
780
673
339
328
345
538
400
333
334
364
347
343
459
343
861
323
571
332
558
324
342
334
510
508
635
538
788
520
331
418
346
362
394
359
347
363
360
322
713
336
385
319
357
337
505
521
542
303
614
323
495
344
371
608
326
315
359
717
380
747
318
360
332
339
353
694
338
325
374
359
744
520
391
722
328
532
344
341
326
349
437
340
380
355
331
571
614
360
731
347
554
352
362
520
337
414
591
400
484
339
323
318
380
515
410
364
424
470
354
576
386
434
341
415
613
344
656
390
425
342
385
337
433
423
545
715
333
350
335
345
334
364
647
534
369
476
337
357
330
336
549
350
351
347
378
372
453
352
328
513
481
387
349
355
371
506
354
613
353
353
397
664
825
580
361
363
317
570
746
336
370
347
359
342
355
444
330
437
428
367
502
366
350
348
349
658
334
410
685
405
659
736
398
406
645
346
353
466
341
798
360
422
673
623
378
877
337
336
351
495
409
369
325
368
379
511
348
616
352
372
566
356
664
366
462
333
322
340
360
498
322
375
653
661
344
386
380
372
324
348
705
363
362
385
696
342
826
469
560
730
440
358
671
685
314
370
372
381
890
367
681
580
374
364
408
355
338
344
407
401
891
726
794
353
824
365
342
416
376
688
346
356
464
476
900
643
593
753
409
371
341
399
335
517
402
353
358
368
387
362
348
336
351
543
463
432
447
370
352
363
349
348
371
336
413
482
336
812
386
338
351
334
335
912
390
342
359
588
717
335
354
588
462
633
720
339
483
373
322
351
313
341
427
453
634
491
394
379
355
330
380
827
342
345
330
622
338
402
420
412
338
359
506
369
832
567
356
357
336
357
627
367
383
703
364
378
366
598
430
354
720
596
383
409
343
366
360
354
320
560
367
416
371
446
341
326
368
373
543
711
361
320
370
338
828
365
334
370
367
903
352
398
538
357
352
336
459
567
485
363
517
337
462
368
378
473
371
379
373
368
880
717
372
370
363
438
588
344
554
580
483
756
394
584
664
549
361
346
587
364
662
373
363
336
371
341
749
347
578
367
365
344
387
370
341
528
359
406
483
491
423
331
654
353
339
744
491
723
302
374
415
327
360
325
571
331
397
636
563
331
358
337
364
622
364
359
349
360
661
370
607
379
353
755
347
346
345
411
358
342
396
351
538
353
645
357
335
504
343
369
586
519
352
370
553
768
378
354
336
709
594
330
321
329
389
735
638
357
371
360
307
348
367
387
736
348
367
343
351
630
436
358
588
389
339
420
333
332
691
508
320
343
698
533
359
346
586
342
827
440
348
360
748
562
468
347
391
337
347
728
344
556
352
327
370
363
339
460
472
425
399
507
346
367
326
341
351
532
355
349
443
365
339
358
356
718
595
375
589
361
402
379
681
516
698
370
353
681
359
335
421
325
650
387
455
807
356
380
354
303
863
378
549
346
343
430
323
348
345
375
353
350
372
538
401
665
889
369
366
490
375
453
769
834
336
577
339
384
384
593
363
379
431
461
419
472
373
546
345
335
338
354
347
374
328
357
387
340
314
587
338
339
664
356
329
375
476
368
340
314
369
491
322
327
594
342
334
333
351
364
342
548
651
361
386
340
380
377
423
339
535
370
366
364
561
335
332
334
315
496
335
574
443
714
337
350
357
796
343
352
726
406
332
352
352
531
313
378
751
350
417
538
591
487
341
370
352
516
337
341
390
362
505
338
366
357
542
349
391
368
348
717
339
460
591
354
528
363
463
352
315
363
473
384
323
340
371
534
816
485
441
373
352
340
363
445
333
421
379
353
515
366
338
502
390
381
355
364
363
328
357
341
362
422
536
468
525
329
388
474
351
340
497
443
342
363
374
505
448
309
353
455
314
396
835
371
366
344
618
364
450
353
352
358
333
756
542
674
435
406
324
695
324
356
337
587
713
360
350
575
674
664
360
387
748
330
396
360
419
327
662
353
519
495
337
355
368
322
710
537
398
399
441
366
353
356
628
441
366
338
386
340
357
569
468
437
385
336
362
345
370
427
758
378
568
348
333
318
733
346
363
376
509
345
449
356
606
335
362
343
620
363
340
383
380
358
542
315
396
527
390
344
560
442
374
347
352
313
571
353
466
305
630
343
363
330
459
612
360
386
348
373
319
587
690
814
333
333
369
641
330
356
361
344
348
381
344
338
589
343
349
320
612
667
525
341
365
509
380
443
453
372
349
379
365
347
361
717
351
371
331
548
360
468
388
362
785
329
505
337
490
714
364
363
819
344
467
371
392
382
332
342
644
383
378
374
520
455
383
392
451
344
322
536
379
468
351
488
367
342
483
348
345
442
367
330
622
669
521
346
363
362
334
420
333
355
635
362
356
351
478
357
733
358
352
414
596
373
521
499
307
346
351
742
369
367
373
383
570
371
531
639
325
346
355
693
322
396
377
402
673
458
894
471
429
354
330
384
328
440
767
326
383
337
361
332
372
326
352
352
375
464
359
359
316
428
357
476
575
360
351
494
492
369
354
463
332
334
416
807
383
660
406
354
347
366
359
523
344
322
364
556
455
362
380
568
409
366
632
458
356
341
353
440
368
373
498
348
345
373
366
317
521
497
361
332
394
422
473
800
388
345
452
334
368
357
317
634
486
368
371
440
364
576
351
630
578
634
367
777
564
342
666
356
343
338
372
462
600
633
430
368
639
367
476
339
339
533
362
334
481
360
362
357
433
360
761
412
624
364
368
410
366
344
579
681
428
344
348
353
372
363
484
366
398
435
370
386
367
628
357
486
404
382
377
428
381
421
399
529
472
358
349
340
607
644
336
373
364
801
436
429
479
353
478
449
368
354
365
571
419
857
785
387
378
347
507
374
340
363
869
365
384
380
603
363
587
397
379
365
388
496
374
360
358
349
336
352
437
351
572
663
452
361
335
344
447
362
426
663
791
357
368
360
405
499
350
419
362
544
369
349
356
379
359
365
545
394
396
334
356
327
674
551
638
363
366
344
357
481
342
691
607
332
891
498
356
363
615
341
400
348
378
357
356
411
396
367
376
438
386
645
338
457
570
348
338
347
332
765
378
495
642
329
716
350
419
347
349
623
359
364
357
353
396
344
385
426
817
427
351
369
359
348
762
312
347
383
838
377
647
414
380
355
353
371
343
376
318
841
429
483
421
369
459
383
304
337
383
606
418
373
437
392
342
665
365
715
488
367
355
672
346
344
370
363
368
487
340
378
693
583
368
376
356
367
437
551
457
774
470
637
413
353
366
375
351
374
358
340
368
380
483
375
425
415
325
466
356
358
454
379
354
343
340
462
331
351
793
357
362
845
368
900
567
345
571
333
356
366
353
344
374
677
355
358
370
378
380
353
532
356
323
378
378
465
380
399
487
365
384
341
628
702
364
351
339
377
371
777
366
473
333
446
502
393
575
362
365
588
835
544
367
353
386
376
342
471
365
380
345
382
396
365
774
675
348
388
482
677
424
370
344
394
341
335
341
345
340
347
482
605
372
476
357
379
538
431
555
333
341
368
681
380
654
346
356
340
365
351
343
348
755
358
352
540
373
342
367
368
364
346
395
352
344
346
327
389
779
685
348
373
774
580
882
409
366
329
372
689
352
364
358
351
387
712
550
345
347
603
551
378
506
769
654
351
352
347
348
355
496
662
342
490
434
369
370
361
321
353
469
388
351
321
695
385
562
855
392
462
325
333
807
371
443
565
376
541
316
340
367
376
371
658
786
408
476
343
350
369
399
419
526
354
392
334
725
365
343
370
531
355
348
788
442
360
439
362
360
559
330
619
612
548
387
366
357
347
825
350
780
548
500
341
736
589
405
726
355
367
361
583
781
424
360
376
347
614
359
523
328
383
698
371
388
369
589
381
550
809
391
344
542
356
307
734
372
365
397
366
373
669
428
352
417
492
460
453
490
735
391
355
632
318
350
356
319
391
396
375
827
341
635
362
342
650
352
399
563
596
603
335
355
355
360
352
365
347
343
823
352
516
379
561
390
354
859
348
544
364
375
825
644
374
348
378
377
338
455
348
700
365
363
316
618
658
394
359
338
415
479
350
435
367
356
360
536
403
355
566
437
344
406
354
324
359
367
602
531
367
350
333
332
345
445
537
375
365
354
394
696
355
619
364
364
886
389
342
363
375
843
855
366
349
394
474
369
372
378
676
637
598
586
484
357
383
549
383
653
707
504
358
356
320
360
653
355
359
342
362
352
397
343
876
387
313
639
341
350
355
377
418
647
369
361
569
343
351
398
391
351
349
371
453
782
363
570
548
408
351
368
625
373
520
344
611
357
326
350
547
391
359
356
348
746
547
415
384
337
722
334
364
738
367
628
354
354
473
368
369
378
361
343
538
356
484
433
640
501
618
333
868
420
427
386
560
467
363
358
367
387
309
564
368
468
375
568
375
365
356
396
369
361
493
359
726
370
594
492
346
789
504
383
372
522
368
334
549
623
417
636
421
368
846
374
412
355
338
396
328
366
470
379
380
779
578
366
389
473
761
374
367
743
366
471
372
747
484
324
349
711
696
753
380
338
410
351
356
460
365
366
368
711
386
489
348
316
344
369
864
385
389
653
571
365
379
677
356
386
357
782
333
604
347
592
793
464
653
573
374
324
365
387
459
697
406
335
358
348
594
786
381
361
573
366
364
408
348
363
332
651
374
374
417
483
612
349
597
524
465
365
472
386
782
365
344
384
513
391
430
326
448
401
510
340
342
383
389
386
355
363
369
605
364
533
467
362
512
613
467
512
318
835
381
385
366
577
559
365
358
741
390
803
636
388
369
345
445
430
484
386
351
361
363
514
349
722
507
686
338
362
366
602
414
443
382
351
687
390
335
341
356
774
352
610
360
710
350
359
425
507
526
359
467
422
728
843
383
368
378
383
430
382
691
368
360
494
332
359
577
651
560
392
373
353
453
485
448
355
558
352
488
373
738
342
440
363
676
381
351
363
440
486
373
364
373
462
364
435
327
375
378
456
366
367
377
446
384
466
356
377
487
353
687
410
354
731
351
558
510
339
536
908
809
390
361
385
398
456
385
519
369
394
372
367
716
554
469
478
378
365
393
452
681
614
377
495
373
347
336
612
403
670
522
352
345
491
358
367
374
390
685
372
721
514
729
363
385
675
468
343
641
334
477
402
656
566
358
347
360
361
460
346
799
733
611
538
702
391
542
395
499
344
363
506
348
360
351
450
369
573
550
742
364
839
357
613
374
428
548
367
374
376
333
371
486
352
337
374
390
354
364
709
345
355
532
542
432
360
372
459
343
375
341
365
377
354
327
562
403
376
806
317
337
341
804
604
359
371
394
495
568
391
405
365
403
361
361
381
367
719
517
812
784
369
370
350
714
372
380
365
446
743
560
513
396
594
512
470
577
372
395
912
404
330
374
341
344
351
332
492
352
373
835
352
366
555
357
334
538
438
373
464
366
372
629
398
394
722
333
509
471
384
698
354
594
375
526
350
376
378
701
400
358
372
361
703
391
363
363
353
362
348
765
671
510
333
334
841
606
369
339
733
379
366
341
374
395
386
364
341
361
364
756
354
550
353
492
381
450
378
642
373
380
400
666
377
379
437
324
488
837
698
420
372
357
360
412
669
659
399
744
380
401
633
459
559
860
379
359
389
402
390
333
723
564
383
348
378
375
499
391
373
429
334
417
382
368
441
349
366
515
357
396
466
399
374
386
332
363
366
511
344
347
500
356
709
580
421
722
432
394
378
351
376
366
336
596
461
358
367
472
404
401
348
805
367
542
367
652
940
390
345
394
603
354
350
353
390
359
421
555
665
576
361
548
348
766
351
398
362
734
432
568
388
388
377
428
353
372
362
360
499
453
547
355
373
576
386
362
403
616
372
353
356
347
340
487
362
384
412
708
434
775
396
371
426
387
478
605
391
375
841
436
547
361
565
437
539
339
342
372
371
405
396
883
349
365
745
390
371
505
488
379
376
353
347
369
336
520
554
381
658
342
344
580
497
340
383
479
382
374
663
378
380
359
833
427
382
337
416
372
578
468
502
360
682
480
385
706
327
368
407
413
440
375
380
359
362
393
588
369
343
434
357
347
348
369
382
385
346
744
638
364
336
743
357
619
381
381
649
379
356
497
412
288
598
461
426
357
347
368
537
457
367
351
473
346
497
637
371
340
376
556
342
397
604
411
362
534
382
624
841
384
380
362
376
345
831
366
375
408
361
415
351
381
427
529
366
358
836
760
539
329
414
361
355
383
671
638
352
903
315
392
734
492
352
632
393
732
584
365
365
391
372
691
429
413
365
373
657
789
333
552
351
466
378
350
557
332
382
397
424
406
347
374
670
386
531
379
372
378
360
354
338
391
340
367
633
420
375
380
371
457
528
733
572
379
458
529
365
351
415
546
495
499
413
346
578
364
486
693
523
420
860
354
351
316
360
432
648
342
412
453
552
333
372
376
372
701
352
808
704
377
727
384
377
368
596
594
420
358
632
623
343
467
362
575
433
345
355
358
682
376
366
374
526
369
350
743
330
780
377
374
651
343
385
361
697
398
566
688
362
644
806
363
419
422
382
368
652
368
404
363
423
367
381
358
507
653
387
827
370
444
381
693
424
352
367
372
309
410
492
367
370
352
751
717
351
511
527
374
506
378
470
413
369
665
357
350
466
556
412
659
398
387
367
373
344
391
379
622
392
338
352
366
344
562
455
630
386
409
780
382
381
407
347
394
384
361
385
583
332
703
343
361
381
392
369
478
418
570
742
511
581
359
372
355
366
371
429
386
392
393
394
778
485
346
366
391
334
336
610
442
424
467
562
382
392
535
389
832
473
342
351
401
459
787
367
390
373
746
709
501
360
488
795
369
362
353
558
648
362
571
407
385
345
671
407
421
332
563
505
370
740
373
367
374
395
348
568
370
351
386
584
385
398
818
736
824
536
330
391
376
371
373
371
781
332
365
359
406
731
354
354
375
368
351
392
338
363
345
341
379
649
349
551
333
350
400
358
330
379
461
520
487
409
351
325
345
350
684
733
411
601
761
335
572
534
365
347
359
841
441
377
776
381
697
626
362
498
363
349
534
361
355
352
347
435
370
352
358
418
359
365
390
544
508
370
612
810
909
643
831
482
415
366
384
530
372
380
387
704
443
408
678
452
367
443
391
392
697
373
401
325
711
365
434
415
370
401
375
353
460
383
364
683
390
396
377
479
363
546
395
394
372
600
454
368
376
614
362
395
384
475
674
375
368
875
568
524
461
416
891
404
371
406
385
502
671
382
375
375
470
707
392
363
361
392
383
674
389
380
356
355
383
377
374
377
437
338
736
364
552
910
416
581
605
360
532
337
353
703
581
350
812
364
407
389
552
574
452
391
452
357
387
385
392
640
583
374
346
368
388
390
391
396
628
449
379
340
372
805
685
509
331
577
725
360
349
336
513
614
355
359
767
968
391
374
372
808
333
381
494
453
536
368
394
359
379
374
748
535
361
527
386
387
365
545
323
405
363
372
482
377
350
475
400
365
379
379
441
474
725
369
382
381
535
379
370
356
635
377
385
577
379
370
733
418
642
380
783
422
347
386
928
427
457
359
370
415
460
408
580
521
351
469
411
348
373
374
409
379
369
418
840
389
796
744
480
791
387
378
391
332
348
458
394
721
372
361
336
372
450
347
365
361
367
344
347
396
373
564
365
372
781
356
353
390
387
652
679
593
385
581
664
328
372
399
446
365
380
525
379
605
654
669
718
601
470
345
724
379
342
435
386
430
461
380
583
506
385
389
374
544
387
413
501
493
336
605
471
327
358
452
369
612
483
366
459
372
476
359
389
351
379
561
825
374
420
369
370
708
411
522
452
504
379
391
382
354
554
375
402
424
548
485
451
405
410
360
440
366
364
390
480
385
367
643
380
356
408
825
383
727
348
473
523
358
446
365
395
404
335
372
369
369
376
377
461
378
393
357
401
373
361
404
695
388
667
729
367
794
367
564
506
381
356
416
601
395
374
412
343
483
359
387
398
424
375
383
375
389
356
375
486
413
378
351
403
758
378
566
666
904
520
356
719
405
827
762
466
357
476
398
361
366
370
389
371
389
375
365
438
369
451
363
370
810
456
372
375
370
605
346
903
340
460
701
719
358
758
332
843
347
357
470
773
367
383
428
370
919
359
370
387
353
376
327
679
378
378
392
381
359
354
466
364
362
634
376
389
472
408
739
413
589
735
662
379
698
373
363
381
402
788
389
404
357
494
376
494
431
744
390
361
439
386
399
402
538
360
389
526
382
522
614
567
380
490
383
367
374
379
651
374
461
480
785
378
596
352
383
375
660
763
373
376
341
542
730
334
412
357
360
485
664
368
397
331
354
370
387
653
409
362
412
573
412
396
571
374
351
619
358
468
533
642
784
376
650
366
359
512
540
360
357
362
376
393
364
366
362
356
362
349
397
370
404
367
400
364
357
561
704
372
690
416
492
471
422
461
367
373
393
362
431
489
452
375
367
367
377
395
396
372
370
855
686
479
392
696
359
369
467
418
374
401
499
372
438
357
378
507
470
656
376
337
374
544
356
345
371
391
377
403
377
745
386
360
400
366
624
477
397
434
355
369
408
409
390
723
376
421
390
395
357
449
363
570
369
688
392
766
863
624
448
386
794
407
359
346
499
377
396
750
759
513
344
357
374
384
393
633
434
364
476
820
436
370
377
697
395
496
583
542
386
694
375
834
531
358
772
361
582
805
369
368
375
360
570
660
388
377
361
545
394
377
776
408
381
368
398
363
546
521
415
936
341
380
481
769
376
548
395
706
382
580
396
495
394
384
517
369
385
509
380
345
366
393
706
346
393
397
917
564
421
796
766
384
380
340
379
535
360
446
354
688
724
718
369
383
673
467
380
334
839
351
700
487
471
587
457
437
491
385
372
549
413
653
429
449
355
368
864
388
805
366
430
371
399
581
365
369
509
373
339
537
396
453
704
671
636
390
389
336
396
618
793
364
398
397
375
402
359
363
383
374
470
390
650
350
366
591
521
649
474
694
405
352
707
368
626
370
353
366
388
379
674
621
505
388
366
349
376
646
372
387
355
362
520
422
449
598
438
745
378
495
372
389
379
913
799
538
382
721
378
549
380
364
364
732
394
396
489
706
373
358
383
424
398
398
847
471
370
527
381
370
582
373
319
604
823
402
381
445
396
368
480
337
752
378
504
715
396
389
361
492
391
470
395
353
574
635
660
376
353
916
482
370
485
376
370
376
370
375
364
386
360
638
331
459
389
484
416
359
356
413
479
402
388
721
614
364
368
580
325
627
396
477
390
361
422
377
369
380
365
410
392
364
381
356
352
383
474
363
402
458
671
366
350
392
569
419
418
359
390
366
390
721
389
409
671
391
625
383
370
354
385
717
507
604
473
367
386
415
378
389
349
366
396
543
889
376
715
418
495
407
920
551
370
444
499
435
380
367
431
474
372
396
367
821
386
402
371
362
860
567
366
738
589
590
349
866
745
890
377
405
383
860
646
374
360
367
672
395
571
386
476
603
522
434
552
383
855
378
382
380
367
474
355
535
413
446
372
475
349
373
443
365
684
397
359
482
388
382
385
384
469
397
396
485
398
389
392
636
476
377
644
373
444
352
368
521
365
688
383
372
384
369
810
366
392
394
780
556
403
396
496
596
524
587
380
383
426
656
621
366
350
368
765
659
357
505
362
390
435
398
417
495
395
800
385
537
387
747
478
834
362
750
586
469
367
376
385
577
368
598
699
395
372
634
691
380
349
757
372
400
400
718
391
409
539
435
504
749
386
390
400
375
657
379
504
466
384
407
387
377
388
375
782
382
372
389
485
370
392
743
848
383
378
463
523
452
495
413
383
705
407
449
550
392
764
371
407
363
825
552
404
878
414
600
349
562
747
680
680
437
354
478
391
392
605
440
359
810
724
765
627
727
586
354
396
372
402
411
520
669
362
371
380
389
623
389
751
399
794
369
580
389
516
384
377
387
542
448
383
731
425
658
400
376
405
370
402
373
376
378
375
373
526
368
395
568
415
500
443
521
600
390
583
582
367
653
559
369
372
687
479
774
398
728
646
442
382
403
364
386
402
361
512
472
603
714
394
370
390
615
404
559
405
374
446
392
406
433
380
400
893
374
349
600
338
334
411
366
362
566
374
360
373
442
366
381
493
441
507
390
466
644
387
543
374
421
377
723
717
725
479
379
376
374
406
391
370
465
539
576
418
512
430
397
395
378
671
651
466
385
358
380
709
435
480
433
775
420
349
398
819
414
406
379
658
388
412
626
368
418
582
700
578
387
417
718
417
436
728
448
770
547
538
403
629
380
363
392
390
564
398
798
366
482
359
383
446
592
798
361
375
384
559
574
640
418
662
449
459
391
382
863
416
649
381
374
386
554
631
415
362
813
527
358
708
581
751
384
355
360
664
448
348
370
364
555
573
499
393
754
391
393
395
384
449
367
372
425
748
801
385
391
373
674
358
368
588
713
435
696
365
739
526
506
401
388
490
374
665
401
370
793
496
840
383
372
489
385
485
567
366
384
829
346
370
356
651
592
865
638
634
375
394
354
355
374
401
444
378
483
394
366
376
512
383
398
386
693
423
739
357
390
364
943
362
381
915
393
410
380
375
391
486
595
357
366
618
389
348
346
387
743
494
407
370
372
390
364
691
769
371
450
359
346
615
556
394
557
366
390
349
632
350
818
485
572
395
460
390
389
385
474
593
368
465
460
948
367
390
481
581
392
597
384
595
406
557
393
374
484
383
392
384
392
652
379
597
464
596
369
876
469
643
587
388
379
362
416
562
414
383
395
373
367
425
422
914
380
361
376
473
401
444
412
569
377
623
679
361
402
739
567
386
363
399
375
363
448
865
392
663
533
365
358
410
348
801
445
396
734
689
338
532
381
376
373
673
707
383
374
397
559
368
370
363
575
404
408
854
659
399
361
356
352
755
419
388
376
379
338
577
411
357
890
361
545
382
380
383
524
362
624
496
492
667
372
437
922
370
694
629
538
386
383
382
356
377
390
369
400
384
588
393
649
410
562
404
380
345
595
401
376
631
366
380
544
387
378
384
374
654
549
468
342
549
810
520
765
396
383
401
459
369
381
606
445
387
388
593
564
421
460
405
373
354
370
392
532
395
399
348
378
418
765
353
348
385
378
348
414
450
651
501
386
762
425
413
770
395
403
657
505
362
529
429
391
390
368
389
387
352
396
580
376
557
788
769
770
494
587
679
448
673
360
380
356
388
335
356
446
781
405
621
771
701
665
466
392
408
589
374
400
374
380
375
505
524
361
521
472
423
878
386
796
400
462
618
378
387
399
396
734
837
695
572
387
509
649
436
401
337
385
394
701
527
374
421
678
354
455
395
388
426
391
643
601
409
601
393
631
377
362
382
434
435
552
433
391
540
392
397
514
412
443
371
359
397
408
368
392
348
405
376
475
828
690
372
718
368
490
371
761
378
393
497
559
379
374
643
446
383
366
411
371
575
390
548
399
491
406
453
876
383
436
381
567
447
533
407
397
644
398
545
513
955
910
404
381
381
383
363
398
365
682
414
378
354
390
567
388
392
396
621
543
373
369
358
514
383
386
408
487
400
413
410
374
642
552
651
364
377
381
397
496
429
394
393
547
421
353
745
369
391
560
383
366
403
521
582
493
395
385
346
647
526
480
355
392
652
429
623
733
725
345
366
607
381
405
366
365
679
470
398
394
372
423
394
386
423
387
409
851
507
554
369
848
508
566
387
592
403
554
405
866
717
377
390
445
400
396
340
438
647
379
423
363
489
428
470
397
394
545
515
426
411
383
496
608
341
391
365
391
426
409
410
545
568
379
407
820
409
406
388
420
422
431
401
495
407
601
387
469
394
381
647
569
789
496
468
372
611
383
420
457
378
427
509
416
412
380
747
378
356
343
510
434
393
365
871
538
365
866
396
377
442
383
397
703
371
395
375
684
516
396
726
426
613
459
391
382
851
384
400
632
412
450
585
884
852
535
379
495
379
631
407
386
406
457
416
384
391
390
681
367
406
808
496
396
732
649
409
525
679
636
373
493
372
549
410
504
780
375
434
900
625
390
372
631
746
372
666
384
678
387
386
659
479
384
656
564
390
657
374
709
456
408
489
476
592
378
815
397
526
370
385
371
408
389
403
549
360
447
390
585
780
507
346
377
739
373
387
675
691
399
455
362
446
414
789
389
343
401
370
412
387
558
455
516
381
438
384
410
943
376
362
386
699
544
354
541
453
605
380
373
440
417
389
475
374
361
381
379
385
751
383
383
396
425
382
401
864
400
467
396
601
413
409
431
655
562
409
383
393
381
395
383
560
347
395
383
400
420
354
412
440
394
467
358
381
410
453
417
669
409
386
405
680
651
581
374
379
371
394
399
655
390
447
378
454
374
377
643
372
435
367
399
603
396
410
390
358
409
392
586
356
702
356
580
444
359
399
402
882
676
378
410
399
472
370
449
405
391
378
582
395
373
462
454
530
615
407
405
408
419
728
616
427
424
515
414
383
903
406
391
732
385
455
481
380
393
572
437
424
669
400
381
508
469
456
743
376
404
411
382
389
377
403
392
634
466
796
386
716
733
357
409
841
429
386
404
554
387
491
369
370
381
373
372
375
398
390
378
463
386
382
884
385
504
368
395
389
376
370
383
430
612
598
741
410
565
367
389
427
403
580
400
651
361
378
353
672
613
369
740
385
397
408
386
434
841
865
435
390
492
482
408
650
432
439
582
476
382
416
507
413
544
780
496
527
389
876
401
438
384
669
787
384
384
700
407
621
384
909
381
429
376
454
402
434
538
442
669
406
337
405
381
863
493
366
392
672
385
336
387
587
422
396
456
395
575
380
405
799
369
372
731
396
582
571
614
720
400
405
548
399
377
460
350
391
389
430
425
680
407
707
463
521
424
444
748
376
653
398
458
389
555
376
388
408
411
388
365
514
839
388
388
418
474
538
391
519
387
399
381
819
582
350
428
372
400
383
401
486
548
368
337
370
597
407
613
564
399
410
749
365
395
738
367
364
375
688
377
465
375
577
395
369
641
536
385
459
379
393
372
387
429
372
581
401
517
447
395
517
402
365
387
404
380
400
382
734
354
396
804
540
400
755
651
448
416
854
371
381
626
458
562
469
402
370
359
607
426
712
365
384
408
379
427
507
379
368
769
882
388
391
464
400
398
835
520
402
689
706
358
392
682
652
407
644
549
659
396
381
359
497
412
385
509
386
412
452
372
402
395
367
544
389
629
385
404
386
460
389
629
683
397
367
373
509
387
363
438
366
381
525
398
405
483
613
509
383
818
422
817
410
408
408
359
647
727
375
364
591
411
523
378
695
426
401
417
462
891
340
394
382
431
524
406
421
384
402
409
525
425
840
395
514
423
430
413
405
591
401
432
415
384
348
364
401
880
370
456
697
711
409
373
400
781
369
414
372
435
706
669
846
367
393
352
394
471
376
419
405
590
349
396
403
436
420
398
438
367
467
466
381
843
596
522
396
507
767
377
377
377
368
624
396
372
626
361
650
420
414
668
381
368
411
411
440
397
424
738
780
531
376
373
379
381
410
762
483
380
462
443
421
496
687
621
379
360
416
659
514
366
374
384
423
398
395
374
385
355
377
618
378
782
804
681
659
399
420
636
419
418
366
401
399
538
449
344
376
716
377
368
441
466
676
374
370
370
389
761
370
489
838
346
477
374
364
540
491
477
607
392
404
676
674
379
389
776
697
368
394
385
666
699
544
385
390
707
544
385
387
378
382
865
878
715
412
792
389
405
452
418
897
379
495
519
358
835
420
742
399
725
359
533
588
404
411
354
609
386
511
443
564
407
507
453
634
561
424
475
387
543
520
477
866
425
616
392
389
379
421
401
708
636
505
422
631
418
373
695
439
416
444
367
474
397
417
371
642
372
548
642
691
401
398
378
410
568
361
898
380
538
437
392
516
381
487
656
435
706
392
903
554
413
380
609
395
462
424
671
408
377
451
574
732
419
431
383
408
382
403
698
820
561
553
357
453
395
638
362
413
393
406
426
373
384
439
404
423
594
408
404
420
431
701
423
454
733
430
677
421
409
475
547
361
922
882
347
483
384
403
628
535
402
416
384
365
363
389
404
381
695
676
690
407
539
758
394
824
539
356
441
392
390
718
627
375
783
372
358
405
410
668
682
730
410
593
402
461
504
379
399
594
623
384
360
856
696
370
546
374
422
407
391
391
347
670
413
752
401
412
481
474
378
665
357
606
822
381
420
656
393
453
782
500
747
350
633
397
616
552
808
777
388
476
543
435
353
421
378
411
404
390
424
411
404
476
391
410
571
404
781
581
516
425
503
669
385
451
394
384
635
388
393
365
420
399
365
383
379
389
535
381
432
395
767
605
514
415
355
400
374
365
540
414
440
649
376
406
719
374
421
387
776
762
398
367
396
384
387
424
428
778
798
412
399
530
404
402
686
382
420
404
416
757
387
416
514
445
669
390
670
387
412
377
424
386
404
402
973
412
552
481
654
386
501
378
866
521
386
432
680
403
389
391
525
526
396
371
412
753
388
404
668
441
388
701
593
636
767
721
516
482
399
416
392
537
395
637
485
551
643
570
388
403
394
781
397
503
596
414
397
606
471
388
451
448
376
375
466
939
372
482
392
412
386
601
397
623
803
411
636
384
550
410
673
752
466
693
425
580
405
390
399
539
466
453
495
388
408
412
424
355
390
484
773
546
478
440
391
396
412
380
457
386
384
502
423
393
384
433
398
475
382
579
404
699
553
401
377
760
403
396
372
368
563
738
684
429
650
791
404
396
797
693
694
504
362
473
353
393
429
455
504
441
377
436
422
650
556
408
844
434
452
392
406
384
400
595
381
604
755
542
408
394
371
390
377
543
396
421
429
457
392
385
810
379
365
438
399
666
774
629
684
573
523
688
388
369
536
381
386
378
367
386
505
350
411
397
477
424
392
467
720
740
408
401
399
566
394
442
434
408
395
647
425
404
378
443
530
429
422
452
702
745
409
449
399
417
487
367
405
422
402
430
441
732
553
464
416
398
400
372
579
436
616
438
490
462
646
381
646
408
416
420
791
377
419
720
405
492
331
407
379
418
414
610
400
368
476
382
600
416
389
567
355
361
405
711
408
608
377
374
398
409
361
554
405
405
748
390
356
471
357
479
743
400
364
368
389
440
454
391
437
454
861
370
391
640
508
489
447
379
414
384
409
350
612
500
615
440
557
671
615
412
492
413
753
515
459
399
584
452
437
707
517
366
654
460
402
369
658
407
377
622
624
527
392
459
848
418
405
651
415
414
469
398
414
388
396
512
377
476
558
384
802
568
840
390
849
406
508
781
390
558
594
392
505
444
408
757
390
391
508
503
405
781
385
449
549
398
430
370
396
398
371
866
402
371
364
364
741
409
475
389
501
393
407
803
459
535
407
664
382
720
685
431
570
409
401
479
395
395
420
411
380
405
646
696
412
388
570
814
441
392
400
387
450
431
669
350
371
874
396
586
416
443
475
370
474
422
420
386
385
406
381
549
559
377
491
609
401
443
388
380
416
600
626
406
611
390
437
384
409
385
382
408
399
374
408
397
500
385
849
398
357
540
650
412
662
400
483
619
370
482
591
496
517
712
536
380
384
399
385
388
406
794
674
799
588
381
398
496
443
422
391
504
380
734
481
442
832
417
408
704
396
557
379
373
384
332
406
418
362
447
529
489
407
551
352
504
609
426
658
674
449
631
563
394
504
618
352
373
397
483
486
561
518
417
709
460
501
443
695
385
704
403
629
508
431
392
389
618
418
394
595
521
607
416
824
681
387
432
436
437
369
528
448
652
381
395
384
504
828
393
400
395
592
405
369
389
379
622
412
663
846
869
413
417
459
411
409
387
409
503
646
715
416
397
386
419
414
797
379
390
419
388
840
450
527
420
506
376
880
720
399
710
434
607
514
387
419
786
396
403
411
449
699
446
385
437
371
411
529
749
552
669
489
455
475
411
416
393
661
396
760
459
372
683
433
729
377
386
529
362
377
422
391
376
747
506
358
836
925
369
397
921
556
386
707
391
378
589
355
401
412
403
492
409
546
412
538
488
405
421
391
385
387
382
462
842
421
421
739
373
438
405
409
619
463
719
419
423
395
644
402
463
388
441
485
412
925
538
417
702
422
388
416
396
397
873
406
421
412
683
528
553
406
371
536
402
808
440
423
415
405
400
741
433
413
398
795
446
629
389
425
635
378
396
428
453
412
370
579
758
388
875
618
449
663
388
427
438
471
393
390
840
458
382
428
743
377
400
505
537
380
396
544
397
418
359
521
419
425
371
783
435
421
457
399
396
399
453
405
766
439
383
702
357
440
534
398
414
411
399
465
565
416
404
551
417
683
387
402
426
443
407
503
427
734
759
391
407
391
384
501
529
870
671
444
898
703
411
663
423
394
398
411
648
366
383
398
732
610
837
373
387
903
384
423
400
398
499
430
383
411
499
394
359
411
415
597
391
419
471
400
402
774
431
376
554
407
637
554
394
606
396
416
376
429
496
390
389
523
486
421
496
426
389
409
395
482
756
390
451
400
433
442
400
464
738
549
383
460
401
395
382
437
419
392
403
698
610
426
523
697
848
539
411
416
377
555
429
433
389
498
537
418
352
484
397
600
705
694
402
558
418
739
404
391
414
418
388
391
405
628
456
395
686
421
653
555
398
401
560
379
372
400
681
409
924
382
460
417
509
415
634
367
730
366
523
389
414
439
678
736
424
415
388
449
368
680
650
372
522
411
392
523
457
583
713
399
665
383
607
450
394
421
394
403
767
422
415
517
783
861
521
415
387
826
939
677
416
403
715
368
422
394
389
386
379
468
365
383
391
556
824
411
384
580
465
409
423
498
377
653
443
411
578
606
665
539
613
845
469
401
436
410
528
378
485
416
547
859
507
426
386
407
409
405
547
420
403
435
765
443
585
399
380
863
399
754
718
501
407
528
400
716
392
417
375
732
749
413
420
416
392
412
477
386
418
437
530
366
393
406
397
841
394
399
411
422
639
416
588
678
372
355
487
408
562
583
388
435
748
391
371
474
397
418
419
424
397
716
429
402
365
383
379
399
387
775
513
571
675
580
860
432
622
918
475
371
400
381
396
670
612
618
399
457
862
584
414
400
378
408
534
446
368
392
474
383
401
487
464
438
941
396
395
391
460
766
410
395
520
377
446
691
411
413
353
488
592
405
394
761
389
732
375
611
487
423
395
713
636
405
891
590
432
399
392
372
896
688
390
418
371
523
677
370
417
400
404
415
396
644
429
404
582
807
548
402
393
446
473
385
724
644
411
374
514
669
705
589
664
727
418
923
411
501
391
492
668
722
384
435
361
598
613
390
424
462
431
436
631
631
459
417
401
484
523
409
383
863
468
751
431
598
524
410
385
418
370
359
439
402
509
425
396
387
394
376
663
503
487
401
918
405
777
436
405
690
422
570
461
613
433
447
415
814
392
652
417
793
680
543
449
508
653
854
580
403
951
548
473
410
407
467
431
411
388
401
766
395
607
702
389
408
950
376
646
444
416
425
603
799
413
414
386
573
366
462
411
539
384
580
631
374
376
387
417
384
482
489
772
415
403
418
813
405
434
624
380
444
810
860
547
789
483
381
401
729
381
390
762
388
398
389
379
374
650
487
377
726
786
471
535
691
389
389
388
484
617
729
654
466
454
744
395
486
455
729
435
565
513
643
393
383
388
801
388
387
385
491
395
672
440
646
438
455
378
429
398
375
473
369
631
400
757
399
399
414
390
745
398
407
643
437
401
478
422
695
544
677
392
526
362
692
402
373
375
446
386
366
416
524
394
664
396
578
382
584
627
423
395
851
386
424
423
573
381
409
418
835
448
474
377
401
427
581
404
423
409
386
412
616
402
367
445
421
627
401
395
399
394
600
401
535
461
576
443
391
510
385
379
400
393
586
373
408
461
562
384
395
402
467
437
625
391
838
392
487
459
406
386
384
429
395
397
381
529
839
395
391
829
600
422
717
389
385
722
411
493
928
385
587
396
374
375
468
403
479
442
597
491
440
420
373
388
407
409
406
404
674
418
380
531
400
537
530
751
431
398
414
406
656
392
385
428
499
645
400
364
388
550
435
588
439
386
375
809
438
763
408
419
754
408
424
567
407
428
473
400
538
379
846
573
645
421
438
402
399
768
772
454
387
599
483
539
446
421
809
386
764
422
422
366
386
460
801
421
642
536
443
708
827
426
403
401
833
417
545
406
412
548
380
418
484
380
402
697
393
388
423
394
700
390
399
398
494
397
678
555
401
783
386
623
473
429
403
452
441
393
442
395
689
375
419
418
392
502
834
556
403
829
369
704
378
454
639
391
467
420
408
377
586
545
837
404
858
405
421
431
394
421
666
443
413
429
517
476
464
563
787
545
396
409
576
437
832
368
895
420
391
546
783
511
377
382
427
424
552
761
435
690
776
390
429
404
460
423
519
416
402
864
388
422
417
393
406
357
394
414
586
698
637
409
396
381
480
516
408
843
402
405
598
425
792
454
418
556
577
422
403
400
765
425
747
638
587
415
471
406
423
363
672
753
504
428
740
577
563
437
708
600
397
796
714
480
533
406
415
403
686
392
432
407
502
776
665
638
563
601
401
807
723
735
393
566
405
651
625
426
414
409
550
521
407
421
631
383
652
427
446
386
470
385
535
576
575
754
842
398
753
765
426
792
814
437
419
443
741
410
408
401
381
420
417
682
394
397
418
347
440
395
386
561
491
443
622
430
389
485
813
451
418
510
417
413
414
386
391
892
702
381
683
398
668
822
520
474
384
491
740
724
520
459
611
735
394
398
537
400
418
370
417
882
850
456
414
422
470
452
560
411
701
386
395
596
400
385
867
388
381
674
372
421
469
416
382
456
423
643
422
410
743
387
381
378
453
404
797
405
411
425
384
651
406
727
613
430
410
426
607
520
427
394
917
410
957
494
398
797
403
402
404
500
411
624
418
906
454
764
426
476
378
461
522
430
462
401
427
397
671
814
404
621
495
615
398
395
427
515
404
686
433
517
452
398
407
671
498
516
499
409
600
456
676
411
406
673
396
565
424
704
881
421
410
536
405
381
434
422
593
621
660
507
375
449
395
533
396
670
450
631
529
435
499
414
402
606
500
543
768
393
611
619
716
571
432
395
782
422
681
399
385
408
408
485
459
505
815
410
454
731
377
405
427
400
395
436
383
460
528
421
459
424
429
736
599
414
395
508
530
410
507
797
399
498
387
510
563
879
503
525
405
393
409
443
391
560
414
793
400
603
386
464
422
414
554
610
442
669
650
573
402
385
412
892
564
383
441
370
415
636
418
392
421
650
400
495
491
420
457
439
372
560
413
403
386
429
375
373
533
392
877
462
611
833
653
355
507
646
528
393
518
627
680
591
391
420
535
750
662
534
414
436
618
694
388
358
403
405
743
728
670
954
405
410
695
424
428
413
438
586
401
399
423
447
493
401
637
411
412
401
415
440
721
414
443
577
392
405
518
733
587
434
834
768
389
404
638
771
435
785
432
749
373
422
419
506
721
553
382
419
411
365
638
394
412
388
566
438
391
418
813
330
393
411
381
429
518
606
563
788
415
837
413
389
403
406
468
400
417
449
431
383
810
706
490
393
458
405
445
677
418
406
386
417
403
390
763
632
403
605
411
847
434
699
379
751
443
396
403
738
355
784
401
404
415
387
683
413
416
368
410
410
437
457
697
407
466
570
420
375
724
472
396
549
585
552
421
461
386
797
401
405
420
419
392
393
403
363
407
432
554
614
400
742
541
377
400
617
417
395
379
771
545
408
551
494
673
417
853
425
406
514
412
745
396
622
369
389
548
429
546
796
424
470
710
396
828
387
772
872
600
395
403
467
413
559
413
438
474
784
376
398
387
413
373
423
409
598
394
729
745
403
412
844
416
410
577
398
606
565
402
412
735
559
540
411
440
495
491
394
416
385
666
699
534
838
390
444
525
465
454
394
392
401
565
692
464
436
399
399
468
412
585
409
390
427
758
490
427
607
419
407
523
444
633
413
401
380
483
678
456
470
473
421
454
754
385
431
406
699
388
447
416
480
424
460
385
408
387
404
531
388
836
378
467
379
540
427
536
789
487
422
519
515
668
680
420
418
411
650
424
555
441
411
423
605
393
532
484
425
555
444
438
604
530
428
461
391
460
409
575
409
405
419
368
688
387
449
415
383
397
598
424
391
428
380
371
403
677
440
478
609
402
404
472
790
797
418
398
418
404
405
836
395
535
493
431
442
633
397
391
893
404
444
676
621
393
415
410
387
392
443
611
410
364
416
699
617
928
486
452
409
410
371
383
405
378
640
628
486
430
869
591
417
386
436
854
523
535
409
420
437
841
410
620
408
746
787
377
393
748
394
566
416
444
812
760
454
594
726
421
378
476
390
390
436
398
423
791
763
460
381
407
429
408
383
385
387
388
389
608
786
831
449
748
408
805
426
411
461
374
382
389
800
418
423
374
430
450
415
641
450
408
412
795
374
416
380
434
507
425
379
412
441
403
683
606
411
841
395
416
676
405
417
392
520
448
611
520
413
778
419
551
440
392
441
446
440
490
463
435
388
385
421
607
422
535
636
426
467
442
673
388
827
535
644
404
440
596
429
520
829
414
406
403
506
453
718
419
414
444
526
416
853
395
483
375
636
866
678
562
404
833
623
678
444
393
444
559
415
691
425
397
396
432
555
405
920
697
527
396
397
525
420
431
517
531
498
474
653
614
540
409
804
669
368
401
477
411
415
427
730
433
441
446
436
446
442
389
447
439
586
371
495
406
425
867
425
420
415
416
680
591
433
528
411
369
617
392
811
425
399
757
411
418
386
829
422
820
410
380
943
732
429
413
408
359
713
459
751
368
449
773
428
386
438
587
598
602
548
642
402
413
635
407
451
406
424
437
420
588
378
401
451
504
417
598
430
650
385
407
672
411
551
397
648
632
418
425
795
407
506
596
503
462
419
611
411
486
412
539
407
457
395
465
427
438
385
813
522
448
368
489
419
424
560
429
578
607
424
426
580
592
424
799
459
403
433
539
412
750
804
811
621
440
438
404
454
575
588
458
421
514
558
408
594
743
378
649
677
413
411
782
399
413
534
758
481
433
544
413
734
591
469
637
438
673
502
448
727
414
541
424
409
446
505
412
550
593
438
423
387
415
606
443
456
422
429
527
511
436
377
432
665
430
877
850
437
401
661
389
717
426
394
394
676
375
797
427
613
489
442
661
610
410
815
484
420
410
410
409
432
447
406
417
458
794
424
393
687
673
516
426
664
835
423
635
634
362
600
417
399
350
566
747
430
398
403
866
418
406
424
492
397
553
420
387
401
536
378
437
438
418
435
361
427
401
407
414
408
501
888
400
777
428
419
487
643
398
412
419
541
741
455
407
652
416
408
431
390
478
410
423
786
421
452
550
406
438
394
432
575
816
410
401
425
425
724
418
420
383
417
417
401
441
538
476
429
795
630
422
453
743
872
460
417
454
417
422
440
813
422
410
440
439
469
713
430
386
783
388
496
624
600
415
412
436
396
427
497
703
401
534
410
385
370
542
443
398
706
401
425
566
571
462
535
410
702
460
675
410
474
396
760
642
549
438
377
431
363
441
399
401
527
518
391
794
406
784
618
401
421
453
710
570
642
395
585
879
767
420
727
541
511
538
483
870
471
662
437
411
824
609
422
413
395
411
424
438
414
833
410
416
527
387
632
429
495
804
429
726
438
392
412
500
907
427
648
643
685
439
404
718
399
519
442
590
713
397
737
620
406
428
461
554
381
452
441
401
413
413
429
850
397
756
460
438
422
417
682
940
465
525
455
440
465
453
560
412
412
420
451
391
423
429
409
411
404
687
758
408
564
423
875
406
628
417
405
437
442
423
682
655
421
384
437
424
489
399
816
382
701
742
408
435
434
525
449
497
420
627
388
415
397
581
414
594
414
583
431
415
392
416
429
516
426
500
620
835
439
466
401
411
392
494
429
611
395
753
423
907
787
421
614
741
441
505
651
696
401
407
401
677
416
540
810
858
381
414
473
437
854
667
439
425
467
613
490
736
407
964
396
404
491
625
540
365
474
391
435
432
412
429
395
400
415
564
433
422
409
778
438
444
388
822
391
380
712
391
407
654
427
395
431
429
540
437
535
566
415
458
825
422
852
731
407
449
700
460
524
565
726
775
495
448
588
409
426
634
492
486
396
410
423
407
388
819
391
516
468
550
704
446
492
450
421
443
408
420
737
449
777
448
498
387
643
413
362
420
408
718
511
416
450
563
437
416
655
561
577
436
652
426
415
674
411
656
606
436
552
442
389
413
419
461
702
408
387
430
422
405
396
655
635
630
816
598
667
600
401
726
392
794
441
723
477
550
400
400
445
582
424
471
770
389
870
706
410
404
416
737
491
654
463
432
563
444
469
398
396
670
416
492
416
738
404
416
399
398
416
425
408
808
421
396
479
391
420
650
462
424
706
397
405
535
458
428
424
524
413
572
444
435
467
486
564
409
431
771
592
513
659
665
419
419
860
406
482
781
512
721
591
665
459
394
767
388
605
685
426
564
856
368
434
514
458
436
425
424
401
890
426
449
461
534
554
419
670
431
408
726
464
412
724
424
831
465
422
397
424
437
502
710
499
405
406
414
422
710
401
412
580
415
407
418
852
484
525
484
584
486
478
491
458
361
412
378
412
436
420
404
417
420
800
416
719
402
830
846
659
416
456
407
450
522
727
838
388
396
825
396
408
514
399
443
405
733
546
420
453
622
610
396
443
403
737
381
406
409
418
466
384
618
506
432
425
420
499
416
440
871
652
620
401
452
673
408
762
404
790
406
621
399
459
434
546
692
410
414
689
602
464
809
814
482
573
886
421
734
719
438
524
438
428
429
416
600
498
489
424
617
466
405
336
378
656
455
490
459
391
492
760
382
790
396
436
396
413
725
563
606
439
423
429
704
414
602
620
447
410
408
433
530
430
455
659
522
453
472
431
432
532
798
423
391
436
535
441
427
488
635
458
622
435
580
609
421
423
580
386
553
454
399
412
618
514
547
635
619
445
409
518
422
392
397
420
422
458
606
610
445
732
412
788
406
454
443
651
543
429
823
657
589
411
462
419
536
420
549
376
418
628
479
579
503
780
409
401
659
506
415
560
464
446
474
413
608
907
752
449
429
737
378
417
451
474
438
895
396
424
756
511
435
609
889
446
516
748
526
734
423
589
648
417
518
625
410
681
441
511
531
619
735
402
434
606
434
754
566
406
441
381
497
425
491
598
483
621
418
430
704
626
474
412
398
552
425
440
432
429
471
513
511
390
395
485
534
597
787
407
678
430
481
493
570
431
437
419
366
549
406
434
482
422
427
389
403
780
437
462
691
380
409
607
892
416
837
571
398
408
412
403
416
420
794
418
512
691
513
430
417
428
419
453
574
515
785
385
484
674
443
462
403
801
427
418
453
465
475
866
443
413
408
675
423
635
827
415
700
710
421
385
465
571
657
443
433
490
923
541
403
471
418
470
822
837
726
839
799
399
505
614
419
410
579
426
438
401
587
885
562
428
567
442
459
593
627
428
467
431
410
557
545
657
440
406
417
467
421
414
409
452
690
422
903
444
700
622
422
442
403
891
561
485
809
869
555
463
489
414
464
436
412
405
637
547
603
906
418
741
658
397
575
403
400
532
788
476
560
428
548
424
376
414
744
390
713
432
433
582
490
423
536
413
418
442
421
427
384
600
526
495
398
622
678
608
422
369
617
825
749
401
678
835
875
481
607
480
902
605
430
482
507
532
681
444
442
824
416
449
620
877
415
484
431
432
392
438
442
424
868
433
613
881
697
428
437
444
427
467
445
409
539
462
522
417
389
401
452
571
638
407
523
418
376
474
414
883
802
711
576
408
565
418
737
705
662
489
448
412
687
372
556
418
458
606
630
441
427
402
399
516
380
830
428
501
707
500
415
448
614
821
767
860
428
410
422
428
684
838
467
411
430
481
407
439
397
622
419
650
462
748
407
436
433
441
574
450
663
381
421
414
447
514
417
401
487
861
497
392
440
690
412
455
393
413
368
519
512
398
415
408
592
590
414
484
440
432
390
532
435
426
515
665
439
412
555
437
435
389
451
774
656
418
736
511
387
398
407
428
462
417
791
907
497
450
524
418
553
615
852
565
461
404
404
657
404
421
426
402
435
383
426
880
733
409
477
690
791
445
427
802
398
762
383
403
407
449
507
403
497
713
903
788
437
457
584
410
398
513
434
443
799
424
468
454
384
431
421
423
575
445
405
503
427
430
547
684
540
777
419
409
423
527
438
435
399
415
470
556
437
413
491
410
465
654
461
399
426
566
706
399
494
687
432
413
554
508
422
449
420
377
449
769
781
456
412
667
417
400
740
410
427
421
425
424
424
642
404
422
408
418
781
673
667
742
412
710
428
491
805
659
508
726
537
688
430
491
918
441
882
425
426
408
470
680
596
414
455
551
503
432
426
430
653
611
420
612
432
409
430
753
494
409
387
459
419
429
398
391
527
430
431
438
590
416
404
417
911
501
430
718
502
413
391
425
418
493
516
639
751
414
439
458
554
413
738
419
390
921
405
742
630
454
460
409
601
697
736
896
432
500
421
596
434
578
519
440
447
429
552
527
487
422
449
425
918
408
460
494
505
574
406
395
818
662
448
740
460
738
410
452
469
451
418
423
628
401
476
443
437
668
404
358
409
442
500
407
697
491
538
659
410
408
518
442
624
601
849
424
414
407
452
398
431
472
706
428
420
521
729
416
463
549
899
437
503
457
680
426
546
404
766
425
454
426
533
433
651
437
429
423
832
529
422
434
455
422
512
649
422
480
436
413
417
505
408
713
500
462
771
458
406
821
461
640
455
638
505
447
392
652
700
452
426
720
844
428
472
644
458
415
734
408
452
508
416
745
437
537
421
454
423
847
458
417
515
435
449
403
542
401
938
419
440
737
749
441
645
476
567
424
391
438
366
564
437
414
426
524
395
432
764
508
414
427
513
536
441
412
603
418
865
365
409
459
426
424
932
394
564
623
511
599
551
421
393
615
743
769
721
462
559
596
529
658
439
463
588
564
422
464
762
454
613
528
448
438
803
860
693
397
467
422
415
454
449
500
609
420
438
542
892
418
432
878
543
917
475
400
405
638
616
737
599
409
721
585
754
652
450
499
465
657
528
409
683
517
855
437
785
570
619
546
609
396
452
722
604
422
393
414
533
429
435
486
418
485
611
541
623
881
434
438
445
420
744
392
419
433
463
560
429
559
414
434
421
440
439
569
456
443
690
536
406
744
437
407
510
391
431
648
452
422
781
425
391
421
574
443
491
661
590
420
521
573
458
515
495
423
699
665
416
428
600
533
407
391
678
451
865
838
620
422
492
496
741
391
551
676
613
435
443
520
405
674
453
426
491
420
438
413
512
455
434
566
446
813
739
439
449
437
474
430
456
407
422
412
738
772
430
409
472
460
418
422
480
580
588
479
439
427
505
583
690
791
810
809
726
423
426
640
447
482
438
599
451
437
396
430
449
411
394
764
634
607
550
617
539
417
429
452
524
431
420
438
781
639
643
772
428
632
429
630
624
388
479
483
485
442
770
655
714
503
388
608
512
438
561
480
610
479
456
419
549
434
696
717
446
567
734
476
423
395
413
426
420
458
586
425
741
717
405
632
542
604
678
418
923
478
480
585
490
784
418
531
469
386
596
500
555
455
463
543
441
607
440
440
427
417
438
455
963
563
667
409
410
538
412
416
463
446
398
421
570
658
414
429
507
418
404
449
695
422
562
394
443
700
669
681
531
800
533
418
438
693
421
434
420
717
445
686
400
425
465
434
428
440
723
440
415
513
524
629
591
556
424
429
841
596
415
391
414
909
445
385
476
413
403
803
414
432
398
421
487
438
432
423
840
385
430
791
782
550
784
414
554
423
837
549
466
437
499
785
465
436
525
426
470
639
560
396
415
800
522
408
790
942
378
877
442
518
372
442
571
725
520
506
447
428
457
414
437
508
446
488
430
453
486
666
680
664
621
422
388
449
441
630
530
413
421
463
437
403
666
437
447
642
532
554
426
472
485
438
721
779
688
652
431
515
405
580
461
432
727
570
709
809
469
470
683
409
723
600
451
427
406
452
482
449
518
412
655
422
507
424
404
753
403
609
403
396
483
424
588
467
549
496
472
399
440
402
408
577
467
472
664
501
416
411
437
406
555
450
456
763
687
444
415
436
620
549
420
426
510
435
487
520
453
397
439
708
451
425
438
536
437
423
437
511
610
462
422
590
436
447
388
424
868
551
744
422
750
519
657
413
471
490
468
886
464
666
482
424
461
414
396
437
703
407
415
795
511
518
436
556
714
410
422
423
519
462
414
707
718
429
428
400
437
414
442
642
612
410
434
504
417
591
439
419
841
432
762
547
437
637
644
469
527
556
785
753
426
406
475
562
524
416
445
443
411
446
805
392
448
589
836
526
613
446
449
430
477
665
438
628
433
434
417
535
487
446
709
840
443
424
522
628
615
560
704
907
399
398
525
407
466
740
447
425
627
442
610
447
430
482
519
512
588
705
609
436
402
445
425
424
470
445
514
600
410
446
507
521
461
545
402
441
418
496
493
748
424
518
425
540
440
447
473
814
445
526
404
445
429
467
481
523
429
442
696
462
474
862
411
393
744
635
469
413
782
432
500
626
397
633
855
454
410
393
410
441
694
460
446
450
600
406
389
436
373
581
447
435
535
916
516
411
502
555
586
879
648
911
432
546
457
436
450
759
384
443
419
513
565
401
739
475
427
727
733
920
485
503
678
795
478
707
435
644
553
644
565
485
493
565
699
416
396
581
640
671
428
391
594
834
431
532
769
472
393
471
448
524
456
495
649
623
446
641
414
775
473
538
485
496
566
456
426
436
628
426
394
737
437
604
404
701
465
453
442
684
473
627
781
484
473
795
429
613
428
439
437
828
760
539
438
442
589
411
453
421
464
654
859
441
413
532
447
431
582
420
616
442
432
409
420
410
423
384
437
541
462
422
411
433
691
438
386
652
416
767
448
431
868
432
888
417
693
424
775
767
773
431
626
426
452
634
413
616
368
428
570
658
504
398
758
515
649
416
421
756
436
413
469
496
490
420
422
490
433
694
423
513
611
431
426
428
443
405
431
465
496
431
422
542
615
753
486
498
575
576
799
574
466
404
430
435
411
433
426
697
873
442
671
568
588
633
453
577
678
447
649
513
844
891
420
631
452
450
415
404
394
422
439
624
451
433
719
391
688
446
411
634
411
411
390
752
517
742
406
493
416
435
601
402
432
437
498
790
704
461
416
423
451
402
421
538
426
592
385
398
414
846
427
437
488
610
479
610
567
441
589
414
555
769
526
404
519
512
514
726
591
440
399
423
459
429
458
460
416
478
428
406
529
805
419
371
636
450
610
440
491
392
852
387
625
459
464
631
656
385
427
426
464
750
562
512
389
826
437
733
418
551
566
418
430
413
555
420
419
746
778
636
420
634
391
569
425
432
434
440
449
471
834
439
490
437
495
474
497
424
601
450
445
421
449
564
417
534
540
485
658
434
458
441
418
428
436
690
482
457
534
431
445
426
419
436
595
539
619
771
768
439
530
467
912
387
742
412
447
810
436
544
422
553
445
610
441
440
426
443
505
472
836
450
521
442
588
405
402
578
640
415
832
414
745
471
411
451
407
500
429
415
432
420
417
419
402
498
417
443
406
494
422
440
727
672
413
443
424
437
448
541
741
540
451
439
436
557
437
414
666
663
840
436
399
728
490
470
811
430
425
475
451
454
575
457
781
816
433
462
412
468
443
968
677
641
488
581
432
770
415
480
479
421
459
432
442
428
447
409
419
458
422
644
476
480
403
450
422
379
524
621
445
501
608
405
431
637
799
440
516
437
694
747
428
535
420
426
426
433
538
424
510
404
701
443
465
530
415
578
949
493
742
425
614
443
486
416
507
530
411
722
479
489
477
696
652
450
464
417
429
476
624
447
633
656
585
478
568
438
452
397
598
453
453
440
602
693
590
395
456
432
541
433
452
405
459
408
509
455
436
655
432
450
458
553
747
416
487
526
496
446
461
714
577
403
629
841
467
486
757
481
572
420
500
425
697
443
537
847
408
739
418
473
447
618
772
455
419
714
577
618
422
501
456
431
475
678
872
444
404
436
415
455
457
421
642
464
598
436
446
426
440
477
500
822
604
433
403
443
433
431
855
519
427
456
571
475
904
447
460
460
445
429
756
429
829
583
579
527
427
623
549
416
737
669
665
617
653
551
475
438
583
457
778
405
442
444
533
648
880
455
406
651
529
447
535
641
465
455
435
833
411
417
404
613
771
901
423
628
416
462
439
737
431
455
419
705
445
424
509
438
707
466
448
441
645
828
394
496
396
412
558
547
558
410
558
517
552
461
450
550
440
404
750
464
446
448
433
844
566
421
450
484
677
413
409
743
680
423
902
406
428
674
455
429
510
439
415
430
517
430
427
490
530
511
631
427
835
811
426
802
453
722
668
457
895
425
433
886
634
466
373
465
406
452
430
442
749
446
402
404
700
441
529
440
705
431
524
451
443
746
869
450
451
426
754
537
434
682
619
467
616
769
475
671
578
454
641
395
447
464
580
425
436
442
693
586
533
441
430
589
451
448
434
433
918
453
456
450
505
439
439
786
434
689
435
484
424
483
454
707
651
448
486
633
420
431
529
511
432
446
432
447
413
480
446
457
474
702
474
742
423
713
456
421
428
523
609
478
697
412
897
512
407
432
598
403
424
590
432
440
744
562
628
728
453
393
439
455
499
421
833
726
980
720
916
556
740
591
770
458
431
440
716
472
691
425
403
413
450
425
700
645
570
449
700
424
409
467
768
490
522
409
414
456
451
429
436
664
722
709
438
465
393
527
443
402
611
534
597
621
424
924
777
816
434
417
463
808
445
434
762
707
418
551
417
426
404
446
436
904
465
460
413
510
431
451
449
839
432
406
975
433
445
426
426
437
464
443
553
490
443
459
448
441
648
411
472
432
675
486
554
762
558
424
467
469
443
400
409
432
401
430
506
409
371
405
434
592
639
465
621
463
485
592
447
392
590
434
433
469
584
826
655
925
411
668
601
587
451
750
434
424
460
424
893
653
460
742
516
452
465
435
418
607
439
473
720
425
567
470
529
615
512
431
475
420
413
438
484
469
682
460
420
658
459
582
492
430
512
534
442
439
501
823
453
442
448
706
467
511
675
463
424
830
452
590
426
418
472
403
423
438
433
410
421
793
427
521
432
459
460
476
440
501
471
423
856
547
606
780
548
570
670
585
579
419
430
419
541
643
451
444
427
430
470
788
624
541
411
482
452
750
442
404
418
460
416
435
432
582
401
419
421
548
762
428
459
456
674
645
533
431
450
464
633
454
516
776
508
591
426
455
462
437
446
460
435
576
672
579
433
839
482
416
439
393
482
736
435
653
427
630
704
433
547
525
492
558
442
640
671
790
891
436
446
448
524
538
778
465
457
459
420
868
430
431
435
438
436
453
399
559
448
429
887
598
507
672
474
493
614
477
634
459
443
444
427
438
583
429
451
782
513
494
434
444
395
410
438
822
667
422
424
759
464
426
800
449
463
444
864
426
820
520
466
790
439
695
786
725
506
595
699
452
555
507
425
706
434
408
869
438
607
526
616
449
444
489
479
434
450
434
732
706
466
699
451
919
758
773
907
808
491
611
435
446
733
540
504
577
478
454
421
443
426
455
665
766
495
453
437
529
452
444
491
470
421
890
738
426
452
494
444
442
690
598
435
549
427
456
643
438
439
442
469
439
436
450
814
495
762
794
655
414
430
435
689
576
446
434
482
453
417
496
414
488
809
430
644
446
618
417
767
462
710
444
437
688
431
422
712
633
735
424
421
412
659
423
953
416
446
440
487
482
457
410
443
624
478
537
429
426
501
436
502
443
458
751
505
498
484
911
528
456
417
442
446
483
502
559
473
419
560
467
778
542
449
695
440
911
842
779
602
630
581
482
413
423
773
757
413
445
459
543
511
507
452
693
445
446
468
448
419
432
524
454
538
438
493
417
455
519
486
450
771
451
746
492
471
603
442
472
449
494
409
869
528
911
805
632
750
415
484
819
425
428
664
408
840
471
528
873
404
484
489
426
439
464
572
453
418
553
399
451
558
456
444
407
705
520
484
617
409
485
422
479
741
494
562
549
561
422
493
433
673
522
854
424
420
561
429
720
654
427
606
840
414
671
456
452
534
699
924
428
402
571
442
457
436
474
817
412
432
446
822
439
401
618
651
421
430
735
452
569
498
559
507
444
405
496
539
425
476
550
457
472
686
418
412
745
827
573
423
709
419
419
522
510
584
452
497
446
507
753
462
429
459
512
468
684
442
403
448
422
636
427
427
485
417
561
554
691
598
564
633
442
473
751
599
467
426
401
879
441
456
386
387
749
464
917
468
575
481
430
770
448
628
602
516
471
409
440
804
369
738
621
895
413
406
450
578
570
438
796
699
444
440
502
409
399
427
753
743
548
708
562
521
634
567
705
406
521
801
441
679
594
592
489
466
551
413
468
520
448
442
484
442
628
436
614
667
430
408
563
433
485
442
587
590
455
527
537
432
424
419
537
661
402
430
674
505
419
607
650
471
859
465
511
613
776
424
806
465
933
428
401
450
513
446
563
516
489
406
612
438
446
429
422
475
569
438
456
461
450
429
652
390
430
425
412
790
737
699
450
797
432
514
707
444
435
694
538
415
568
723
571
462
449
633
718
436
427
496
778
459
439
415
412
435
654
420
447
446
461
525
787
446
623
485
451
442
846
456
418
429
719
442
447
454
719
674
564
427
395
507
419
444
487
473
432
597
634
447
591
452
436
493
844
438
432
414
447
427
571
477
406
446
454
400
432
433
745
528
581
597
445
737
464
457
467
419
481
461
931
449
451
407
459
516
474
794
729
395
845
541
413
497
775
491
456
887
457
443
426
424
524
536
532
578
684
907
435
552
751
422
429
649
456
619
435
435
877
459
477
721
920
453
845
833
454
562
763
428
520
479
644
536
430
461
564
650
534
460
486
431
456
558
489
524
442
581
501
459
415
535
459
937
659
413
432
775
433
467
548
619
531
420
435
661
447
655
446
481
527
671
465
416
383
454
435
512
438
686
469
457
500
668
444
426
446
536
425
445
853
459
465
429
532
448
454
515
472
438
527
484
595
473
469
397
460
437
423
858
400
435
626
642
420
523
448
454
461
662
593
432
463
451
786
494
428
627
449
438
691
853
538
443
451
675
578
844
882
775
478
432
954
440
470
771
542
438
545
462
798
451
859
846
442
800
660
846
422
813
443
443
744
582
432
940
453
911
478
501
421
889
951
444
452
613
438
504
718
443
459
446
438
582
455
556
867
426
691
460
406
446
723
487
491
463
438
506
456
650
494
624
426
412
457
457
444
444
445
754
422
592
456
532
456
422
462
680
837
754
440
428
377
440
509
688
433
569
409
533
433
591
609
467
429
472
842
414
482
564
962
474
429
512
562
917
440
594
715
583
435
439
677
455
400
533
437
373
512
508
562
434
496
423
551
788
501
505
520
454
512
784
441
439
700
598
415
473
544
409
463
431
540
773
455
444
481
412
569
452
426
695
726
407
462
439
411
465
491
441
477
677
427
481
717
473
439
803
436
431
453
456
532
440
762
422
442
462
427
516
550
555
630
426
653
448
439
450
470
441
442
707
462
533
633
404
447
435
458
422
587
705
529
425
455
666
442
628
586
434
426
470
702
521
432
465
427
597
735
799
474
626
597
463
797
465
407
442
435
397
437
878
401
716
424
443
433
732
445
427
457
535
586
834
455
509
452
451
476
779
768
443
563
439
664
671
472
519
443
728
708
442
856
609
450
407
425
474
593
422
477
601
613
782
491
433
482
611
430
515
472
802
438
473
455
423
523
560
568
858
770
485
579
438
507
550
872
736
456
454
499
499
728
568
444
459
604
440
621
452
516
476
825
692
443
526
623
448
498
451
427
433
448
418
413
605
633
417
414
949
897
473
439
798
480
435
527
635
568
694
423
426
535
404
439
448
710
447
641
456
572
779
448
645
411
452
470
432
449
435
474
470
429
620
564
580
527
433
444
498
758
914
840
657
541
727
480
498
486
416
472
434
408
509
482
443
537
468
687
643
755
436
701
467
920
585
728
477
812
785
664
449
457
407
835
471
440
425
765
447
481
564
627
436
724
478
461
914
776
469
594
469
599
710
424
729
463
600
588
473
729
791
445
463
563
457
731
462
470
405
427
465
477
464
586
430
703
478
688
420
880
505
901
442
458
494
474
470
630
462
509
420
477
509
774
430
422
908
498
469
469
659
441
535
876
718
675
561
780
444
604
662
437
553
633
516
431
438
637
460
427
500
427
478
407
527
653
435
413
863
661
444
648
460
426
666
537
425
427
441
510
443
479
449
504
622
719
438
461
460
421
447
752
434
459
478
643
871
461
865
708
638
439
545
788
732
468
436
425
488
601
507
457
803
478
714
492
865
748
521
469
675
468
840
962
535
388
495
401
460
809
413
461
916
487
426
536
533
471
466
483
448
625
424
590
475
860
626
749
791
420
445
453
469
456
443
543
499
459
459
496
803
462
633
721
467
746
429
566
418
854
441
429
569
640
436
795
466
753
685
532
576
656
809
816
593
445
463
624
398
561
484
523
487
429
444
428
801
959
772
551
774
699
419
423
425
436
423
867
394
446
683
403
623
455
643
762
470
696
557
458
593
517
714
481
620
424
564
482
645
423
438
482
439
453
502
525
436
503
633
535
446
687
776
633
450
446
451
704
484
432
609
451
791
739
433
447
517
813
436
455
452
692
467
427
439
438
519
528
478
452
457
521
886
708
453
861
501
734
466
512
446
448
665
476
426
477
463
475
613
452
817
441
697
466
722
708
723
787
469
875
460
457
435
471
580
422
412
671
476
581
814
635
443
728
436
438
524
699
571
581
454
507
435
415
437
408
494
496
465
435
464
399
607
811
646
484
644
418
559
846
484
775
453
445
706
471
438
596
447
663
424
649
719
470
447
438
454
562
597
488
447
453
801
427
868
466
470
431
623
446
452
659
509
512
405
551
474
946
728
819
830
417
415
542
708
460
656
789
439
457
436
435
446
436
473
593
613
436
890
414
549
475
527
511
461
667
485
405
446
490
728
441
807
421
545
705
419
742
827
415
449
459
545
435
436
427
466
454
453
779
463
473
473
569
719
466
902
468
485
417
462
539
564
450
477
456
547
430
455
504
448
533
452
471
802
447
466
473
869
621
429
816
422
472
453
470
433
490
870
446
442
467
437
456
497
863
428
474
512
706
474
463
536
509
447
647
782
630
459
444
465
561
463
457
433
447
684
600
446
413
479
425
396
429
560
482
455
471
490
440
523
586
909
675
457
603
592
671
586
602
633
812
466
595
458
467
482
458
415
553
447
570
442
445
441
451
695
544
497
747
700
425
468
452
508
694
437
388
468
458
455
432
475
403
522
436
456
497
689
483
683
659
456
443
461
863
436
703
484
451
454
441
471
538
676
439
421
580
608
462
585
751
554
439
829
463
426
657
448
645
622
603
533
661
743
631
473
653
514
430
577
562
455
423
437
905
376
440
780
451
477
464
698
508
440
429
484
485
437
591
470
702
567
472
621
527
489
621
432
515
725
500
561
568
438
635
831
459
837
898
552
735
676
423
744
474
567
444
802
418
433
714
494
600
453
481
426
480
457
670
526
439
649
435
581
437
395
443
448
459
875
438
807
847
513
762
872
421
554
437
414
474
458
476
420
454
657
488
469
599
435
477
871
509
456
884
429
494
434
447
443
448
523
589
875
480
781
552
507
686
468
611
858
485
431
461
478
648
723
440
421
673
482
472
463
455
596
442
528
433
853
430
434
420
663
409
446
553
471
710
429
558
456
524
449
500
659
455
902
556
403
474
442
721
427
746
849
561
436
459
410
683
540
466
450
572
753
603
431
685
430
411
504
685
464
417
709
861
667
603
755
430
671
548
440
650
449
724
445
432
464
462
420
751
422
514
454
547
465
402
455
446
465
453
463
541
424
658
431
461
459
533
594
443
450
453
427
439
461
445
623
501
450
646
450
717
780
800
455
488
508
487
842
472
448
425
607
444
430
542
660
436
455
911
517
481
439
432
685
466
485
457
478
471
528
520
611
748
489
715
469
461
797
469
478
474
441
602
756
681
606
785
882
431
433
550
453
532
434
715
429
599
665
404
481
436
717
502
539
457
831
447
610
514
634
682
725
554
504
490
777
454
435
502
818
438
773
769
661
644
407
463
441
489
434
806
460
446
552
429
666
437
665
592
471
490
486
429
848
416
558
653
707
569
648
510
471
474
446
450
572
741
495
485
419
453
459
515
625
698
474
470
551
580
437
468
441
492
483
574
414
462
484
463
461
505
726
542
460
760
610
494
410
656
499
826
464
428
441
643
445
536
628
490
673
485
458
469
459
646
449
447
483
802
755
471
610
732
805
444
464
858
828
428
710
422
673
489
790
447
462
448
620
628
749
448
447
469
547
473
450
680
896
478
480
584
575
491
632
501
637
497
462
531
430
930
457
534
456
790
735
445
448
551
443
784
648
670
538
556
466
675
694
514
458
439
441
585
615
517
446
557
606
433
416
561
452
520
534
440
500
510
481
506
748
561
905
452
440
480
491
463
423
500
488
948
513
457
884
537
580
476
433
560
475
496
435
444
746
505
906
464
471
469
884
439
787
464
463
441
426
480
488
584
458
868
467
734
553
705
594
565
772
640
769
784
740
632
702
473
607
667
445
661
726
564
766
445
428
517
850
493
401
522
485
440
487
566
494
409
628
630
672
688
890
479
557
461
458
466
509
432
505
437
442
444
410
536
669
632
402
453
463
501
708
483
602
481
549
474
521
459
635
458
708
443
459
482
758
475
745
447
634
476
441
649
453
459
495
436
700
537
464
498
434
506
688
791
645
468
431
633
917
531
467
459
488
424
440
558
449
461
467
461
686
456
834
573
442
440
856
471
436
804
820
817
456
460
444
456
719
832
578
640
473
480
677
494
433
472
514
777
456
487
456
650
532
733
465
935
468
464
451
448
467
494
461
871
421
432
797
484
461
425
753
489
433
820
720
680
454
843
601
854
695
810
917
419
461
424
594
451
552
476
422
523
849
439
687
434
519
475
731
631
446
883
733
451
746
478
472
461
584
806
448
451
757
463
707
467
548
743
489
516
489
460
605
445
587
706
461
695
875
858
867
475
642
827
691
696
471
582
793
450
471
744
848
515
444
445
634
677
619
499
405
418
436
650
475
527
606
470
747
422
479
684
749
530
549
441
733
529
612
566
616
822
702
919
475
849
448
477
474
418
465
587
703
426
421
494
442
471
437
620
731
565
445
454
512
559
433
673
792
442
675
454
728
465
480
449
440
766
819
433
535
472
469
467
695
658
726
463
442
424
454
467
474
519
697
549
810
446
728
445
453
444
442
747
636
691
481
414
792
944
498
834
432
460
594
688
401
876
446
450
465
492
461
745
522
465
488
501
457
468
469
438
708
466
659
463
719
457
706
438
496
453
717
433
614
501
840
561
419
547
780
716
436
445
451
488
436
472
524
458
508
434
468
497
479
849
689
762
589
456
643
565
512
480
622
811
582
448
457
469
478
426
616
445
450
466
447
442
523
822
453
729
644
663
477
430
546
471
522
706
466
455
583
487
483
848
576
514
473
781
450
589
486
575
444
458
437
531
778
449
433
630
462
471
583
432
716
469
714
538
472
599
536
522
474
444
418
557
423
552
426
706
429
458
540
499
473
799
685
465
766
598
496
925
444
447
510
458
688
481
449
475
507
681
435
469
473
660
870
461
436
436
458
439
467
440
499
456
446
445
440
446
685
471
454
923
481
529
408
466
519
769
638
483
430
472
745
439
583
492
440
445
448
501
512
658
451
636
500
431
755
559
725
850
475
700
425
458
559
635
667
663
838
483
453
432
721
639
447
468
704
469
652
428
471
427
490
750
434
456
403
433
511
457
479
464
448
438
469
456
456
476
554
444
585
459
917
524
426
776
513
447
423
450
660
436
408
524
649
465
654
757
510
866
431
651
536
474
571
483
643
445
551
779
437
462
555
431
675
427
440
478
850
429
434
795
623
446
425
478
462
744
548
409
411
806
505
805
576
539
581
492
807
751
722
442
457
463
888
424
469
663
500
468
526
530
449
655
655
590
798
547
460
508
435
798
598
656
492
447
456
467
647
454
640
453
450
647
459
525
926
581
535
521
432
479
474
750
467
567
658
441
595
597
433
478
587
651
460
492
501
457
493
451
452
458
583
554
811
490
608
558
569
431
730
467
417
475
650
550
463
579
440
803
584
526
656
625
428
858
858
650
504
477
440
819
714
464
682
527
455
886
459
469
466
686
459
583
577
486
524
511
475
619
451
552
861
568
475
626
454
702
572
466
459
464
827
832
451
450
456
545
474
687
885
678
449
805
467
455
498
501
461
429
460
902
486
775
449
464
480
512
662
838
469
808
454
476
470
508
703
478
722
514
467
480
674
736
422
668
448
462
731
665
427
458
535
462
455
466
654
865
456
886
442
656
420
462
451
469
454
436
478
469
474
649
430
464
865
714
573
768
674
443
463
458
646
610
538
436
443
661
458
552
499
551
459
512
718
464
676
476
481
442
537
488
454
790
451
414
424
813
665
496
450
474
477
521
548
453
782
446
438
428
557
555
641
772
460
427
478
480
767
672
443
459
572
451
501
634
638
453
490
483
466
786
531
470
420
522
621
495
697
725
576
462
817
450
462
644
703
494
734
493
482
640
623
507
421
906
462
459
730
448
443
578
681
898
835
442
597
817
446
913
570
491
814
434
473
559
782
463
957
884
854
864
499
765
594
468
417
441
535
565
845
511
485
429
465
569
476
460
453
629
449
608
429
588
461
471
470
599
494
594
476
415
476
499
449
472
794
418
792
477
533
563
646
490
514
721
635
836
458
728
591
518
470
460
491
597
621
481
478
779
713
549
492
627
523
438
601
446
910
661
673
782
445
596
600
420
484
459
517
652
695
436
454
829
496
774
437
447
737
463
553
487
477
456
838
463
435
561
465
411
538
650
439
506
661
457
461
560
879
489
479
520
823
488
435
498
460
645
559
446
484
583
498
447
399
501
440
646
518
488
459
462
478
421
492
441
787
462
497
607
473
556
453
483
477
733
564
779
450
667
465
455
475
400
610
641
482
479
451
581
466
531
427
423
905
851
876
602
430
769
532
468
570
447
443
855
752
504
617
699
533
459
656
641
860
579
464
607
476
544
617
463
561
463
425
620
477
498
437
645
479
450
474
537
467
472
472
477
441
644
540
619
483
439
467
489
458
717
483
523
438
541
442
465
670
457
561
477
555
435
472
812
504
481
614
476
466
464
446
469
822
474
690
531
513
565
503
584
481
489
580
511
467
607
703
483
697
438
486
723
475
546
665
578
736
741
446
462
503
631
451
628
565
512
459
657
480
655
454
475
416
574
568
505
595
456
459
724
877
500
470
444
549
658
554
565
571
835
701
417
490
895
461
458
690
834
481
444
466
539
442
619
593
582
512
476
466
494
945
455
596
557
640
437
472
439
715
433
562
435
473
573
482
474
594
710
524
459
463
434
515
472
491
412
696
859
429
690
568
441
496
771
588
519
460
469
445
505
451
924
451
508
481
464
525
667
537
468
516
473
489
567
443
556
723
522
559
469
444
687
508
748
473
463
458
512
461
534
445
637
473
470
513
699
521
476
506
716
529
814
655
586
430
457
486
479
452
440
480
494
480
490
415
516
625
713
452
464
451
526
520
540
592
452
580
463
861
589
481
559
462
693
682
539
623
832
476
471
693
606
460
455
783
579
444
434
560
515
539
482
811
441
857
540
460
745
482
474
464
471
555
532
514
447
650
509
445
463
446
606
417
642
491
576
708
477
676
682
695
652
897
448
479
431
691
843
446
710
712
459
441
502
455
474
454
484
660
799
615
411
628
447
460
426
635
789
489
479
928
435
439
506
638
638
890
455
567
461
476
565
589
733
441
565
424
838
700
600
557
462
591
479
818
848
434
526
550
569
616
580
657
447
660
681
530
582
459
597
616
791
449
621
841
549
642
510
736
725
453
737
434
448
490
431
437
745
662
936
885
497
487
489
538
435
832
470
773
655
506
822
804
513
504
575
846
455
692
543
867
449
526
470
716
506
439
473
451
585
580
522
524
712
456
664
503
461
471
461
673
566
489
833
432
860
432
641
509
592
476
812
605
450
453
469
454
439
472
483
446
470
482
478
709
587
451
774
671
442
668
571
485
417
442
632
471
690
466
880
475
594
473
465
446
589
467
455
478
467
452
630
596
422
461
802
520
489
749
775
471
475
708
468
468
520
793
510
454
468
476
565
457
522
748
468
551
477
436
512
465
481
830
460
604
427
458
628
430
499
481
474
462
467
839
740
568
445
722
655
465
561
674
669
500
463
834
524
570
494
543
704
447
439
466
489
446
536
523
476
481
545
741
467
558
466
684
627
449
455
454
484
820
945
470
505
652
457
588
437
617
501
474
462
785
454
765
446
789
469
476
619
471
447
620
438
746
773
644
466
491
740
635
526
437
460
491
490
434
756
445
484
651
456
467
490
509
586
744
463
749
497
797
657
725
727
640
468
448
569
502
729
451
859
451
655
493
487
442
527
468
637
622
586
594
452
548
853
472
474
500
571
661
533
672
448
625
476
545
478
469
770
470
453
524
443
656
587
712
487
459
459
741
871
449
456
549
473
499
732
441
615
581
622
801
518
830
583
735
791
717
471
665
429
517
460
631
738
434
447
447
863
906
693
486
816
919
470
464
941
714
523
451
439
460
547
487
601
585
620
760
445
467
776
781
535
519
478
504
484
802
454
607
445
598
774
524
428
697
514
437
485
463
489
467
429
464
536
520
788
668
444
428
547
861
829
503
462
526
627
502
483
860
522
477
498
459
460
842
724
454
511
470
460
453
748
497
848
777
439
476
431
575
516
508
505
668
520
581
511
571
599
628
545
615
711
635
488
442
449
635
527
745
457
471
445
527
760
791
890
634
458
486
493
438
671
714
445
510
447
498
565
481
639
455
464
469
451
429
440
466
784
445
434
462
903
464
479
420
550
643
481
475
499
564
573
770
463
825
470
463
476
451
475
469
745
472
576
817
530
483
542
562
783
462
448
458
845
458
464
873
468
527
859
455
609
485
939
515
441
699
826
442
487
691
600
546
571
749
678
467
748
802
617
451
450
694
486
663
458
657
402
487
702
879
504
908
527
860
463
611
542
526
445
455
504
434
732
489
539
445
804
752
623
539
588
645
758
474
477
464
476
488
469
404
444
448
499
635
760
465
456
612
821
681
781
444
554
512
630
458
709
479
501
478
458
445
731
892
433
580
474
613
555
433
538
462
469
477
435
421
816
430
513
516
483
448
445
961
485
687
478
566
447
866
807
506
393
459
439
858
484
650
507
403
464
472
930
477
442
786
506
505
477
671
887
690
744
570
493
463
706
494
622
605
646
495
944
591
455
762
425
452
712
587
588
447
859
455
482
800
571
515
469
484
463
551
869
471
476
579
477
745
433
480
661
478
477
947
456
866
771
492
635
518
430
491
458
452
435
625
428
463
507
726
502
467
621
653
726
591
742
440
451
445
536
536
500
448
710
821
578
467
491
453
452
704
477
552
527
686
516
448
528
671
774
740
486
453
556
486
573
477
780
485
483
763
488
495
890
481
877
478
464
479
840
579
889
465
600
672
574
586
599
471
465
582
456
446
660
792
604
452
694
446
518
490
458
654
622
467
667
495
417
683
520
458
575
454
416
432
547
462
428
784
851
477
434
504
547
457
615
626
459
509
852
456
667
454
439
507
876
495
482
478
481
454
462
518
457
560
482
463
463
459
476
529
465
488
562
576
551
656
623
502
493
684
504
552
776
451
693
512
634
737
757
613
503
472
504
450
468
688
574
465
709
584
813
469
494
489
434
731
461
498
466
470
510
515
459
468
642
711
495
470
478
438
459
472
464
467
489
715
582
825
628
440
449
457
810
714
578
817
455
495
472
521
821
451
578
472
467
439
479
787
430
594
939
480
654
654
641
546
611
560
481
517
465
840
459
485
466
479
699
802
463
450
627
836
654
423
449
873
864
798
503
519
485
889
513
565
463
448
661
418
594
738
466
754
486
474
570
618
765
442
475
445
519
931
504
828
481
718
475
445
435
767
483
446
494
723
551
574
455
480
427
805
467
512
457
704
662
472
491
448
568
884
472
455
467
652
464
630
467
455
740
633
742
462
790
536
557
543
883
477
833
488
467
452
477
473
465
489
424
618
476
499
497
802
461
504
457
493
496
790
485
441
781
489
465
562
495
494
454
615
609
864
830
467
785
475
475
601
439
882
462
478
473
451
833
736
726
453
460
526
689
460
462
469
473
444
682
598
404
522
598
472
454
487
591
509
421
504
491
501
636
737
468
513
481
630
539
424
526
464
472
730
810
489
721
722
475
483
643
554
474
672
482
720
769
438
537
484
476
761
457
595
623
787
785
854
607
758
453
445
788
434
462
452
544
589
540
560
615
637
578
579
452
488
621
441
906
477
513
455
490
697
587
495
790
497
881
603
715
531
494
476
468
546
625
732
493
435
458
479
870
712
935
470
822
503
543
486
498
460
582
577
491
582
426
447
768
523
592
784
460
456
481
596
480
622
757
637
486
525
534
464
534
460
474
770
450
600
478
937
447
511
438
618
947
449
675
491
509
471
956
507
552
583
781
714
535
577
615
456
456
648
594
633
462
463
556
716
474
468
761
546
467
639
575
792
560
536
447
481
638
485
461
437
640
452
608
875
544
465
471
491
470
451
427
928
833
560
526
454
464
704
442
483
491
450
511
444
501
601
587
506
502
425
461
816
484
485
496
584
434
447
591
794
472
506
582
483
489
456
548
508
733
493
462
589
491
465
508
556
595
706
441
484
541
663
529
473
436
468
480
413
445
491
553
804
474
480
521
735
554
955
466
455
495
457
690
470
706
787
751
564
488
687
717
622
963
937
448
825
664
463
461
629
457
489
844
518
499
629
461
652
483
679
507
486
524
460
569
469
650
471
501
628
487
481
750
514
773
456
799
724
471
683
600
709
462
862
488
463
530
495
605
444
470
745
459
461
850
632
471
503
695
713
850
709
413
474
594
693
464
466
779
889
739
558
462
571
532
453
884
483
567
727
463
530
464
446
570
778
569
474
428
486
490
686
467
791
741
499
719
624
616
465
663
581
559
811
476
484
469
470
470
638
490
626
548
622
673
690
456
622
712
680
766
503
498
431
627
431
485
481
490
533
495
744
443
423
423
530
683
473
713
477
461
448
466
507
538
445
584
786
458
545
469
479
422
639
458
481
485
540
458
597
517
465
467
552
767
648
519
792
658
845
514
437
855
483
463
471
450
494
478
442
543
438
464
571
661
496
460
570
631
607
471
442
494
533
486
506
497
461
516
462
664
733
825
538
467
456
496
455
523
457
688
471
588
485
636
516
574
451
785
663
478
480
612
792
664
750
670
503
803
548
724
462
486
650
512
436
466
496
463
490
564
525
429
482
545
442
584
516
641
466
463
471
649
824
530
435
749
586
443
585
631
558
512
437
443
807
445
474
414
727
452
531
430
492
433
446
668
468
484
519
470
516
627
434
476
764
499
486
459
551
507
850
796
681
477
467
543
494
590
467
575
461
740
566
419
581
721
499
457
518
443
581
546
734
497
752
463
805
553
480
473
460
526
721
460
664
450
762
787
645
580
496
510
579
636
490
530
544
734
510
433
441
740
465
454
429
420
915
522
645
453
490
550
458
465
436
483
644
455
679
469
900
522
474
656
708
458
558
502
591
437
751
434
462
491
446
652
483
636
719
474
770
525
609
490
687
528
631
469
869
483
444
457
530
449
501
899
446
629
481
429
605
657
463
517
462
441
590
433
433
893
684
517
533
700
862
519
769
497
628
662
500
892
474
493
569
548
555
516
440
815
425
625
672
890
482
579
492
434
492
436
489
692
470
433
471
481
457
511
560
658
827
449
465
466
522
559
551
552
834
562
511
596
455
433
679
465
468
500
434
425
491
464
754
440
640
469
555
638
804
610
465
751
465
541
446
732
486
835
606
715
521
445
476
584
451
455
561
568
437
477
513
471
612
836
858
584
472
490
529
481
477
731
493
836
706
540
613
570
482
462
680
893
594
757
604
526
860
446
669
726
493
785
742
513
777
631
454
496
857
619
521
528
791
579
462
527
689
475
493
555
715
678
450
467
486
460
556
548
490
481
476
553
549
561
601
909
731
508
735
466
660
687
501
458
466
482
685
600
544
875
703
582
553
481
520
462
446
479
495
765
452
468
479
482
532
480
770
804
459
509
765
559
861
475
448
490
528
736
478
556
472
803
606
541
450
560
617
471
492
791
493
456
562
522
830
457
805
487
494
506
595
727
541
566
496
497
875
635
471
492
458
617
489
446
662
853
755
671
887
747
452
623
482
474
538
470
441
613
507
520
687
479
617
468
671
452
471
454
442
460
467
620
748
657
432
641
452
825
806
430
514
510
537
472
461
454
868
504
459
490
528
480
492
455
492
578
486
476
637
664
866
521
545
450
693
481
692
552
925
490
622
901
764
463
747
482
468
556
450
527
484
454
770
838
459
589
764
755
509
854
720
461
833
487
906
439
621
521
496
463
476
905
537
440
499
488
739
470
469
512
922
493
698
692
814
452
929
449
472
464
442
780
636
447
671
517
459
665
501
482
601
665
487
540
809
598
696
517
574
528
606
581
489
515
703
489
487
442
721
499
510
760
441
452
479
496
475
475
441
458
770
637
726
474
449
569
776
643
712
551
488
587
593
457
468
473
436
468
706
811
824
803
508
505
507
445
542
646
464
484
491
520
456
468
639
512
818
474
764
528
625
707
803
469
515
727
457
464
499
481
697
482
651
427
532
565
725
437
724
508
520
481
455
505
560
568
455
812
531
462
692
442
474
849
464
475
826
660
705
653
496
885
682
485
644
864
509
472
521
671
539
742
818
523
520
495
750
446
778
571
501
451
653
491
485
449
489
485
704
489
475
455
680
763
533
506
912
607
503
527
455
492
634
486
510
485
457
535
434
471
878
469
563
715
440
493
539
506
500
571
725
527
458
787
450
475
594
452
487
491
790
502
471
810
504
531
724
575
500
534
838
489
491
840
475
628
545
499
495
497
540
448
482
695
613
481
582
458
469
766
474
497
790
442
486
488
476
473
472
480
476
666
462
744
492
710
494
466
683
716
450
816
707
452
489
489
514
664
714
881
927
705
630
529
875
480
475
748
561
476
540
484
736
625
798
499
575
483
562
473
567
601
832
493
438
576
492
605
532
742
508
489
412
608
482
708
512
487
567
493
826
809
581
495
453
477
581
842
875
505
607
700
580
454
483
476
790
444
602
600
516
495
587
633
469
480
560
498
461
459
733
474
708
645
432
783
452
560
801
756
504
744
884
596
589
496
435
439
453
516
531
460
702
491
871
691
890
513
526
464
585
533
476
469
498
497
525
469
791
572
493
538
511
904
450
485
490
729
824
536
883
829
598
509
480
662
880
438
554
471
492
640
636
471
805
752
518
521
698
921
444
490
761
447
540
775
521
516
514
878
444
457
501
841
538
669
683
505
476
481
466
451
665
692
782
480
721
560
499
563
490
479
445
484
509
621
571
885
464
447
790
706
455
561
471
506
698
474
595
551
514
451
813
442
546
497
442
514
615
671
495
522
662
920
440
487
478
717
450
551
444
658
495
649
527
705
838
496
467
842
930
503
458
468
480
456
540
540
468
583
757
734
566
590
513
476
460
499
522
485
549
452
500
805
673
798
664
449
735
547
713
659
560
683
605
518
444
576
484
493
844
780
484
545
853
466
504
692
818
591
481
677
480
478
468
553
480
580
471
702
485
470
433
740
482
564
497
468
701
668
463
699
540
484
536
586
458
568
447
587
510
447
608
504
813
645
496
441
498
733
583
872
602
655
637
712
653
469
623
784
700
682
733
471
530
503
516
477
725
847
470
740
656
818
468
678
490
487
768
564
493
500
696
693
517
606
485
479
478
745
730
593
527
477
480
579
569
468
512
789
776
606
859
651
492
458
499
454
602
710
500
490
498
459
692
675
509
469
488
458
489
717
796
485
475
485
682
452
481
684
659
460
849
552
496
459
882
622
703
468
500
759
905
751
490
695
475
550
539
602
519
634
479
494
492
561
542
460
527
654
451
526
519
565
526
617
567
462
559
480
554
876
418
466
494
466
754
880
568
512
510
535
491
696
650
500
499
478
575
571
574
710
502
503
729
478
604
443
836
490
556
564
551
498
559
470
457
459
450
428
498
685
481
509
807
489
622
794
479
804
455
514
478
478
754
563
510
725
445
470
513
545
608
483
820
600
580
476
464
505
487
588
486
726
478
606
744
466
718
536
557
668
636
447
541
645
680
587
728
501
441
478
545
735
678
671
696
507
957
586
487
472
453
782
747
481
472
585
483
624
438
580
655
613
528
466
804
512
480
461
476
449
639
503
481
590
483
588
480
483
532
685
810
576
683
490
508
471
846
472
630
500
604
633
881
490
485
568
464
440
490
419
544
667
603
463
903
466
548
950
477
532
588
491
466
572
510
771
428
551
631
942
481
842
710
512
511
425
480
503
986
471
534
441
664
713
556
549
495
840
586
675
515
514
581
477
501
489
459
728
618
792
758
602
480
478
528
445
472
765
779
735
487
686
474
534
670
691
519
493
495
533
559
608
510
489
712
444
468
460
484
647
532
475
549
906
854
570
525
633
590
452
458
439
547
467
440
471
472
546
448
462
552
441
511
641
937
482
609
579
537
728
476
674
803
713
492
601
506
878
493
637
803
516
481
665
674
485
580
935
491
827
459
526
782
488
477
480
483
456
822
480
638
464
504
469
500
588
563
509
449
472
500
753
493
687
473
473
571
513
779
617
577
952
470
442
677
484
464
498
463
466
452
464
692
487
575
600
498
584
587
490
502
605
471
430
474
479
531
528
483
481
958
742
491
728
504
738
441
448
459
714
470
652
511
460
607
488
649
457
830
561
455
529
443
503
554
471
753
880
657
433
546
500
488
514
496
476
533
522
816
724
696
473
458
468
843
630
595
469
644
464
695
570
465
465
491
819
473
506
522
565
475
472
469
499
481
520
936
880
613
487
661
494
556
489
475
650
778
446
615
874
485
470
739
514
475
506
458
838
503
699
479
682
598
490
475
486
800
559
821
710
545
841
641
575
466
683
462
544
561
492
475
474
811
504
465
440
580
633
684
446
469
471
785
544
483
915
480
499
573
506
570
473
918
758
508
474
511
837
594
494
571
500
497
801
474
468
517
781
469
517
522
486
476
509
887
899
438
480
920
779
467
483
452
679
676
486
552
465
470
479
463
537
677
454
813
503
487
869
879
878
701
641
644
795
680
618
481
734
560
724
628
462
515
425
697
703
761
715
464
499
561
903
880
514
515
498
477
738
456
470
511
489
802
835
762
746
470
734
732
562
604
468
494
786
456
707
484
469
564
817
526
558
574
533
468
458
568
785
782
601
463
563
468
568
503
689
568
452
487
702
466
621
578
489
823
534
952
493
511
611
566
541
661
630
625
509
619
479
543
569
772
432
478
666
611
698
835
522
548
488
532
507
609
579
698
450
477
474
529
476
688
629
566
456
751
461
474
483
500
501
482
490
488
536
554
614
690
468
467
644
829
543
518
496
547
489
495
665
476
627
528
707
755
718
487
577
499
459
624
790
434
654
458
486
577
503
444
596
481
492
530
543
509
486
512
582
481
492
434
475
471
711
415
711
757
522
470
453
623
517
851
480
449
564
602
622
491
752
797
473
751
438
491
553
527
749
484
482
717
730
480
492
885
433
502
506
526
523
501
508
508
411
581
727
776
852
528
481
592
772
518
512
475
707
735
715
492
832
717
481
470
607
675
581
593
520
736
478
591
959
644
726
639
447
667
513
473
515
442
570
498
527
521
448
478
592
764
524
498
468
668
653
774
555
744
811
529
476
490
483
890
773
940
583
529
432
453
472
451
473
573
495
851
494
798
503
723
467
563
469
531
461
912
469
530
482
710
783
648
462
659
582
465
496
475
668
409
624
469
492
463
516
727
539
530
768
728
697
478
482
481
456
693
613
424
460
468
508
640
448
470
863
478
573
484
511
477
510
467
755
521
498
690
512
603
476
582
770
475
477
471
588
924
494
474
818
450
467
515
729
577
540
719
505
495
687
490
656
625
557
479
448
473
469
586
591
488
739
477
838
854
615
804
785
708
858
482
907
522
790
456
599
502
495
436
657
453
733
491
526
494
853
572
686
850
733
495
480
964
863
871
527
461
488
585
554
606
509
918
860
811
475
513
513
782
569
462
503
710
577
489
568
456
425
759
529
935
695
525
625
572
478
730
521
526
778
737
507
582
587
462
690
790
819
596
514
497
482
553
459
462
730
841
581
702
489
465
541
464
786
455
491
806
770
455
771
514
531
584
641
663
661
559
678
582
457
449
665
494
484
613
455
480
482
658
474
854
441
523
768
818
555
481
761
765
744
491
689
836
678
865
639
524
464
481
505
493
592
441
470
621
438
712
717
742
647
564
476
515
541
880
475
499
610
493
728
487
685
542
472
500
499
654
552
752
588
502
483
755
620
565
504
612
485
512
439
688
492
726
490
487
505
744
551
656
633
519
503
457
548
664
483
596
937
517
474
484
500
718
580
660
743
848
491
512
469
464
505
471
534
482
460
650
470
514
474
463
487
485
472
765
462
570
794
520
673
508
695
480
512
559
635
690
748
570
543
489
649
485
525
480
480
587
495
901
539
552
500
501
658
600
443
465
475
788
575
698
990
786
637
502
497
567
571
479
484
547
711
916
690
551
441
721
512
502
491
745
486
592
799
627
479
755
492
856
498
740
503
485
641
508
487
834
610
698
743
477
470
731
563
471
892
465
547
575
477
880
454
479
489
731
524
576
854
471
499
488
451
522
619
817
634
603
475
497
830
601
730
469
487
470
884
594
646
679
508
487
560
490
939
460
824
682
504
655
487
625
492
466
480
484
657
471
476
498
680
704
510
596
484
617
835
484
538
660
557
492
585
704
486
777
445
451
563
507
551
662
665
714
474
478
722
448
512
494
459
470
785
579
752
480
717
734
501
622
459
469
666
573
523
854
495
476
494
599
494
528
510
487
812
472
727
673
737
753
609
475
512
482
500
465
476
849
578
484
572
459
485
505
508
514
511
530
538
470
507
494
471
774
488
475
584
518
700
744
469
481
627
604
492
842
472
674
462
487
463
482
817
736
715
481
584
679
807
523
749
481
485
472
685
432
531
641
632
503
857
768
517
513
615
606
488
539
670
699
762
860
813
526
575
745
568
476
820
671
644
917
485
484
557
564
504
471
458
522
605
578
542
569
466
622
462
521
643
577
539
471
510
872
597
515
729
797
628
553
484
823
464
795
483
562
788
740
489
433
658
478
478
562
468
510
564
464
463
553
420
510
625
472
748
744
543
493
682
524
503
662
523
712
773
455
506
501
550
841
490
681
633
533
450
645
722
521
510
536
558
491
951
575
630
630
512
440
492
857
472
507
830
507
573
801
879
676
910
596
539
717
504
542
574
658
640
501
486
453
459
842
655
500
712
460
479
470
796
740
592
826
706
730
509
795
857
778
491
898
700
839
859
499
741
478
612
526
510
757
534
500
870
650
946
584
527
699
813
829
453
543
621
499
596
940
801
908
557
647
563
573
442
797
561
503
495
480
740
563
754
505
533
611
682
568
610
744
483
701
617
468
586
446
911
536
627
526
488
481
527
687
504
602
835
477
588
468
446
506
494
529
838
515
479
484
544
489
677
441
886
678
510
579
801
666
488
569
481
468
494
615
490
667
505
822
604
490
524
507
569
504
725
792
691
494
495
523
463
677
546
673
510
758
459
759
496
505
729
464
472
723
486
577
488
539
790
898
498
487
487
494
476
704
499
485
468
470
493
492
522
529
791
471
519
533
701
483
632
508
744
472
754
484
523
472
485
487
547
669
470
489
463
819
471
590
936
692
503
446
531
496
473
846
666
470
459
648
746
481
831
575
668
777
580
476
609
939
553
520
500
561
474
471
511
758
504
503
605
600
558
740
905
482
753
453
465
467
905
474
599
800
768
509
904
585
539
498
783
479
516
771
482
455
468
526
715
518
506
761
480
756
563
510
810
734
488
461
486
602
432
482
442
493
582
735
486
544
616
507
734
607
532
486
468
946
650
463
632
840
520
484
486
448
797
652
646
549
495
487
601
518
535
522
547
685
469
501
500
952
581
636
512
531
449
565
471
482
787
577
769
574
724
448
928
654
823
569
488
492
883
503
472
732
489
496
526
489
696
857
510
547
581
459
477
502
655
986
645
497
491
613
728
500
730
776
469
754
817
722
613
501
902
488
750
634
510
552
521
516
496
593
506
496
864
706
610
456
569
482
585
613
523
708
731
492
456
849
478
465
815
495
775
736
499
581
471
512
502
494
529
681
524
515
493
657
552
455
996
718
482
605
492
756
543
507
502
513
692
472
518
781
485
542
475
485
644
451
660
736
616
551
765
504
534
890
671
498
527
624
479
519
584
476
613
617
513
755
645
541
488
479
541
485
647
496
666
715
509
658
760
538
544
443
479
490
478
670
918
730
517
773
859
688
602
490
463
751
493
476
490
503
490
554
644
465
492
721
652
760
577
538
671
683
504
466
692
504
500
740
511
496
490
495
622
762
516
492
513
458
595
464
859
493
490
490
514
458
450
706
732
664
535
483
466
507
604
796
493
834
687
622
456
487
424
519
493
508
467
749
471
473
891
496
890
452
643
612
500
503
594
477
477
502
506
530
695
546
657
463
571
480
554
712
498
696
499
698
541
462
431
488
484
494
655
480
485
537
555
484
476
542
464
576
501
483
747
731
624
631
709
879
644
784
458
483
698
547
462
466
463
530
484
505
454
580
805
506
460
760
944
544
959
713
986
556
798
714
767
560
508
466
644
449
649
717
553
599
712
475
766
479
493
910
550
540
480
485
927
753
598
810
908
489
500
606
499
666
730
781
488
585
564
603
627
635
669
446
518
698
779
504
536
765
719
502
625
483
504
581
492
587
757
680
583
773
781
518
606
486
498
528
504
524
815
468
808
506
487
495
479
478
562
476
500
529
765
497
481
548
532
500
752
482
512
704
531
487
486
511
512
478
763
464
474
480
494
442
868
496
742
687
443
495
492
448
459
496
545
451
484
453
571
472
482
520
630
429
506
638
500
531
469
501
769
486
776
542
532
770
967
514
764
619
469
499
460
452
590
716
682
515
458
490
474
473
485
467
520
519
482
548
493
547
601
494
735
597
458
873
516
886
660
492
815
653
636
493
666
536
498
481
561
505
619
499
441
814
928
460
461
712
481
504
607
439
514
506
747
486
628
877
955
548
497
580
646
492
732
559
458
577
516
454
534
550
621
846
756
470
481
760
490
482
706
563
491
481
735
490
450
521
695
749
435
457
622
511
510
587
836
717
591
490
475
859
817
512
502
543
488
860
555
501
605
466
464
572
815
800
518
488
453
560
521
845
759
454
669
769
566
467
796
548
584
481
464
561
640
722
490
959
944
557
533
670
486
534
472
494
821
799
514
559
499
501
653
520
742
458
903
830
654
858
476
515
526
819
503
514
754
485
703
473
607
545
566
560
880
551
786
553
726
468
658
516
605
713
467
662
465
461
487
620
543
509
688
865
573
697
569
708
583
841
476
454
837
809
737
497
520
453
723
567
508
488
682
523
478
488
543
777
493
521
561
487
517
472
702
475
494
499
667
522
564
750
748
552
565
500
661
486
579
690
555
500
494
515
494
501
457
686
622
589
710
484
807
797
768
488
537
489
721
680
730
872
787
500
512
641
541
492
502
556
490
496
817
518
622
510
921
884
739
526
758
499
549
454
528
462
517
936
480
497
539
518
479
640
522
654
824
447
738
744
442
529
494
453
586
633
803
733
595
515
474
441
625
509
505
933
681
758
546
900
532
829
519
715
670
501
862
616
620
810
755
750
558
486
472
502
493
583
687
552
513
666
504
523
537
668
474
591
767
537
694
622
491
702
588
577
578
515
653
535
788
468
494
498
545
514
515
537
606
691
496
804
516
503
497
646
744
474
722
498
571
505
542
841
495
478
492
497
477
562
638
642
834
475
751
525
513
497
631
482
940
631
535
520
562
498
575
701
482
652
611
468
477
470
619
495
578
523
482
733
514
548
459
748
707
578
484
641
519
674
492
709
466
502
560
580
896
490
741
480
494
739
519
665
499
660
665
591
504
516
749
599
517
490
486
754
465
474
788
511
484
872
492
513
476
637
491
625
495
523
851
730
466
498
489
577
563
524
508
472
510
515
793
686
514
587
594
499
732
557
483
810
803
496
504
494
639
627
898
593
787
765
480
552
500
473
619
495
590
490
538
455
723
464
504
553
513
924
513
529
498
643
845
518
532
614
507
934
464
511
817
727
737
533
769
498
871
752
530
661
524
604
576
615
491
496
905
451
492
617
474
456
503
546
747
503
496
913
612
508
663
535
656
679
497
922
772
471
451
508
581
515
511
463
580
487
946
475
495
874
464
757
543
873
518
485
797
480
500
621
541
550
613
482
497
654
472
896
519
627
830
933
644
596
576
658
791
524
532
528
622
512
513
500
508
547
482
507
528
720
669
834
530
955
499
470
514
500
461
647
509
495
685
506
536
506
471
439
581
572
577
543
757
476
475
985
607
737
689
475
490
620
626
600
507
524
503
598
526
462
468
442
719
680
544
648
605
589
499
650
934
776
494
472
523
623
618
954
847
481
523
658
833
505
557
771
491
482
818
528
489
931
703
718
476
569
500
770
509
805
869
455
819
680
687
704
678
653
461
540
463
490
558
502
470
678
801
498
514
733
506
582
529
509
538
616
497
758
666
452
490
680
763
922
480
583
494
486
749
449
650
589
651
439
509
516
651
890
579
495
712
501
533
924
568
544
491
513
619
465
636
583
474
495
607
532
471
535
744
469
482
714
830
466
685
666
557
544
533
510
489
944
489
801
793
664
627
662
618
512
710
459
511
522
948
762
855
574
473
721
480
727
487
843
516
502
606
617
621
734
488
941
495
487
493
847
501
512
552
501
682
557
739
693
552
502
478
501
553
529
723
514
489
532
488
454
589
512
617
654
809
542
537
594
638
491
476
465
472
581
487
685
699
525
489
491
671
464
501
525
846
479
500
492
956
845
896
753
494
464
474
641
488
483
706
515
648
500
500
682
538
498
485
499
736
469
575
607
502
510
667
513
643
537
503
641
484
647
845
640
561
520
541
692
961
553
585
477
803
539
492
598
483
796
914
812
542
482
739
506
620
499
502
732
513
690
757
494
507
633
507
760
549
528
573
469
494
569
584
460
539
492
681
558
487
487
755
754
465
525
472
515
485
505
815
492
872
790
516
816
487
717
456
567
524
743
505
495
969
608
488
743
556
559
547
545
493
818
753
763
567
549
536
508
685
504
691
513
466
499
483
727
693
818
502
500
719
840
497
509
478
633
499
723
516
505
774
817
512
725
494
493
649
520
530
479
481
477
488
506
480
526
622
917
513
497
462
565
533
815
707
527
592
527
479
504
404
508
489
518
712
941
543
639
601
541
532
531
490
484
522
497
495
459
482
509
677
480
466
689
530
858
789
500
498
510
665
479
516
466
495
645
689
639
497
471
639
928
626
760
580
552
529
500
507
527
746
470
543
513
553
907
636
834
476
573
668
690
817
499
494
799
536
852
480
500
464
490
853
459
487
532
507
857
526
528
477
567
483
535
533
486
587
633
502
541
548
481
491
573
512
599
509
612
484
799
786
565
452
468
514
479
791
749
490
493
787
585
705
451
754
715
527
721
662
615
518
652
457
581
563
468
905
493
975
669
496
500
602
473
686
692
565
531
827
659
523
753
488
694
468
841
515
770
759
599
479
522
490
741
478
547
499
864
603
728
684
770
604
576
588
508
474
461
467
998
486
511
902
871
476
721
672
473
520
477
782
508
485
746
508
542
508
580
580
482
741
492
717
474
615
479
486
579
492
509
550
804
970
604
455
571
528
632
482
457
512
753
726
510
541
555
640
696
862
517
504
435
572
614
840
464
624
593
521
686
703
597
492
803
550
496
500
573
610
502
468
495
509
548
486
505
503
835
773
940
719
783
499
626
481
492
501
493
584
529
505
692
523
606
510
562
658
486
593
813
499
522
554
490
505
539
710
511
517
517
637
891
471
481
487
529
695
472
677
481
515
865
522
504
682
489
506
494
602
656
689
517
502
761
519
527
568
680
754
509
540
532
705
549
745
487
681
570
488
476
875
734
491
532
725
493
632
516
845
678
512
762
505
797
695
528
784
809
629
678
657
508
603
838
521
614
926
488
481
603
563
522
724
694
531
486
627
707
506
530
498
733
618
533
528
643
711
525
820
749
859
727
486
803
622
644
501
508
531
609
931
597
653
533
617
495
552
927
705
503
474
862
563
470
519
495
511
523
493
451
659
642
522
872
823
511
500
592
518
513
626
510
533
667
528
558
496
801
535
705
748
572
550
545
466
631
806
475
874
523
458
621
463
607
480
522
523
671
508
617
494
891
840
502
501
473
615
496
570
573
525
486
565
521
689
500
821
632
527
490
879
474
485
609
487
606
623
675
540
477
538
801
482
762
717
525
521
588
861
640
497
522
833
513
481
503
501
547
828
490
516
679
818
449
827
462
498
680
502
883
679
523
685
640
538
481
495
704
682
475
527
510
677
690
499
520
553
508
815
536
995
521
541
521
510
733
561
517
496
798
819
768
551
603
862
495
806
599
627
519
761
770
658
647
477
472
729
511
629
751
508
570
731
675
489
627
556
507
542
475
536
494
502
734
484
633
500
727
565
618
797
673
893
491
521
749
790
535
498
473
706
483
544
508
513
863
807
483
730
481
517
789
838
878
471
579
534
466
512
887
727
577
922
487
649
757
496
599
527
532
752
857
599
633
847
622
830
478
507
566
768
480
478
748
494
670
912
761
542
960
615
500
801
503
965
698
510
974
511
493
813
493
872
597
471
539
489
810
507
732
493
617
812
921
556
736
636
856
547
538
494
763
500
559
494
520
694
601
499
587
543
872
513
505
678
472
489
580
669
534
781
546
614
551
590
672
572
463
472
480
560
605
840
527
506
508
801
811
518
517
857
878
487
530
543
707
550
685
697
543
486
463
663
504
590
539
782
497
478
489
565
567
489
480
606
519
747
832
558
523
833
773
760
512
606
634
777
834
512
675
574
632
484
790
477
629
751
721
573
497
694
534
613
495
485
531
574
884
483
820
511
701
492
486
946
538
604
710
632
540
895
853
915
516
612
782
542
791
607
693
466
467
465
710
485
488
775
460
702
585
500
494
640
847
687
554
872
495
759
657
592
543
510
586
568
659
517
681
748
508
545
700
480
484
483
543
533
750
664
801
545
763
489
591
694
628
511
669
751
737
597
481
561
746
630
709
478
479
511
471
718
546
481
501
513
557
808
828
500
737
512
522
484
705
642
506
469
537
654
618
507
573
772
822
940
470
525
493
609
583
542
516
594
507
737
614
827
655
797
488
652
767
670
478
647
714
519
528
670
570
551
885
807
623
748
501
487
782
475
462
620
461
694
583
513
487
589
625
815
484
700
500
509
466
558
630
691
488
679
506
528
472
553
472
486
766
506
516
646
837
464
773
552
511
492
600
782
481
784
507
527
489
489
485
531
829
478
801
478
824
642
580
495
574
524
764
621
500
613
528
519
752
596
714
543
516
493
522
568
510
590
483
514
582
628
560
712
889
508
447
492
479
484
489
494
492
501
839
502
828
494
830
564
495
500
495
784
584
622
574
852
502
817
490
608
500
523
520
603
537
500
573
611
499
511
489
578
654
574
497
503
484
527
597
467
601
466
700
840
749
500
630
748
731
522
638
849
550
584
517
534
567
490
587
465
507
707
517
860
874
533
495
511
699
674
524
507
791
496
637
542
552
747
565
527
552
486
493
759
519
491
514
483
458
657
805
942
649
510
490
465
906
500
808
495
482
681
727
482
947
865
474
490
504
831
562
490
503
692
473
443
651
484
500
536
507
502
652
469
861
593
512
946
633
529
504
513
720
540
686
536
609
728
887
633
556
510
623
850
505
541
491
511
709
820
636
487
791
508
747
582
894
864
491
473
501
643
523
670
506
476
757
881
514
532
532
601
738
492
752
526
452
524
835
755
561
942
680
729
606
527
537
787
507
511
512
707
537
634
555
790
751
530
478
796
649
778
511
493
541
674
541
484
502
602
759
451
470
502
897
526
526
859
509
540
502
786
488
541
502
566
682
475
477
489
516
586
508
777
513
697
525
710
475
601
664
575
516
826
656
883
497
636
741
509
566
872
560
529
507
507
521
495
571
581
636
485
480
535
593
740
901
649
509
487
657
774
516
574
603
535
554
528
477
586
489
829
938
508
555
517
495
506
486
578
490
577
526
561
485
543
492
498
513
493
704
575
908
756
465
528
472
536
611
588
500
503
515
484
495
713
648
632
522
539
531
508
610
550
655
477
520
891
496
787
530
736
672
756
852
857
496
522
552
587
498
469
517
500
625
518
505
528
721
487
824
506
514
513
763
530
794
526
556
725
465
536
555
496
826
530
583
588
520
802
865
586
557
843
500
926
714
507
701
817
619
628
599
609
622
742
604
697
498
850
683
500
776
617
502
782
564
758
512
579
925
518
618
656
523
627
516
581
503
526
512
508
739
679
463
629
500
490
592
789
492
492
771
789
497
491
622
879
661
738
518
670
538
463
511
564
637
700
515
603
459
652
522
517
640
700
775
846
492
888
633
639
625
636
505
505
774
494
765
499
772
484
500
525
494
509
482
579
511
501
702
473
520
716
490
801
517
591
629
495
514
793
497
524
502
905
688
794
543
523
507
551
690
640
530
786
526
675
720
502
557
522
535
510
870
547
795
585
522
567
482
514
620
742
509
515
477
609
863
481
949
487
886
546
488
579
517
489
603
488
496
555
517
561
593
903
523
522
479
559
558
633
705
529
494
492
744
641
526
563
540
878
611
634
543
818
532
587
521
747
537
739
589
500
759
856
623
483
500
703
718
519
632
554
751
714
633
511
679
537
651
517
564
510
534
694
492
544
502
731
695
696
517
646
845
494
498
520
555
516
531
475
874
484
582
486
847
802
547
691
521
704
861
865
485
540
471
528
564
876
792
520
757
555
536
595
637
514
616
544
490
613
605
530
512
640
610
935
841
505
740
518
571
495
898
564
481
500
812
531
528
951
476
613
889
482
641
488
717
757
514
868
765
483
490
886
596
522
640
674
516
506
560
563
639
483
619
537
941
644
715
527
483
549
628
523
514
731
549
571
578
496
892
666
547
541
759
720
559
597
492
479
545
595
506
651
800
503
486
928
743
594
542
537
603
691
549
558
520
507
559
510
625
779
531
668
471
551
645
702
519
816
489
483
738
644
504
486
506
508
777
493
778
613
583
550
514
863
652
514
580
932
665
877
671
734
488
504
707
586
511
520
504
527
532
498
865
504
697
595
624
532
486
850
507
644
791
524
505
733
813
484
495
901
793
586
701
681
539
638
517
731
532
497
645
711
519
704
904
535
529
854
713
517
462
505
529
719
829
511
483
493
624
507
630
823
635
511
720
801
462
791
512
584
828
657
502
550
544
805
533
588
520
493
587
509
497
518
850
555
658
786
564
632
454
914
700
507
573
765
569
734
771
560
861
616
562
566
790
883
577
526
597
554
551
755
540
761
682
784
778
917
535
505
620
685
452
490
709
534
639
776
844
875
471
488
863
851
694
596
758
801
488
628
542
755
729
511
536
499
564
523
533
518
528
752
565
488
520
511
505
496
538
597
548
541
582
932
543
543
705
609
568
536
514
574
592
505
494
683
790
822
610
641
524
739
522
496
527
604
522
681
517
500
541
507
793
487
886
599
508
560
582
543
527
569
484
536
501
531
509
533
654
875
841
540
488
593
514
506
728
637
559
516
594
813
601
572
479
516
693
593
506
533
516
550
486
549
494
489
673
504
618
487
761
576
528
813
924
567
694
573
497
740
634
517
532
490
514
505
562
506
480
853
501
537
511
552
551
617
728
636
522
525
504
917
479
490
676
696
452
582
618
879
569
570
551
502
569
503
757
889
687
513
515
686
489
666
505
548
702
710
493
501
716
519
498
497
510
554
654
848
499
509
582
693
755
490
518
581
460
596
526
606
559
839
469
908
826
696
491
485
501
469
565
504
490
590
620
525
757
469
494
701
864
535
629
852
589
505
528
528
492
831
832
582
658
516
681
535
697
489
687
531
805
589
520
480
626
533
551
495
451
579
498
543
533
486
637
732
916
646
499
754
526
477
468
662
508
562
567
626
829
552
958
569
544
558
510
525
743
696
649
549
850
522
575
669
540
525
837
702
510
613
516
499
758
514
513
745
895
485
584
838
542
508
513
578
539
521
876
715
843
642
472
725
529
514
526
496
564
485
580
605
522
521
514
537
512
714
687
514
501
512
601
574
477
877
508
541
761
685
857
710
517
480
711
768
713
560
503
651
514
660
654
725
500
888
515
953
629
659
529
927
725
582
588
533
488
695
492
514
804
642
622
711
777
771
522
718
512
527
669
524
473
792
742
536
501
735
781
624
772
644
507
543
796
619
490
584
671
531
798
885
503
528
590
933
553
519
850
910
493
522
846
481
519
700
636
521
552
571
627
536
883
532
634
619
628
795
523
498
459
644
534
593
664
483
776
592
818
614
834
516
484
650
556
489
582
501
532
589
490
477
477
477
579
707
556
477
582
555
728
844
803
518
636
738
469
552
494
664
612
760
515
769
782
515
692
523
503
739
689
516
533
852
517
555
511
580
587
613
852
776
941
519
807
736
542
859
576
699
642
530
580
498
530
611
508
649
505
875
664
703
684
779
574
501
509
627
492
739
796
489
613
827
778
811
712
804
625
491
666
507
705
508
516
907
661
520
503
539
715
806
509
534
503
516
514
563
565
506
513
498
778
998
577
528
517
753
649
897
469
475
680
460
567
662
728
661
531
528
632
497
578
527
492
800
522
472
592
461
493
592
557
685
872
524
508
475
679
538
844
511
531
508
522
734
484
565
518
677
494
684
629
590
605
564
468
620
503
478
907
481
688
667
500
516
521
581
628
756
818
699
564
475
568
805
868
565
721
449
659
490
978
528
700
615
694
517
647
647
535
617
795
781
740
636
511
501
491
523
499
845
510
500
517
529
509
511
925
689
541
657
767
519
820
768
572
510
491
910
512
519
723
531
530
757
929
529
499
481
451
497
815
497
698
784
668
969
493
851
874
524
474
521
510
646
527
515
647
620
510
598
610
535
571
698
677
729
532
521
504
581
578
657
518
535
507
484
837
482
477
504
849
733
819
506
516
513
809
791
760
711
656
514
558
777
496
468
593
531
881
583
497
956
534
704
662
917
580
885
617
611
516
701
580
729
520
806
503
795
463
538
742
537
744
593
520
503
597
481
852
654
586
738
453
459
609
562
686
904
515
572
556
541
530
567
485
508
502
672
541
658
499
837
540
468
765
855
527
495
646
508
473
559
539
769
793
540
597
487
557
494
762
533
793
910
542
480
889
745
526
691
531
674
761
478
524
734
508
746
518
507
548
531
964
560
646
532
765
680
509
594
548
762
950
507
547
833
930
855
537
519
862
491
836
569
719
733
646
479
564
501
725
478
600
504
850
598
488
891
831
798
514
874
501
521
544
588
525
746
724
648
782
524
558
918
540
717
642
673
530
597
669
726
928
553
560
859
597
519
675
658
537
535
531
692
530
528
482
725
591
477
818
553
526
756
469
513
591
503
504
487
778
517
781
488
649
717
557
507
687
689
949
639
599
498
486
513
858
901
621
511
648
646
771
971
502
820
632
538
466
723
526
485
845
502
503
492
768
754
726
518
521
481
696
745
475
702
562
564
881
558
498
579
562
565
837
556
714
543
529
511
727
580
656
488
803
499
494
506
769
505
476
782
780
588
537
516
495
630
498
645
670
710
469
679
733
508
516
657
922
863
915
520
491
505
518
688
498
529
722
725
873
660
533
608
509
620
636
498
686
562
498
601
553
691
746
737
752
535
517
618
565
657
534
572
882
777
634
512
574
474
711
572
556
867
486
676
529
731
782
526
766
520
520
516
723
536
512
503
844
511
496
892
721
612
489
849
526
497
486
779
518
518
870
620
514
618
803
808
616
486
781
575
906
499
876
525
534
529
830
630
500
897
882
559
507
717
627
742
533
979
693
540
661
685
669
551
518
767
493
520
738
566
535
750
524
829
811
932
536
501
500
795
491
649
772
538
655
567
495
589
494
559
475
496
737
513
583
520
690
758
521
514
773
543
771
836
624
849
510
595
522
546
905
652
838
571
499
824
536
521
560
649
787
508
483
480
472
649
518
834
551
512
728
800
596
643
526
937
862
577
552
660
632
519
624
881
507
694
473
655
532
465
804
482
494
577
572
548
546
870
524
490
520
540
683
544
516
640
454
901
542
735
580
515
687
484
494
958
725
511
805
505
539
471
503
570
524
559
640
724
541
844
465
543
510
519
482
746
492
536
466
901
788
678
683
491
757
564
480
656
551
648
531
616
541
703
811
652
584
795
567
668
507
481
520
644
575
500
661
645
544
512
505
505
550
635
569
504
523
623
513
481
758
659
581
545
710
463
510
576
765
568
694
624
519
492
740
566
792
524
492
534
722
744
883
914
575
533
883
819
521
658
692
519
643
893
539
743
487
590
561
628
554
530
537
545
482
563
711
475
678
759
504
497
578
511
574
539
551
513
558
549
568
594
876
533
491
518
910
568
485
749
884
684
657
526
562
748
880
522
547
542
529
501
528
875
555
658
509
651
515
457
535
501
497
658
502
721
742
554
927
518
542
757
506
780
531
846
900
565
639
658
577
539
545
621
507
519
473
512
480
583
487
501
568
509
504
469
628
630
760
616
692
536
753
515
609
587
549
812
564
672
567
500
767
469
767
706
925
503
567
818
825
676
529
744
682
573
658
539
766
592
587
555
507
518
665
600
502
726
548
554
486
574
660
502
517
504
705
915
536
505
846
646
501
803
651
527
838
515
580
519
556
599
504
467
525
616
890
485
590
479
848
890
484
867
578
718
587
476
484
815
847
709
551
614
508
544
631
473
496
743
891
630
661
505
460
512
567
701
551
673
866
563
656
519
552
805
493
544
552
506
841
661
774
487
750
568
867
480
550
875
638
644
547
557
539
494
850
698
528
891
672
693
654
701
682
530
601
626
553
679
557
579
617
620
514
742
759
983
531
515
552
887
535
513
699
511
507
632
497
519
614
703
801
624
506
528
533
533
619
589
553
558
539
574
518
521
641
590
626
907
539
827
521
562
614
490
547
512
725
720
529
564
920
643
865
554
560
571
528
613
731
525
515
858
530
527
892
585
501
674
643
879
808
698
580
916
893
584
522
645
836
758
645
518
576
881
777
505
567
498
512
599
515
555
639
729
719
915
594
510
710
787
706
783
523
622
730
493
522
635
905
750
531
760
563
806
497
648
495
942
671
742
498
517
515
495
545
525
550
832
787
565
760
586
691
566
518
547
634
548
673
527
522
581
485
547
752
585
519
506
494
592
539
503
638
933
917
590
494
578
499
841
512
883
528
611
519
646
521
760
593
513
524
771
642
578
669
962
762
483
736
509
543
569
565
463
612
693
782
538
685
827
528
783
736
881
745
615
842
533
540
715
524
504
787
593
751
568
689
573
482
523
508
721
544
884
549
643
745
706
763
520
579
558
770
719
509
752
493
722
629
573
753
891
504
809
827
512
566
534
529
777
537
757
654
519
537
516
828
484
782
484
814
590
595
521
524
747
653
551
509
564
644
551
552
467
545
508
501
612
744
567
654
623
534
520
578
545
667
517
517
481
564
871
543
720
794
768
617
545
490
580
520
552
848
828
512
509
631
550
488
769
528
563
479
625
505
538
486
629
464
532
680
657
514
831
607
728
919
591
789
471
535
521
524
533
542
717
520
789
524
486
543
541
497
632
509
650
522
653
838
599
802
740
543
724
651
627
823
602
603
539
530
609
776
746
773
635
588
731
554
826
564
475
522
505
872
670
585
728
906
834
511
925
512
798
518
503
614
683
844
666
613
660
527
519
697
534
589
514
594
595
820
501
684
611
543
505
504
578
627
563
601
831
490
601
629
873
850
644
831
500
744
585
540
546
516
606
611
557
513
629
504
803
526
766
875
577
798
914
503
550
512
683
766
616
491
517
488
541
499
631
557
517
610
737
741
547
774
463
646
565
550
520
727
506
629
735
733
616
504
491
866
595
506
494
531
737
506
734
488
703
763
871
699
501
565
765
475
681
739
533
653
674
545
497
502
544
616
530
533
591
902
602
635
496
878
540
697
526
724
585
798
510
924
466
476
715
552
832
518
733
611
527
650
552
672
780
647
910
473
508
720
525
648
502
576
607
595
505
541
619
700
610
652
540
514
608
553
594
509
731
512
700
855
690
640
493
495
499
529
602
521
694
612
563
552
561
522
756
667
495
600
631
726
536
807
572
672
506
543
490
638
504
623
516
577
765
538
557
551
714
512
582
769
746
495
553
540
671
490
589
567
492
531
483
743
590
507
503
576
861
566
514
615
505
693
543
768
495
908
669
478
841
829
521
530
537
611
566
492
711
557
513
712
493
512
483
502
544
850
524
529
519
627
874
616
513
499
684
519
528
500
507
704
546
639
844
559
655
529
497
446
735
705
622
822
642
553
584
536
491
517
520
531
657
531
588
559
623
533
647
631
832
521
572
512
840
552
718
522
663
493
523
507
509
753
527
543
585
941
870
494
851
872
889
625
494
654
533
622
485
513
744
645
754
614
504
521
775
613
599
697
557
885
597
497
566
533
519
497
666
531
572
553
579
580
545
816
549
601
799
522
696
515
740
512
567
654
590
707
787
559
520
854
500
802
501
490
885
721
520
479
545
488
467
730
565
605
607
653
527
599
615
557
528
660
822
510
796
525
538
679
686
536
555
520
644
651
725
642
693
663
820
807
628
929
530
559
703
498
576
525
677
552
718
826
766
526
726
787
903
894
895
962
526
977
876
711
606
568
718
630
602
548
496
532
607
661
582
761
495
521
502
655
561
563
515
472
641
522
524
562
650
806
649
849
567
517
604
504
529
739
924
529
564
611
904
633
576
558
491
594
564
758
620
483
876
521
754
586
569
549
579
560
554
541
586
754
582
536
676
877
547
728
592
631
523
554
546
597
887
865
582
509
574
549
510
510
699
731
696
543
556
738
473
513
511
516
484
626
535
494
675
636
648
518
505
509
544
593
530
536
511
579
541
497
499
557
702
508
496
824
654
571
701
701
736
549
731
517
483
531
570
623
503
567
518
535
550
729
512
580
530
524
726
895
526
553
663
840
523
555
528
523
616
706
894
676
624
565
930
624
673
860
497
812
715
582
517
757
513
518
850
533
575
603
509
859
561
783
542
766
554
746
637
558
864
795
803
636
503
826
588
785
519
575
497
913
666
566
730
531
712
516
791
499
696
489
900
775
693
647
541
987
498
760
773
509
774
883
865
641
538
546
935
498
634
593
559
546
472
967
706
714
629
618
751
929
525
634
620
648
529
550
602
673
558
485
541
763
772
741
543
512
754
840
518
486
628
523
567
623
655
536
788
683
498
544
720
537
588
679
671
612
640
660
630
594
554
624
807
568
547
497
647
567
544
498
507
526
583
613
857
796
968
658
533
500
493
463
512
961
557
899
669
491
657
563
537
669
526
663
638
509
589
492
741
530
820
520
813
633
496
595
485
608
614
618
519
620
470
515
497
520
504
543
559
626
510
821
777
858
507
501
585
797
754
662
589
506
600
673
858
630
788
720
912
739
537
546
655
710
720
607
513
617
949
751
538
832
572
506
565
767
624
800
924
855
526
648
553
736
659
777
649
495
559
586
760
656
716
614
930
511
652
624
495
707
523
565
512
617
705
811
544
685
706
589
704
545
525
583
534
490
537
921
490
494
911
481
759
673
836
626
741
501
470
700
582
588
524
518
614
514
542
546
493
777
724
520
566
580
592
471
644
873
499
484
696
525
580
583
537
654
922
500
937
759
782
635
580
538
542
640
586
568
489
632
634
513
507
516
789
516
531
769
786
577
547
688
542
526
550
495
525
547
512
524
765
766
654
553
549
801
753
498
540
482
576
578
524
516
791
528
734
495
732
601
812
811
550
504
527
574
500
655
744
526
842
506
530
588
543
760
599
519
524
872
799
517
490
779
544
505
532
598
518
537
516
729
487
489
536
558
599
756
830
545
852
542
600
665
952
525
548
528
750
700
660
686
596
481
535
569
599
821
569
488
857
631
731
525
610
877
617
544
564
648
708
920
524
742
528
526
516
670
682
558
596
530
529
523
518
821
727
767
533
602
536
598
591
619
835
520
600
681
803
573
576
697
569
529
530
668
695
512
453
639
567
573
738
517
898
496
562
524
514
631
529
646
710
536
889
680
573
623
549
491
544
485
523
537
804
560
659
515
850
945
851
818
524
509
843
616
570
589
662
472
592
810
792
902
524
883
542
746
529
555
743
513
868
694
537
881
675
703
527
507
520
541
748
527
629
764
486
532
921
703
501
514
626
502
541
534
635
569
621
744
832
585
751
491
916
488
504
579
576
823
773
542
639
503
563
876
883
588
547
539
507
748
528
624
883
742
537
518
862
499
537
931
574
529
536
506
675
539
654
633
754
484
859
562
545
509
491
706
904
549
678
583
660
703
473
574
531
490
647
899
743
719
824
534
517
534
541
559
856
728
511
522
864
619
527
684
522
756
596
666
475
489
542
544
560
800
860
488
538
549
710
942
562
742
501
527
949
532
553
538
532
526
546
658
546
650
822
509
753
538
535
624
498
536
615
519
814
933
558
628
515
781
540
576
810
502
718
678
723
686
532
439
789
485
537
522
922
543
532
544
480
632
548
460
509
532
551
499
541
768
566
787
808
492
538
605
610
521
487
607
631
707
541
545
551
867
691
769
532
554
531
699
553
554
673
558
490
879
489
639
619
759
628
927
524
529
567
660
835
857
655
545
500
612
531
566
971
519
506
765
556
542
503
774
535
900
588
507
722
540
594
602
885
636
640
601
546
542
820
501
515
556
560
518
646
540
511
813
632
482
539
557
627
507
625
741
663
503
583
475
906
650
704
528
972
905
616
553
569
612
528
547
785
611
563
555
550
705
582
559
985
682
570
861
527
509
638
524
735
541
771
629
494
545
529
630
533
538
698
723
600
583
512
535
508
864
643
540
824
522
499
830
817
742
767
797
638
713
709
608
645
556
798
528
669
805
556
522
646
652
801
538
466
801
710
722
528
940
671
754
769
603
624
853
640
506
880
642
701
726
537
800
713
510
530
558
545
618
664
656
576
516
677
612
917
559
556
673
753
512
541
525
835
603
552
578
473
664
559
536
788
505
686
799
548
576
530
539
530
534
530
575
702
924
838
588
622
532
835
531
843
525
560
719
634
507
596
612
507
625
591
831
542
524
550
932
650
492
541
570
759
572
631
554
706
595
938
485
517
496
545
506
834
503
962
744
800
774
712
647
526
514
482
551
761
686
549
705
539
698
502
534
530
536
603
676
533
528
779
513
594
496
535
651
559
501
677
544
867
782
508
570
668
543
570
609
846
680
533
586
832
490
649
516
533
765
508
867
682
541
679
764
721
503
642
569
493
631
720
776
618
600
839
835
583
516
604
567
640
564
539
570
566
726
566
859
482
927
551
758
612
504
729
627
506
491
537
523
932
528
850
966
717
687
531
544
811
970
902
872
569
768
640
506
520
578
787
546
583
574
490
761
543
564
507
762
532
662
918
760
494
562
700
845
514
555
586
650
530
856
780
591
610
802
638
929
544
570
518
518
539
901
794
716
889
775
684
669
516
529
589
660
788
568
878
525
814
593
522
447
527
622
554
520
799
561
800
549
620
990
605
907
742
747
622
590
529
618
561
579
555
913
685
732
747
540
499
749
686
538
552
613
536
543
558
536
648
832
712
532
623
807
669
532
521
510
493
551
512
603
551
752
528
739
584
520
917
858
805
582
692
696
549
602
600
753
537
603
511
581
647
505
624
606
515
513
543
604
682
497
577
888
501
800
531
645
872
902
554
621
730
537
781
538
818
662
576
524
527
667
527
906
678
709
509
652
594
520
806
490
646
495
526
523
933
606
854
594
539
509
697
617
640
672
608
554
536
929
486
735
806
589
673
543
656
641
618
716
520
735
487
599
527
622
889
595
533
642
492
579
574
606
598
776
599
741
559
589
501
556
545
652
659
653
601
679
770
571
564
606
521
551
877
602
863
678
535
628
867
736
786
728
475
518
527
531
539
641
644
536
536
571
844
649
563
519
644
826
512
501
758
590
752
729
829
799
529
483
595
558
729
562
562
527
754
622
546
716
568
538
640
903
537
550
904
822
517
526
681
599
532
657
528
563
564
788
702
789
838
605
582
523
516
510
554
685
534
498
544
639
516
527
510
518
572
496
503
707
522
527
552
512
535
811
652
948
517
585
610
891
685
547
704
516
554
569
915
637
603
854
831
518
603
588
522
893
544
535
882
533
594
523
603
656
889
828
617
528
504
594
810
545
724
888
580
592
522
823
619
742
626
643
493
597
586
477
664
505
531
496
900
791
846
952
538
513
745
877
584
570
939
597
528
764
630
750
493
743
503
509
581
543
560
827
821
541
525
522
658
521
695
481
637
535
565
525
521
684
616
543
606
562
587
976
829
528
866
542
526
601
534
575
544
546
571
854
522
539
637
744
614
554
506
925
479
788
879
549
565
551
858
506
539
846
559
527
511
724
559
527
835
612
560
860
534
506
550
899
683
520
583
526
586
705
581
517
749
982
762
540
614
574
761
507
672
523
656
747
571
585
585
505
806
888
701
509
658
612
514
831
545
518
696
720
610
557
961
563
625
505
495
769
519
526
688
538
653
529
876
779
815
495
535
516
512
738
908
570
526
946
726
616
669
635
655
573
515
647
877
537
616
581
535
518
541
597
516
490
511
797
494
791
514
546
922
708
588
532
803
586
528
653
545
831
557
559
613
526
533
764
762
887
523
900
535
554
775
703
815
733
847
569
513
625
529
555
955
546
814
741
512
507
810
581
897
488
517
560
513
738
506
546
730
530
537
863
810
504
526
699
499
730
764
512
527
531
912
770
876
632
484
605
627
731
629
709
781
856
507
583
726
821
681
601
543
569
792
627
620
503
496
738
526
814
563
861
980
790
730
869
715
547
524
756
598
531
543
637
552
590
724
678
642
490
536
485
747
639
596
659
535
653
625
562
624
794
530
568
606
868
503
619
517
933
646
548
604
530
538
551
859
739
669
534
548
644
580
797
546
714
529
562
541
525
748
772
563
713
855
704
533
746
765
833
786
535
500
662
752
562
781
628
513
566
737
585
682
831
790
663
655
919
516
556
589
711
776
610
732
528
918
567
959
607
774
685
883
847
507
566
580
530
572
624
591
956
610
771
521
566
780
676
493
552
579
679
840
552
897
664
691
542
596
530
616
552
823
585
560
515
638
527
832
507
576
684
561
791
675
818
502
590
488
638
790
563
528
510
550
754
686
535
508
590
517
598
527
610
559
554
657
580
497
539
673
689
992
574
851
763
767
628
539
466
846
879
771
710
890
783
519
779
932
543
618
919
520
485
570
540
801
588
518
564
497
631
826
537
559
533
548
559
895
781
614
817
724
628
787
520
521
529
516
594
653
656
556
525
533
509
690
698
589
535
765
595
505
666
543
779
594
511
760
546
499
703
546
567
539
860
588
613
815
629
558
589
696
528
489
527
738
568
774
856
521
603
740
615
690
546
500
548
568
655
524
612
556
538
557
593
519
539
615
550
533
689
594
614
702
518
513
660
672
732
530
529
481
529
532
792
777
538
539
646
776
839
573
557
541
548
822
547
510
677
563
511
549
592
533
568
651
556
683
553
611
545
662
579
714
515
500
535
738
561
788
689
851
761
551
503
875
540
536
482
519
535
685
711
656
607
672
553
602
535
516
544
570
575
547
528
664
617
808
511
497
614
519
630
754
698
631
584
555
775
563
510
615
543
506
539
651
519
960
472
594
545
650
532
571
578
653
535
552
725
521
613
580
533
596
666
593
528
597
706
538
861
658
688
615
603
508
554
586
915
637
596
570
614
521
736
774
632
682
551
627
539
693
474
846
545
628
546
645
679
821
730
848
522
564
709
691
886
858
674
530
577
548
854
560
750
871
812
527
521
511
706
575
704
585
845
686
521
542
719
562
752
568
785
657
532
499
558
552
701
566
560
518
610
576
631
777
522
539
563
604
831
634
519
532
808
815
504
521
714
705
545
718
524
622
575
528
608
666
943
483
507
543
818
686
634
528
681
524
556
508
603
658
580
772
519
899
678
548
525
843
518
579
553
569
482
842
630
681
622
905
505
648
554
570
625
622
529
494
464
553
515
556
904
543
553
528
736
903
540
672
570
688
596
516
897
526
538
904
584
626
833
817
547
770
527
639
519
746
542
668
557
555
587
527
555
523
638
801
554
571
711
514
821
545
705
852
600
684
615
729
780
560
856
556
557
582
582
791
649
493
548
547
819
550
637
687
564
631
534
649
535
492
655
594
534
574
591
790
534
548
673
531
785
735
579
500
519
563
508
833
960
690
851
894
550
651
546
939
820
773
552
649
830
826
572
549
705
700
731
662
750
776
641
974
876
705
685
500
521
541
660
602
695
574
715
676
562
806
683
539
575
874
621
618
537
528
793
655
558
526
688
823
544
776
724
577
543
790
504
774
533
570
551
564
553
985
707
717
825
597
522
552
525
526
561
529
541
579
683
575
601
514
898
703
529
575
791
705
770
777
523
543
721
575
638
757
531
492
504
606
520
627
787
511
884
601
664
537
625
842
790
908
618
703
849
538
735
869
600
783
884
738
541
731
542
569
877
663
794
735
524
607
573
527
543
535
491
714
502
540
525
938
549
774
498
716
780
613
628
630
543
692
778
547
542
706
523
588
824
611
694
614
709
714
579
798
664
578
693
630
672
577
631
816
534
565
513
630
522
529
662
648
632
707
675
878
608
639
738
626
697
836
543
534
529
737
685
547
537
544
888
552
664
619
566
526
521
545
504
542
776
654
628
514
540
507
728
516
598
690
527
565
553
553
664
536
506
870
723
606
603
624
549
687
623
496
891
710
526
751
707
827
592
524
873
519
545
556
737
525
526
657
557
711
767
825
843
638
537
537
688
530
759
669
538
860
743
693
789
691
636
541
685
828
611
546
516
758
601
543
552
649
508
558
617
543
666
694
691
563
503
505
649
671
601
530
634
747
861
602
551
540
645
686
623
517
507
660
779
695
751
593
530
602
502
620
576
761
527
659
548
517
581
948
529
533
672
770
488
619
640
519
704
514
628
726
532
538
532
627
806
566
531
833
778
821
901
631
559
893
656
675
686
606
851
550
548
534
704
876
624
541
651
552
526
528
848
657
622
528
623
889
571
533
546
767
770
531
512
548
840
548
505
651
570
633
562
505
545
614
583
889
544
518
549
606
649
535
608
527
605
690
783
539
658
502
503
513
594
767
580
510
969
561
830
568
953
534
705
731
630
611
744
549
549
632
598
628
599
566
540
685
519
519
678
660
557
598
575
520
501
547
531
822
573
802
489
624
714
493
721
635
572
887
544
569
508
971
537
514
837
501
811
557
548
599
752
893
554
886
716
696
732
539
650
703
612
614
652
891
675
733
637
823
551
538
678
671
757
707
661
701
695
856
768
806
590
523
537
513
536
665
564
561
588
669
552
717
543
534
818
608
749
896
889
912
526
555
536
679
595
487
821
526
544
615
898
899
573
585
820
812
543
620
552
777
623
534
763
550
601
518
609
569
550
507
779
589
807
517
810
607
693
746
554
810
649
554
533
758
540
675
612
595
562
521
548
766
569
746
776
620
558
657
549
544
604
784
579
739
522
706
536
547
610
921
490
558
496
742
617
633
606
513
724
527
818
484
561
743
536
528
666
559
499
755
580
773
556
898
568
530
766
530
566
691
892
595
528
601
530
691
604
611
915
533
809
872
575
858
803
508
534
887
757
599
540
660
534
714
564
628
705
517
792
555
791
613
768
890
547
569
562
525
815
835
822
577
530
802
649
549
550
566
529
539
542
700
555
494
545
491
672
507
726
528
871
783
574
700
662
552
778
549
740
638
515
889
540
804
544
557
524
528
745
648
637
561
740
910
564
512
842
558
599
536
520
563
781
552
653
574
559
580
522
774
537
567
586
600
759
628
520
654
523
813
552
752
605
871
559
573
543
654
721
535
557
665
526
547
539
756
613
701
660
836
643
853
525
533
559
649
739
531
813
904
869
767
630
542
638
746
840
516
892
635
725
508
546
630
579
573
589
627
655
796
528
681
552
508
779
776
575
609
533
979
936
526
549
547
908
548
558
874
573
619
665
570
578
741
615
517
521
847
811
727
544
667
537
913
686
648
858
915
568
546
610
796
577
776
795
764
825
503
574
592
523
545
621
505
852
567
554
574
506
813
571
551
667
645
558
534
699
552
620
883
506
576
601
576
1001
850
539
764
822
562
585
552
954
592
778
505
664
837
817
684
555
667
530
954
529
633
751
598
546
560
587
545
588
548
713
904
594
638
524
780
711
521
519
663
985
717
513
537
726
724
636
501
508
504
648
533
616
550
513
526
537
726
600
558
581
644
647
611
887
577
817
707
513
623
881
706
609
502
588
973
668
588
961
555
517
541
566
496
522
705
806
925
625
982
530
529
588
535
543
531
552
781
526
531
705
657
858
917
476
536
714
583
831
531
586
658
796
521
563
563
711
784
643
570
526
549
663
528
567
565
573
599
545
571
657
517
855
668
751
589
614
714
519
586
866
535
561
572
608
937
829
533
804
954
544
681
887
858
698
576
932
576
738
620
879
526
541
564
552
593
540
551
638
526
533
553
767
555
746
613
513
709
494
538
796
513
515
599
648
605
721
776
622
564
510
513
753
522
571
658
582
515
893
579
905
620
618
517
757
738
634
544
593
524
724
635
488
541
521
761
577
898
853
986
590
567
565
726
528
579
760
555
732
509
559
516
542
636
722
721
592
781
554
549
544
703
544
739
563
542
805
787
577
612
734
517
791
715
535
709
667
709
547
852
794
613
506
523
863
547
849
540
929
640
849
581
542
597
530
579
559
747
727
599
549
649
708
594
649
547
705
846
543
785
533
550
765
707
680
840
549
651
776
725
499
498
813
686
612
558
528
576
573
544
798
584
604
633
670
695
496
594
552
503
553
758
939
683
529
651
649
799
528
539
728
545
987
633
607
557
639
905
596
713
577
664
567
827
473
571
609
510
641
656
515
625
722
620
552
650
564
516
530
536
623
776
504
545
515
593
544
689
887
764
544
656
549
542
756
616
718
548
586
815
925
523
545
595
594
758
521
544
776
541
652
650
537
606
807
570
535
758
896
690
542
590
637
592
713
855
680
805
565
510
657
834
677
597
521
542
505
785
603
757
539
700
613
614
566
747
550
724
523
556
720
722
696
533
549
699
827
526
542
777
542
534
811
739
896
638
717
729
565
762
876
506
705
881
727
816
768
747
676
604
951
623
557
727
541
502
566
531
569
705
527
535
579
611
844
542
663
810
618
826
540
579
533
549
896
505
785
553
589
537
540
544
811
576
523
757
657
960
488
529
518
526
535
542
760
820
542
760
690
735
900
773
543
635
814
887
710
665
612
569
835
545
916
551
584
982
723
550
593
510
803
757
513
525
504
561
574
603
874
505
523
541
507
922
903
877
563
538
574
662
553
637
604
535
920
658
556
675
716
515
803
760
554
577
524
590
540
471
542
609
707
550
580
699
530
553
512
585
515
575
599
611
896
624
648
565
819
526
647
538
736
506
578
545
849
777
663
569
929
569
732
782
564
657
552
641
528
671
544
594
807
537
974
560
866
866
532
592
712
710
823
541
552
526
545
551
592
749
648
494
793
566
554
726
609
762
638
610
884
580
588
557
541
874
847
608
796
533
583
492
640
527
520
682
501
510
752
514
597
608
558
550
554
543
695
542
555
648
630
541
805
701
504
565
584
767
506
802
540
640
712
765
530
500
523
720
539
853
804
887
719
535
816
543
594
772
668
534
628
679
759
755
867
597
530
643
708
541
651
885
564
687
857
612
542
547
540
512
634
778
529
567
535
725
573
577
897
889
828
660
518
536
599
611
888
588
550
577
592
862
578
742
794
527
550
694
799
534
729
739
769
549
532
548
647
559
500
631
523
527
705
591
552
719
550
555
539
753
698
591
571
714
572
811
655
572
840
633
555
580
547
802
620
580
528
919
517
504
969
558
530
550
699
561
817
555
804
519
524
750
785
570
676
562
546
507
795
708
490
599
624
931
698
551
764
538
561
540
648
698
716
788
883
592
813
573
594
496
668
540
808
663
567
565
537
702
702
523
785
590
532
599
682
573
531
560
531
622
582
879
720
606
593
539
584
846
535
521
645
805
836
606
611
826
572
533
568
678
541
866
575
780
677
833
571
547
554
511
516
617
925
509
681
735
552
545
570
602
611
780
524
700
708
842
689
531
779
602
623
557
503
542
664
532
573
489
572
612
608
589
525
528
568
566
561
558
531
554
549
583
705
566
909
603
579
518
695
755
567
556
812
531
689
543
778
563
547
753
692
662
550
531
535
564
530
650
623
825
786
521
732
577
560
768
556
551
635
547
530
503
735
604
573
563
526
735
687
773
587
734
592
770
503
803
527
542
729
531
607
606
563
521
553
603
570
602
675
544
754
559
774
991
708
523
619
723
560
946
505
666
914
773
629
540
508
731
616
520
533
581
558
638
550
544
796
510
591
582
654
561
620
541
609
540
616
879
560
633
553
587
551
840
712
635
585
531
547
549
560
743
943
706
645
678
602
788
834
485
559
685
534
726
559
559
879
844
698
658
877
734
764
720
569
540
570
794
994
602
572
737
566
548
573
521
633
788
619
567
818
509
781
573
611
546
777
614
758
690
891
675
733
494
552
618
596
632
564
538
790
548
807
638
553
677
562
578
586
670
745
916
654
844
633
792
907
948
542
817
587
756
694
853
742
542
521
622
520
763
568
567
557
653
706
619
738
938
542
508
558
565
550
535
777
520
840
788
540
672
794
701
752
565
668
562
860
509
575
697
544
510
583
826
547
582
568
759
820
941
544
501
605
583
918
565
522
907
575
595
655
637
572
762
793
682
517
635
551
575
521
582
820
566
572
545
857
738
918
749
788
794
520
799
774
932
782
891
501
962
549
545
562
580
774
788
728
714
809
562
826
531
525
524
634
854
513
692
667
552
905
548
689
575
767
884
738
769
603
560
539
515
558
684
657
561
642
561
739
700
744
543
790
548
580
609
642
518
529
646
789
686
613
740
661
703
868
529
518
498
548
791
574
595
759
798
631
706
537
586
732
543
585
558
711
727
562
948
590
800
579
524
556
492
810
540
608
605
531
533
945
619
706
547
519
528
558
543
494
531
567
544
723
519
572
567
615
806
590
557
604
486
640
804
688
597
560
535
653
591
548
513
865
725
574
556
873
545
641
520
749
515
774
521
866
592
880
648
832
522
916
613
683
551
739
890
546
492
498
571
584
581
764
704
591
575
760
666
726
684
543
539
611
518
639
549
615
540
804
537
589
495
628
570
633
714
663
598
592
702
850
548
589
544
615
833
533
539
613
504
881
545
678
547
604
741
650
668
697
886
537
591
725
542
816
659
599
526
740
552
544
700
513
532
890
564
847
543
713
545
557
623
553
583
730
725
515
859
682
497
624
683
569
736
749
504
542
605
698
565
820
564
594
568
537
609
586
584
545
843
547
512
721
544
560
635
587
675
570
554
807
523
513
832
541
539
734
771
547
800
552
617
659
764
684
628
688
690
624
708
728
544
579
564
825
533
669
875
852
525
856
760
741
539
579
618
578
526
779
830
529
859
508
540
524
540
525
553
740
508
579
563
535
618
571
699
787
550
910
805
735
537
817
554
839
553
568
802
602
666
942
607
758
793
862
511
934
726
827
689
596
618
575
576
599
609
974
544
743
884
558
779
556
704
658
572
901
883
857
691
595
643
555
645
509
532
800
794
624
897
617
756
529
593
746
518
577
554
484
851
648
526
538
699
789
586
588
701
676
790
587
494
745
570
699
507
574
528
559
773
594
557
686
573
562
562
601
840
728
796
570
562
753
578
669
550
548
575
569
798
688
539
595
567
692
691
535
674
561
505
583
679
683
719
723
593
819
522
574
743
542
673
763
612
534
650
515
875
566
755
557
550
744
558
949
729
531
527
548
864
545
865
506
491
564
832
739
573
652
734
775
594
744
833
619
829
558
742
826
557
704
696
558
838
621
736
581
876
528
524
583
870
610
536
559
539
654
645
653
558
744
746
645
518
889
528
563
645
583
818
573
733
585
550
925
574
567
547
640
515
559
571
534
510
535
741
703
544
651
561
533
852
824
557
786
568
698
545
533
562
634
569
573
625
699
633
934
597
524
549
650
644
522
550
565
568
550
650
498
711
642
893
541
868
578
836
540
756
654
822
866
833
589
523
613
772
749
674
532
653
528
567
671
865
560
767
559
526
744
614
615
903
680
570
549
550
556
542
530
644
519
579
599
531
692
541
857
524
554
925
533
554
544
499
595
566
498
590
870
525
527
549
846
707
531
577
628
726
698
768
613
828
616
858
666
896
541
525
755
556
731
859
648
746
555
799
697
640
576
605
768
551
771
631
819
694
657
745
567
626
856
525
720
523
520
622
503
480
554
832
685
556
657
556
626
555
670
888
800
546
715
870
681
648
749
539
613
522
819
722
693
511
946
564
530
573
510
814
827
871
546
703
778
588
622
711
634
580
596
534
784
609
648
582
876
882
778
729
580
795
737
787
629
878
583
514
528
667
779
617
596
541
568
632
565
561
565
759
847
566
673
606
569
546
561
650
581
726
655
643
955
563
579
526
615
561
730
873
572
610
587
669
571
842
682
506
743
516
548
631
563
611
946
558
545
863
584
564
835
562
884
803
582
679
554
564
556
559
788
704
564
633
578
735
685
580
558
539
540
606
587
533
533
530
651
607
568
578
641
557
560
520
652
652
555
524
746
771
645
551
530
927
707
756
602
855
872
538
678
540
590
671
854
560
875
671
833
690
731
523
582
564
545
576
660
748
573
568
824
609
628
553
716
578
600
705
548
532
835
912
719
942
544
881
806
534
721
599
499
718
852
576
573
550
875
884
554
655
855
703
530
836
843
551
763
917
584
541
881
921
721
555
511
516
667
596
634
663
642
538
670
654
759
558
518
578
619
530
759
554
712
614
518
683
567
651
536
545
546
576
708
570
680
564
569
518
647
564
828
579
633
855
722
601
570
560
541
686
543
587
720
495
757
536
739
751
890
551
562
952
777
655
661
675
698
644
840
526
539
646
917
559
550
516
601
555
812
828
600
752
859
514
608
540
562
513
515
543
530
765
710
718
544
573
612
511
604
765
801
757
850
832
716
938
844
533
662
727
803
613
583
593
670
816
554
613
529
738
551
556
606
603
873
709
754
685
579
742
544
619
627
563
840
830
869
616
565
548
657
576
719
620
559
653
644
763
518
589
640
780
645
562
710
602
560
848
555
566
699
546
620
509
850
565
582
523
689
665
608
541
728
540
549
583
656
928
673
538
954
520
692
560
768
511
545
581
787
824
835
518
550
803
720
764
784
541
537
530
751
570
739
597
708
537
495
540
558
525
551
592
558
594
969
650
664
560
535
585
562
710
672
897
555
579
611
787
881
562
514
572
656
901
712
595
535
935
523
555
818
494
514
566
575
883
536
669
548
581
618
526
731
595
637
793
748
769
776
962
550
528
555
557
660
547
586
554
886
546
738
588
568
669
534
705
578
533
583
563
590
709
887
541
593
545
566
592
558
801
713
536
610
672
603
544
568
627
634
632
791
550
556
536
628
592
577
611
908
613
700
623
544
641
589
547
689
557
549
797
552
542
605
532
654
608
639
635
572
722
553
561
724
546
730
845
554
781
561
632
651
563
646
565
816
791
635
867
843
663
665
575
618
551
715
555
576
593
540
602
535
547
572
550
531
552
567
865
763
644
818
748
659
572
947
626
638
558
765
620
709
535
554
538
863
594
578
649
888
571
674
543
628
580
891
750
735
756
550
589
602
594
575
658
760
547
829
590
695
676
567
608
559
662
910
547
508
551
917
549
565
600
734
963
642
565
727
534
599
605
534
648
619
548
715
719
564
559
613
588
813
588
828
625
600
945
572
577
564
560
780
515
556
842
836
596
530
636
900
544
833
555
563
523
985
676
824
877
610
658
578
852
571
647
774
662
535
577
505
526
494
550
639
734
601
534
758
531
577
618
556
868
827
768
635
722
895
557
714
676
593
553
646
520
554
961
571
645
590
737
595
891
673
579
573
623
531
764
544
542
579
765
550
543
673
743
645
620
558
558
900
941
550
887
889
666
908
633
721
588
566
516
562
516
544
535
663
627
627
548
541
717
678
827
726
738
521
688
536
714
767
599
628
818
614
941
694
560
734
616
756
529
560
557
861
607
699
626
846
575
715
588
757
677
533
743
549
728
676
558
525
644
734
725
545
915
575
874
546
555
535
548
809
495
605
599
521
669
851
818
674
669
647
550
762
757
570
732
518
698
538
524
643
659
529
696
639
696
552
691
886
686
831
543
521
627
776
645
544
662
768
776
589
572
644
534
553
603
783
590
551
526
573
659
525
666
572
695
538
554
732
768
494
576
822
704
578
706
611
551
594
700
926
859
610
568
587
580
621
603
569
502
710
978
791
578
836
687
546
648
949
598
569
587
548
613
675
567
551
567
541
593
854
734
555
602
590
793
814
539
691
555
766
635
560
842
609
563
660
548
577
803
959
549
864
527
655
631
574
907
793
543
833
740
539
823
638
709
538
688
579
753
760
620
554
707
700
555
560
571
626
572
638
587
940
545
581
555
810
516
596
733
539
572
545
762
576
747
518
525
629
642
522
759
772
731
595
659
530
542
652
546
844
568
597
836
539
608
580
825
914
822
518
501
865
708
638
710
531
592
641
827
922
595
587
597
663
576
629
564
843
566
508
582
852
548
834
922
785
537
657
575
817
584
629
749
637
878
690
797
680
578
571
644
967
490
630
549
640
838
746
543
699
757
670
641
566
508
751
684
857
631
545
683
532
532
524
698
563
671
880
524
640
704
547
929
551
844
597
613
521
810
712
633
602
731
542
556
704
914
541
724
926
592
936
555
533
646
729
577
513
551
669
566
554
572
544
715
593
849
747
555
546
591
606
549
766
527
567
647
833
562
698
890
895
503
767
556
584
739
616
565
616
790
698
620
747
555
859
562
551
680
565
646
762
528
654
530
588
572
515
823
558
562
542
634
666
539
555
841
695
610
562
543
566
613
536
561
597
646
617
591
641
869
788
509
989
768
559
624
873
694
650
806
904
591
576
549
588
677
783
683
687
890
545
581
532
887
560
576
512
797
836
583
870
928
808
909
550
561
822
802
673
539
845
645
584
727
527
595
598
782
626
596
535
554
696
701
535
544
535
608
612
615
684
497
810
537
616
763
640
661
681
692
575
651
571
901
594
802
575
692
635
549
550
652
644
671
607
513
660
794
825
519
718
534
626
660
718
852
590
622
593
571
539
776
545
736
631
901
570
711
608
777
613
546
551
765
963
681
521
609
554
555
645
662
822
598
590
544
569
618
587
546
576
541
676
752
560
688
572
847
769
544
802
563
753
553
546
960
541
859
719
654
608
535
567
581
673
668
667
827
678
797
582
790
781
755
718
853
567
538
788
799
543
633
847
719
548
574
601
553
613
862
825
691
867
550
544
731
791
561
562
696
695
641
807
884
860
541
838
926
538
570
546
666
530
689
525
639
609
761
553
821
906
936
526
853
545
544
526
661
524
957
733
759
841
541
557
578
823
612
746
599
707
570
671
551
612
914
507
900
669
565
535
687
651
518
591
625
609
533
586
594
583
550
553
634
621
552
562
569
547
546
590
539
600
684
626
825
524
543
578
551
603
593
567
681
781
840
642
914
670
854
755
545
904
578
732
607
925
847
721
560
555
773
794
712
650
528
574
876
695
814
569
672
535
547
702
694
542
529
540
862
577
795
571
549
683
826
857
716
984
543
555
793
540
567
512
521
583
572
902
894
535
829
693
574
581
648
771
867
546
687
622
530
726
598
786
579
631
540
932
742
773
703
691
556
532
566
508
590
888
528
867
561
548
559
647
564
650
695
549
570
875
773
701
581
568
548
520
541
726
610
759
656
561
592
582
606
634
661
672
562
599
685
839
796
735
649
740
870
551
681
592
830
588
694
820
561
554
557
550
697
636
564
537
874
572
683
894
761
699
926
547
586
537
530
560
616
599
537
756
660
614
589
541
615
561
552
583
589
640
829
892
583
784
551
555
560
598
905
579
534
614
678
644
576
558
731
553
843
768
633
588
708
755
544
564
640
567
741
647
533
649
717
824
619
561
668
536
756
780
569
585
590
522
771
594
628
556
533
543
661
565
673
860
565
544
596
603
704
857
738
697
581
698
598
673
617
867
958
797
620
547
549
688
691
766
612
628
721
612
674
537
531
534
597
902
512
601
565
505
811
586
586
629
554
808
937
920
914
693
712
627
637
667
825
566
553
632
766
535
577
564
548
772
598
605
694
596
573
598
556
701
579
587
664
549
693
836
799
619
718
641
583
581
556
794
521
868
569
746
654
612
847
655
782
585
838
587
821
561
557
840
574
739
872
648
816
903
545
797
618
561
881
527
726
579
615
721
602
816
844
535
798
542
506
733
624
729
884
562
657
563
639
768
557
551
585
542
666
673
591
593
632
587
634
527
706
762
578
708
521
594
640
538
886
814
975
611
615
543
618
541
537
584
574
700
542
673
598
705
842
615
560
901
634
722
534
550
863
756
569
584
531
595
563
763
605
825
556
875
534
534
559
610
592
565
568
637
783
569
570
716
591
531
828
837
645
739
523
605
549
602
520
647
518
744
561
591
644
553
706
583
652
552
858
863
584
772
582
593
606
737
606
875
989
508
552
812
647
789
591
626
569
531
587
936
619
621
773
649
519
534
637
649
528
555
546
578
546
743
781
549
562
558
709
598
684
750
574
547
777
564
563
592
579
579
577
714
761
583
794
568
521
915
580
662
588
640
609
568
725
568
522
912
877
730
586
590
855
665
772
689
644
547
952
872
575
655
541
712
638
783
536
506
619
565
670
525
733
571
755
562
747
627
939
917
537
500
626
696
574
725
563
728
554
562
719
553
658
540
782
764
690
720
809
859
561
535
616
559
571
542
654
845
617
785
689
820
583
530
720
572
743
689
691
696
596
867
599
758
597
629
908
555
784
658
718
532
736
724
561
688
603
562
544
768
751
639
855
583
685
709
555
495
701
496
737
959
596
593
535
536
752
804
759
653
539
545
723
608
754
561
554
591
548
570
876
789
666
850
729
565
739
570
591
517
585
515
537
551
573
781
827
671
584
568
812
556
661
571
638
757
637
802
542
642
752
860
614
765
554
560
756
555
564
901
541
599
562
664
522
797
565
743
603
608
551
600
567
787
584
639
868
571
656
537
544
852
544
761
519
740
659
583
559
570
587
554
777
536
714
588
716
622
601
854
808
604
542
734
541
603
815
582
576
717
881
665
718
570
574
804
681
596
566
628
564
571
652
624
571
594
729
525
856
616
658
605
541
842
675
703
548
607
809
591
581
534
552
561
694
793
746
498
682
554
533
890
748
680
581
871
812
807
687
545
608
548
732
624
592
675
563
945
591
637
531
548
587
525
761
535
774
589
570
548
592
598
623
566
810
587
777
559
838
867
700
560
718
682
652
569
678
575
604
596
558
700
565
757
779
886
518
563
698
539
641
775
599
657
755
648
794
663
602
590
545
718
568
553
633
553
606
681
760
536
624
576
594
597
932
589
900
764
547
574
551
805
685
780
650
723
637
623
945
680
713
522
722
817
579
564
563
767
717
551
537
685
825
533
542
892
636
717
841
743
819
534
779
568
654
569
541
577
550
533
766
524
816
578
695
738
879
697
633
735
694
868
559
774
605
718
552
824
535
670
582
807
785
545
820
571
697
594
621
749
781
580
793
584
560
885
587
724
571
661
530
714
645
521
658
543
534
581
553
628
578
783
559
628
608
654
783
537
537
611
522
555
573
635
597
932
552
946
588
499
583
547
709
846
584
803
569
757
831
735
590
949
586
866
589
592
711
662
568
744
748
575
616
548
621
574
804
576
811
569
597
568
800
550
847
566
554
688
658
569
518
679
632
586
615
539
581
875
778
591
686
534
799
580
766
763
573
563
770
562
758
657
601
560
594
654
628
655
800
529
583
570
599
531
714
749
625
747
707
742
605
516
783
615
874
693
829
647
909
582
662
791
665
517
637
610
609
599
666
727
567
548
573
587
603
741
602
741
673
545
698
750
591
657
538
563
818
851
567
588
656
590
697
895
643
542
584
686
605
846
656
558
593
582
747
682
568
635
645
687
528
933
635
569
720
567
720
588
677
689
770
632
555
926
818
578
614
580
560
657
593
855
568
738
505
568
553
686
533
804
636
599
562
567
743
765
955
586
575
631
637
913
571
522
579
559
566
610
571
723
731
576
581
666
563
597
540
755
544
542
543
541
615
758
904
821
770
857
658
614
561
686
545
801
669
549
564
563
813
751
572
868
649
605
547
877
618
558
543
830
612
571
543
548
786
556
561
551
722
692
569
640
705
708
575
560
538
727
575
783
559
728
558
771
583
587
573
819
851
582
711
571
675
770
621
696
629
727
570
592
670
563
578
573
679
711
580
597
821
725
568
632
544
555
591
647
672
778
853
550
645
629
795
593
666
570
820
866
726
682
787
899
621
768
535
575
671
622
611
610
624
556
660
751
756
744
556
709
509
691
729
530
624
742
798
514
817
834
710
902
550
647
829
799
558
582
588
528
569
762
642
605
684
751
871
799
934
744
586
688
602
590
720
769
560
541
921
807
751
572
780
788
789
585
749
612
925
905
541
614
559
570
705
794
808
532
670
575
814
827
628
548
554
550
573
568
602
510
911
542
610
795
617
548
721
575
691
774
518
909
567
674
601
740
939
650
601
731
606
527
755
624
545
889
576
574
567
934
708
706
640
624
596
866
767
815
720
631
733
975
826
751
885
561
658
634
531
654
599
668
518
566
848
784
571
600
575
623
759
594
632
582
733
635
558
720
604
558
541
679
615
593
569
720
697
580
554
584
720
572
562
592
815
566
564
655
812
562
593
685
584
545
619
569
631
576
592
841
729
645
575
787
791
557
577
690
743
615
654
673
645
681
579
653
839
756
700
556
701
574
543
825
830
607
567
798
552
679
659
687
691
524
733
564
583
748
594
568
587
563
559
654
811
802
562
692
613
733
773
844
556
582
548
622
543
641
795
736
668
610
638
610
586
969
997
680
652
602
554
771
573
637
906
625
745
744
627
596
533
560
709
859
598
730
612
645
664
716
570
614
549
582
561
601
849
583
815
596
769
606
639
523
683
675
724
543
851
558
627
612
630
801
772
819
554
652
562
567
567
515
593
710
686
577
604
669
882
613
862
612
672
856
546
894
666
571
540
603
854
558
635
564
879
733
732
782
551
946
764
711
620
805
824
853
853
588
640
636
789
644
560
647
530
533
810
806
613
668
959
804
906
900
565
953
613
863
567
865
589
651
721
560
638
574
739
542
545
572
608
719
626
644
539
887
624
789
727
789
617
526
511
674
603
656
867
577
581
546
563
901
851
581
705
941
556
624
592
585
884
611
609
603
542
763
565
776
615
857
580
561
672
569
619
560
614
600
785
650
833
563
657
657
539
906
854
789
610
942
527
592
608
898
799
753
639
811
701
861
568
951
801
656
690
538
518
846
573
794
562
598
912
738
652
701
855
656
722
762
655
651
702
806
674
548
815
713
829
780
670
605
545
845
747
737
562
545
757
608
795
596
538
564
748
580
582
855
663
552
562
675
577
843
527
581
568
567
830
512
700
636
787
683
862
591
614
541
627
900
777
822
564
777
617
849
555
673
560
649
585
633
562
712
587
564
558
684
560
573
658
658
565
954
800
729
608
595
595
660
851
550
677
712
566
525
622
663
930
730
556
936
828
555
585
899
895
619
636
749
637
555
555
561
647
727
601
595
758
529
565
569
544
639
755
744
868
550
583
724
724
929
615
893
799
819
550
615
846
607
569
608
608
579
564
616
836
513
571
791
550
544
660
542
617
668
550
588
564
681
550
540
578
577
675
653
913
535
723
698
595
909
808
695
767
568
707
575
545
564
657
674
658
753
582
705
609
804
601
729
578
546
942
599
524
832
554
971
823
663
600
614
619
827
589
707
610
517
578
575
774
583
917
575
802
603
646
878
662
546
555
806
543
580
760
761
540
813
731
604
635
581
642
707
721
535
532
668
691
560
534
744
606
542
584
729
522
566
617
813
741
764
555
898
707
729
567
662
900
560
813
581
893
587
622
590
629
554
676
531
718
665
753
603
565
561
585
540
930
841
569
576
658
697
547
543
795
550
529
878
819
656
725
740
907
697
547
549
567
878
586
550
645
627
712
946
914
866
546
633
620
853
568
560
777
575
568
584
559
607
540
570
597
909
578
599
669
687
896
605
916
554
738
809
708
540
568
725
740
858
808
688
551
856
745
745
590
526
629
554
750
576
730
779
549
548
841
592
680
766
877
714
679
848
718
633
572
869
843
649
570
942
539
592
659
799
556
914
702
667
757
560
881
580
565
774
556
652
806
597
564
645
579
612
593
564
551
538
685
731
590
524
556
698
655
731
599
941
524
639
568
696
709
525
751
726
647
603
885
572
640
618
621
696
764
614
586
887
537
777
939
564
770
609
533
759
570
613
667
814
504
881
649
579
814
650
778
557
926
589
598
835
564
818
654
564
843
588
693
738
673
609
745
705
830
691
551
604
607
617
579
648
586
781
803
763
648
523
608
695
589
763
540
914
631
540
547
882
566
705
940
837
568
786
567
980
694
636
565
565
591
633
841
597
585
741
762
857
908
616
841
583
763
592
641
804
630
780
573
736
748
629
621
562
693
840
552
907
767
662
922
663
700
539
866
868
570
694
563
727
592
555
658
583
581
763
782
854
593
599
779
699
794
620
567
929
607
608
785
566
575
726
601
887
560
853
787
561
624
641
706
750
568
841
593
829
667
731
719
622
669
567
551
694
581
767
551
561
684
599
823
711
726
835
555
566
693
873
606
532
545
582
576
557
635
713
588
568
743
678
518
534
836
797
552
922
556
603
792
739
773
728
599
556
549
696
765
943
904
582
715
864
975
521
519
701
710
898
607
770
608
606
602
556
572
778
587
857
671
574
662
573
566
536
609
763
680
794
795
807
561
694
621
645
587
577
672
802
825
666
574
609
708
814
700
678
752
641
557
578
801
566
667
579
623
612
843
769
652
541
552
609
752
543
678
846
624
566
783
735
634
592
613
813
723
568
582
796
585
713
557
596
797
565
561
820
605
548
649
780
818
579
775
648
836
550
749
519
584
809
600
567
887
619
803
515
775
749
694
576
575
680
590
676
513
585
621
591
676
896
650
576
735
555
723
593
602
873
811
728
881
563
549
610
588
708
552
713
728
531
592
934
854
686
659
581
549
601
587
727
911
664
608
760
614
740
740
597
799
572
691
600
954
666
583
703
759
569
603
728
734
646
748
585
527
582
737
576
567
849
884
804
552
918
660
546
592
684
847
592
646
571
600
725
612
853
833
639
746
670
616
540
692
773
685
837
678
900
553
623
883
584
691
688
726
823
554
598
804
573
659
656
770
787
665
562
552
575
631
672
956
672
780
601
542
589
555
595
789
552
611
575
568
567
628
696
663
567
895
735
587
798
694
701
657
837
732
664
615
584
590
858
702
576
679
674
742
713
535
860
948
730
563
707
601
793
588
529
715
537
609
596
587
629
596
536
595
523
590
816
539
848
840
736
669
615
747
873
656
645
578
556
619
748
860
591
752
564
603
566
744
560
589
582
745
954
692
565
738
594
641
745
699
799
543
601
808
669
582
681
526
524
595
600
597
556
817
694
872
556
857
618
820
727
895
991
589
889
557
588
762
690
588
603
548
795
779
582
606
617
559
840
574
684
647
753
617
827
843
761
617
572
626
639
599
716
614
589
643
668
614
620
594
688
556
671
600
627
597
533
581
550
621
713
708
765
522
869
653
909
631
564
830
588
749
915
560
599
635
729
772
639
598
964
675
965
712
741
546
586
550
580
614
641
794
703
658
838
830
561
756
709
792
568
550
555
592
893
591
871
689
585
851
725
536
718
683
550
882
643
725
769
686
566
761
577
782
769
693
910
720
745
610
590
566
599
661
625
797
663
769
849
541
639
590
746
584
612
559
608
579
739
566
714
864
661
884
596
767
598
583
584
529
628
791
584
681
1010
946
850
568
605
881
529
604
663
752
575
665
570
697
689
910
909
615
665
553
545
777
567
890
683
545
607
671
576
714
642
813
604
560
600
622
610
589
523
833
629
571
544
516
586
613
695
656
624
632
775
636
604
664
558
606
595
557
533
570
610
742
609
691
637
579
851
776
867
803
643
701
727
529
559
866
788
567
921
555
582
931
564
612
766
636
526
781
524
652
681
786
696
581
939
746
550
605
599
563
670
665
580
712
637
612
715
645
718
640
623
606
614
796
542
973
831
566
661
765
661
622
704
895
650
848
583
541
550
565
730
655
584
802
735
695
724
558
761
883
592
748
588
636
557
697
570
920
598
779
809
559
609
749
619
701
895
585
713
571
588
500
603
558
810
553
624
598
572
663
667
616
557
588
620
636
680
534
554
526
740
644
748
879
538
648
539
580
798
804
880
610
585
918
572
649
545
580
827
559
666
605
575
600
620
551
682
753
695
647
638
770
585
712
588
803
730
599
928
662
960
577
672
587
780
628
563
546
680
515
565
779
718
653
554
560
724
865
685
581
574
597
795
615
874
559
815
746
609
893
581
585
573
635
545
616
558
645
804
527
748
845
711
590
666
505
594
716
848
606
754
767
668
542
540
774
541
629
516
632
559
607
705
645
580
776
533
754
595
581
667
552
546
813
811
592
610
533
735
613
549
667
582
950
834
869
891
603
541
651
705
536
572
849
537
780
566
581
648
700
638
641
574
939
582
742
658
545
698
717
577
765
556
706
564
532
554
610
539
855
569
679
592
794
677
896
537
586
764
570
561
566
605
651
853
567
755
583
770
681
684
570
827
529
819
639
797
572
559
568
591
725
588
661
653
832
702
573
543
554
815
663
645
667
878
553
708
599
632
686
566
537
723
837
599
746
881
717
528
642
558
915
625
527
587
671
605
635
730
687
730
730
599
574
842
723
604
640
539
542
680
696
575
708
585
611
846
594
633
830
845
680
584
770
553
820
867
629
688
548
768
881
673
584
664
546
639
581
794
778
568
616
588
858
770
638
719
531
882
876
565
568
564
698
769
698
555
766
557
728
767
879
562
706
733
555
757
577
770
566
777
961
727
828
813
570
844
815
676
654
611
829
682
755
629
765
608
828
574
602
666
763
585
645
929
568
715
744
577
939
580
587
596
795
832
578
731
906
599
854
752
833
622
603
645
821
566
582
880
747
614
603
824
740
660
571
625
553
811
549
579
909
583
573
649
547
474
633
591
627
536
630
583
566
613
699
736
614
550
604
730
850
692
913
629
641
716
570
848
634
904
603
581
766
605
881
630
546
718
592
632
556
681
670
697
651
675
598
593
602
570
883
648
763
653
601
636
603
869
723
644
825
555
670
614
916
645
669
594
579
631
564
836
645
556
659
795
780
594
562
883
593
583
835
602
819
650
705
580
844
600
840
609
748
518
576
573
582
857
885
609
552
902
615
722
595
680
525
662
647
569
822
525
763
598
770
720
828
813
748
528
843
530
592
680
595
538
603
633
680
600
631
660
878
587
772
691
805
696
813
697
893
619
576
573
602
569
671
543
822
858
672
799
681
685
816
535
823
601
677
567
715
639
624
770
561
561
829
610
563
674
609
884
668
566
614
613
598
746
583
596
782
958
612
593
550
572
612
741
707
598
930
717
642
644
676
925
589
959
601
665
654
925
711
558
654
597
795
859
592
584
597
627
630
592
785
708
566
882
565
572
595
556
603
739
918
890
723
831
560
740
788
856
554
570
660
588
619
743
707
792
575
655
598
895
624
612
885
582
572
563
867
548
657
521
594
543
745
572
835
675
879
942
672
560
589
841
783
899
666
676
747
568
689
883
880
546
553
631
714
569
726
602
699
552
796
613
882
689
883
685
611
557
598
771
598
743
917
797
611
821
708
801
595
568
617
713
738
555
746
642
776
624
591
818
801
688
595
980
700
591
809
594
599
530
608
722
573
628
688
719
875
554
706
919
635
772
794
816
580
633
928
728
864
561
638
573
613
578
749
620
612
604
788
613
611
722
778
519
718
602
597
770
832
706
646
602
571
596
594
589
565
708
594
817
530
704
939
661
605
894
588
915
594
612
595
764
712
950
609
783
568
577
561
628
645
548
691
574
762
597
664
881
584
867
581
956
783
877
587
819
553
597
802
664
633
571
588
701
652
637
578
599
539
863
776
741
937
714
601
828
833
599
799
838
702
881
898
652
652
626
617
686
617
872
798
757
828
828
720
578
775
544
622
807
662
570
724
576
843
539
757
816
576
599
645
682
563
784
657
733
807
876
772
685
830
584
634
857
945
563
642
688
549
851
814
954
621
864
530
660
626
582
608
625
650
604
944
727
770
568
911
528
700
601
628
852
609
561
560
714
756
590
579
753
860
601
729
710
568
796
560
667
569
634
686
605
606
764
920
933
755
584
765
589
577
555
739
883
828
783
580
929
545
629
921
595
589
546
725
839
585
710
633
621
606
595
878
740
610
832
744
536
511
672
555
583
551
559
734
719
619
597
823
669
583
602
580
740
723
564
902
564
564
766
738
867
540
576
546
628
771
544
544
715
696
757
757
574
631
952
683
612
659
592
844
768
585
564
581
923
942
577
645
614
584
802
842
778
639
660
579
627
536
747
754
572
844
770
596
665
619
874
733
605
662
577
641
743
897
590
627
779
563
582
729
694
621
587
818
569
602
734
572
891
556
597
745
548
563
563
712
973
742
796
594
597
546
645
627
684
591
917
552
533
607
576
866
538
619
577
773
559
929
579
626
561
571
927
703
577
802
592
769
582
881
746
797
592
547
597
924
696
546
629
646
968
798
571
840
584
680
710
733
600
550
558
565
562
674
666
674
560
558
624
676
680
526
890
791
838
633
602
956
898
803
623
726
561
699
587
594
628
612
592
575
759
559
553
880
656
825
589
634
673
874
641
841
749
684
568
878
779
687
678
555
565
775
548
679
560
654
596
818
928
744
643
621
537
910
616
677
654
719
799
822
536
821
577
546
770
788
890
572
820
583
592
744
714
723
774
586
547
732
788
600
635
556
603
546
543
572
787
585
553
686
564
832
558
935
613
682
927
533
573
568
734
612
671
654
773
684
964
712
546
588
835
596
708
893
778
774
848
645
797
669
635
636
559
740
540
539
615
576
827
941
536
576
550
937
550
580
748
521
589
621
587
565
787
852
709
606
690
663
607
799
574
573
546
807
585
699
784
609
824
658
551
910
599
573
603
645
593
573
771
672
646
722
575
567
558
545
574
633
599
600
632
904
752
761
827
612
859
766
916
768
561
624
717
574
720
572
743
618
813
557
583
859
776
545
740
598
705
595
671
866
564
781
603
785
860
580
894
670
695
591
584
556
683
585
730
836
771
594
792
606
713
804
606
566
629
686
807
541
592
624
597
597
759
637
729
599
605
868
634
618
792
874
625
630
955
689
890
888
681
603
734
893
618
686
633
774
604
854
568
691
614
646
572
575
607
834
761
587
870
537
721
867
690
593
547
897
547
810
575
649
875
576
599
671
656
729
667
798
833
578
716
819
908
584
694
806
558
597
553
586
853
612
638
663
819
618
741
665
643
645
555
542
723
698
759
632
623
562
716
838
806
779
841
658
789
620
641
695
622
735
646
551
571
965
887
937
853
950
788
560
645
561
876
711
829
567
578
856
703
816
849
730
723
733
582
963
565
786
700
574
844
582
655
718
921
792
556
906
669
662
846
707
577
920
567
562
620
770
879
570
566
588
553
790
929
613
672
752
859
596
813
574
636
649
758
716
593
609
606
752
620
639
697
565
913
554
929
589
913
552
717
581
600
793
910
726
560
595
848
585
625
740
635
788
563
892
607
785
874
597
607
560
611
751
562
742
657
778
666
612
641
543
579
738
816
812
631
599
836
752
776
617
571
573
603
631
580
585
584
559
677
798
822
695
666
846
830
548
676
773
906
639
577
670
686
614
636
579
784
684
747
574
852
595
680
772
583
938
551
894
881
995
597
789
651
600
646
763
835
627
638
668
618
760
704
969
666
565
670
778
888
829
732
734
718
721
849
603
553
533
576
635
848
734
748
683
599
703
546
657
601
601
681
954
592
826
728
863
556
600
570
569
799
931
636
611
690
747
600
665
578
577
653
608
886
598
547
885
580
613
779
612
610
553
620
539
571
570
669
695
725
623
633
850
831
574
623
568
597
784
602
699
580
576
657
746
699
632
862
710
606
623
803
683
651
601
689
703
627
642
596
541
745
569
657
684
583
817
564
640
566
530
535
600
935
582
624
652
570
820
870
812
937
589
625
539
794
633
600
595
575
555
728
673
682
573
695
777
927
665
746
697
796
547
925
782
822
722
687
579
647
606
590
736
576
785
903
621
617
593
900
585
718
548
603
613
568
703
564
863
761
787
681
823
568
897
603
762
692
582
748
589
902
606
583
580
925
544
803
829
612
694
566
838
567
899
713
607
729
721
758
588
594
545
592
753
699
602
818
577
913
572
569
578
871
730
853
835
772
741
562
686
639
642
635
771
714
583
686
878
786
584
561
601
578
807
711
834
741
654
593
675
839
571
542
912
824
883
583
632
601
587
612
541
576
564
612
772
628
824
669
825
852
654
585
601
888
607
557
576
563
660
911
567
628
728
554
621
823
673
645
562
788
566
679
716
946
633
845
595
572
562
733
642
818
579
618
678
670
899
851
568
560
844
703
860
574
658
661
800
811
838
859
717
809
677
586
594
597
768
567
856
757
629
658
665
701
779
754
609
694
847
562
588
670
537
589
990
758
587
555
794
840
677
830
639
612
759
546
590
587
739
791
578
574
692
534
571
614
697
561
840
816
602
641
561
779
589
685
561
688
568
643
588
558
808
772
869
938
681
607
609
590
700
536
585
579
729
547
593
579
782
692
656
536
711
586
590
540
667
628
629
631
834
604
810
713
625
834
609
765
626
688
755
623
607
559
789
750
570
586
858
586
859
707
599
854
588
607
720
937
639
629
582
651
574
610
807
892
594
617
659
872
708
722
787
700
619
696
681
740
600
647
805
602
776
647
599
652
731
574
600
571
622
796
595
546
924
587
712
534
653
916
607
592
579
690
754
537
610
868
728
692
590
558
598
764
722
592
566
567
593
626
577
660
642
617
780
558
581
548
606
834
554
673
787
801
646
550
880
657
545
808
788
694
570
601
572
616
580
624
565
724
701
596
874
725
735
577
619
743
620
685
626
722
961
776
585
721
835
906
590
557
722
575
610
718
622
560
649
842
675
561
578
843
793
531
743
553
904
598
591
712
616
573
653
610
633
682
773
623
565
665
790
698
648
671
911
748
590
599
533
549
591
903
641
566
594
678
933
719
713
619
757
827
853
622
623
551
745
677
813
747
887
622
849
799
956
606
574
642
566
686
896
674
933
578
651
651
689
712
554
930
808
586
616
601
640
717
629
843
561
641
755
927
816
612
633
748
714
832
820
572
580
593
909
731
726
620
619
671
907
713
558
577
683
743
583
789
634
649
589
609
724
678
764
706
811
643
556
587
657
672
718
566
585
605
549
801
617
781
626
550
600
582
745
711
563
570
740
833
578
819
830
579
947
575
592
658
597
540
853
869
554
785
588
608
854
632
562
783
780
820
672
642
645
567
826
570
687
671
748
673
842
818
608
611
741
908
561
825
595
848
669
547
583
654
727
787
684
564
888
616
761
575
762
898
657
918
936
597
655
839
712
642
542
616
729
636
625
701
586
605
630
771
951
635
559
705
781
657
546
604
874
590
597
829
548
548
867
655
619
902
778
874
617
580
729
810
725
615
587
592
923
548
852
563
780
533
800
784
560
563
888
939
575
841
580
930
706
733
673
863
592
722
711
759
570
827
689
548
572
969
696
708
827
658
644
612
607
581
584
712
744
852
650
765
763
844
603
839
784
607
592
827
601
864
607
826
744
755
567
614
831
608
891
576
799
626
656
799
567
670
604
792
839
608
582
604
724
613
798
643
711
813
749
606
588
543
735
878
870
797
594
830
582
558
647
704
599
755
720
620
795
862
564
682
577
570
576
932
933
559
552
729
777
655
719
913
790
610
775
601
864
709
905
715
685
714
919
802
899
650
758
544
693
627
678
949
614
725
648
598
714
732
715
597
582
589
548
663
632
567
853
682
683
632
602
790
577
612
563
597
653
569
719
661
576
751
585
825
947
762
571
546
690
618
575
599
947
617
694
976
662
693
641
610
554
641
815
856
995
597
747
766
530
618
595
549
589
733
695
592
849
785
544
714
705
577
683
662
587
572
891
565
581
672
584
588
892
596
942
907
626
574
819
728
689
605
665
638
687
631
960
578
616
566
574
764
685
621
693
766
560
612
704
833
581
692
701
591
796
591
784
565
693
838
596
549
695
718
589
927
606
633
610
602
590
569
680
775
710
850
619
620
604
582
731
851
605
924
713
795
566
640
742
852
731
791
577
608
610
944
610
585
827
549
538
862
556
792
619
609
901
598
752
917
606
583
592
658
551
771
800
722
590
650
762
696
843
574
574
861
794
667
611
546
660
579
574
606
724
566
608
576
752
662
682
597
608
592
574
792
769
582
652
545
558
650
566
592
552
898
802
553
601
604
574
720
604
953
589
762
682
563
748
850
608
561
586
633
781
632
815
576
653
614
549
586
826
584
924
715
696
683
568
581
696
649
967
725
566
566
819
723
707
876
612
667
847
910
635
680
580
617
561
659
557
635
615
749
745
621
570
607
604
623
752
887
600
572
556
734
568
583
654
845
632
734
562
593
767
895
882
560
591
576
725
746
610
742
790
629
585
820
780
601
630
697
612
751
638
616
587
791
758
600
579
565
669
859
703
929
784
581
819
642
695
846
967
570
926
882
596
559
582
547
911
670
597
658
663
609
638
606
693
683
747
607
663
716
595
577
831
780
603
584
715
927
546
621
579
550
670
754
556
824
911
634
575
580
902
762
664
560
685
601
914
614
661
800
924
624
950
746
588
790
679
605
643
634
629
748
858
609
828
881
593
730
842
577
604
593
649
919
990
606
583
587
567
591
611
589
564
674
606
609
551
598
601
803
557
748
628
649
619
572
557
654
603
697
764
656
890
745
619
676
881
875
974
609
565
694
741
606
656
730
789
939
565
937
613
653
564
554
817
562
617
617
593
601
586
605
858
776
916
654
679
689
592
679
575
910
818
554
666
588
587
863
599
802
796
609
794
599
604
642
716
623
619
927
586
604
599
612
868
640
774
570
546
616
612
854
645
717
774
627
602
661
508
735
806
562
931
651
532
589
860
603
675
727
712
686
699
731
836
567
585
620
536
602
780
862
721
724
882
798
628
549
575
648
613
684
763
780
546
589
878
597
571
589
587
748
585
578
687
602
557
885
617
874
763
852
826
703
573
562
900
585
597
621
734
917
604
753
656
929
623
599
656
695
658
832
560
835
599
753
747
800
614
834
651
607
600
613
588
616
739
595
583
637
538
597
755
595
842
761
847
792
563
556
609
907
658
627
645
610
752
598
814
793
662
855
545
870
763
586
684
695
777
732
925
573
704
582
795
774
584
818
925
940
541
971
686
942
575
551
737
968
582
522
645
590
571
682
962
621
801
709
654
570
770
594
595
890
615
598
960
560
581
704
734
621
570
606
564
857
688
805
665
592
575
867
699
580
601
797
642
686
632
696
670
576
584
643
795
648
843
658
616
712
819
688
594
707
773
616
656
598
584
859
892
575
563
718
775
598
769
511
587
865
659
558
658
587
706
546
588
876
628
615
550
688
699
864
588
886
856
792
590
588
680
913
550
573
668
761
599
626
622
560
655
799
591
918
837
840
749
771
863
578
843
648
831
614
801
565
750
599
795
620
982
611
616
563
637
840
719
752
607
594
898
580
904
849
659
545
621
689
619
868
722
667
583
585
571
837
609
574
650
588
866
580
549
616
612
663
862
598
594
583
734
567
633
706
756
644
899
785
870
608
841
653
705
600
567
780
987
581
821
762
860
939
603
721
600
702
556
560
903
918
610
656
835
962
769
532
569
676
708
825
849
585
597
573
902
692
592
680
961
747
809
965
801
588
785
809
578
608
652
541
663
720
807
600
650
595
742
605
879
598
560
617
620
708
608
649
601
831
591
580
618
718
568
628
752
607
648
570
591
670
673
753
603
590
830
605
578
615
804
569
858
599
738
591
552
648
595
624
576
533
932
719
745
709
548
594
935
724
622
802
616
618
559
863
578
816
928
838
654
612
580
592
598
592
724
833
728
700
738
628
629
594
697
796
584
790
646
798
756
603
664
795
643
576
742
928
574
637
721
855
862
573
628
639
562
616
580
580
673
745
590
647
557
707
829
650
851
580
888
622
743
756
625
628
622
687
839
703
571
913
577
603
829
618
806
946
854
597
642
811
794
572
831
940
621
601
589
798
722
823
889
704
585
949
778
630
648
559
659
648
617
916
899
737
920
875
584
933
737
771
770
860
674
668
703
957
611
583
863
642
832
655
582
734
780
804
905
705
787
742
869
852
962
678
603
576
656
651
899
655
575
784
560
838
599
723
585
615
639
738
550
686
721
585
775
603
634
607
537
807
871
833
624
590
635
570
777
729
812
612
600
630
688
947
926
856
796
635
605
677
753
692
730
704
663
567
588
599
691
548
629
569
621
602
951
640
760
874
617
752
725
712
742
615
586
831
684
716
598
573
636
951
723
647
615
856
730
910
664
825
595
610
782
593
678
530
601
859
607
665
558
582
770
605
672
624
668
605
857
643
662
589
709
837
799
566
686
605
601
585
629
640
587
897
684
804
608
620
947
748
903
861
677
829
560
583
589
544
702
627
904
596
758
821
581
597
786
654
911
588
581
607
664
537
581
582
894
621
885
628
741
777
877
715
866
583
655
584
641
836
652
545
579
762
618
661
600
591
610
599
585
587
560
692
571
790
630
775
742
855
708
917
749
938
776
955
749
597
594
639
692
570
594
712
637
800
628
605
695
695
612
761
737
881
781
658
888
880
588
712
606
561
581
648
572
555
559
563
687
580
734
604
857
758
752
753
554
528
586
572
842
637
603
816
964
694
568
632
811
757
749
823
731
615
563
725
756
619
592
635
549
624
776
630
693
589
600
704
611
855
653
678
585
596
546
972
626
569
606
622
620
609
981
611
591
603
590
747
591
940
740
588
714
588
578
674
936
680
726
604
625
711
591
587
577
928
959
734
653
596
768
611
617
560
656
728
588
675
755
726
806
865
691
650
613
675
665
700
605
842
841
690
608
625
893
597
776
638
818
628
779
881
615
831
690
802
651
734
608
632
567
582
606
902
566
752
649
764
598
607
866
617
920
571
712
790
868
748
556
628
715
762
771
545
632
670
844
922
600
883
638
617
586
727
590
562
605
576
640
705
754
549
912
704
656
731
549
902
595
571
628
623
884
575
603
678
591
655
901
619
623
618
586
759
630
637
551
749
751
926
566
583
778
769
816
572
803
570
758
900
843
587
958
742
888
579
567
589
731
543
702
644
598
583
574
672
920
800
893
836
605
605
602
816
996
669
661
918
559
678
595
661
567
731
634
734
612
784
550
612
726
677
576
681
592
662
677
852
581
708
560
793
644
622
565
821
604
881
749
801
861
589
592
614
801
586
615
568
886
561
736
622
585
541
720
585
615
599
899
872
607
943
848
835
603
856
579
620
698
587
758
694
791
605
958
878
661
854
583
607
950
640
912
605
563
627
581
644
666
579
677
670
602
695
612
772
803
584
887
679
565
581
777
873
537
656
677
614
610
629
933
924
720
660
958
913
572
600
650
565
661
843
748
751
663
631
904
918
567
998
710
725
616
660
985
828
565
844
718
616
852
962
566
797
800
677
917
654
656
727
628
902
692
621
767
666
683
574
909
635
687
655
591
704
633
816
661
622
603
578
609
928
573
697
551
631
769
867
585
801
616
590
773
748
806
633
707
674
660
860
694
623
777
938
601
637
653
611
600
716
587
785
595
738
667
691
565
892
674
632
828
598
683
699
922
869
598
572
841
612
825
606
604
643
606
1004
611
874
817
616
583
790
682
620
634
611
820
589
575
567
884
573
724
895
608
736
642
578
584
581
620
584
559
618
621
779
798
604
809
705
582
633
895
680
910
814
846
563
587
538
559
630
638
569
668
843
594
601
612
727
800
830
633
617
706
746
739
705
626
876
651
602
607
600
606
851
754
598
662
683
575
614
634
885
863
613
649
567
668
777
552
753
590
603
743
662
694
787
853
954
566
689
585
783
582
618
621
779
591
573
601
814
652
809
750
563
630
656
637
939
620
596
614
697
651
655
617
875
775
582
575
882
817
812
741
734
609
580
624
641
586
650
868
632
800
767
774
537
836
629
697
635
587
689
601
863
579
535
695
648
624
903
611
580
672
687
980
574
726
625
584
778
675
721
783
584
789
743
612
672
728
560
602
804
651
736
705
923
570
625
722
577
723
564
682
833
780
789
591
635
609
704
590
532
660
597
787
960
607
697
599
625
946
686
579
660
621
577
810
702
753
629
820
639
656
675
668
785
764
764
852
673
774
649
647
720
613
877
890
971
719
560
836
607
936
924
673
612
614
690
619
620
802
567
582
599
576
628
731
683
623
609
761
617
654
769
656
575
627
656
590
624
831
841
895
703
748
727
664
572
847
842
871
607
620
695
577
722
578
881
643
582
731
640
620
773
663
791
633
593
765
701
647
669
736
680
694
641
761
615
550
655
650
909
662
900
726
743
661
601
619
624
632
607
561
651
601
634
604
679
597
611
642
653
574
697
621
817
749
765
600
645
764
653
592
702
597
599
683
723
637
667
634
601
565
580
553
730
619
675
581
591
790
600
802
835
688
581
546
616
676
764
716
792
494
633
744
866
618
609
608
856
697
673
808
810
587
589
764
808
811
939
793
554
611
610
711
831
632
927
779
681
651
904
729
695
624
943
714
678
679
769
550
587
670
573
887
805
612
818
843
981
776
652
589
570
731
556
601
636
637
579
775
621
802
850
557
773
755
854
848
572
668
877
553
569
657
921
576
606
693
627
596
595
922
736
718
614
707
598
559
653
629
576
677
682
557
778
844
715
716
665
746
752
629
706
596
605
606
723
614
898
720
944
602
712
673
608
635
541
638
572
605
780
609
591
545
568
879
614
693
670
605
594
665
792
715
549
948
808
576
592
718
861
901
583
727
625
741
601
852
785
632
591
606
595
716
658
745
597
656
603
614
587
620
646
647
689
816
599
653
614
843
565
784
628
592
735
596
614
849
734
602
894
655
587
765
571
686
802
859
779
576
624
598
771
600
542
591
604
540
611
716
701
584
640
863
635
628
682
562
567
605
819
820
624
585
584
631
747
689
598
731
628
609
770
691
616
596
539
580
643
604
563
878
723
935
711
860
545
622
745
616
622
617
602
941
586
561
630
813
606
590
554
645
593
804
521
609
606
673
816
734
849
576
797
750
795
746
616
581
814
614
920
819
798
887
713
552
817
625
823
592
823
728
583
614
608
638
864
707
619
585
678
795
936
834
843
627
834
868
699
618
701
682
634
681
580
820
600
657
578
887
592
914
579
657
691
572
547
886
591
806
728
688
634
694
795
822
562
743
650
641
749
760
622
598
618
595
685
814
629
621
582
659
707
609
558
622
594
792
699
599
655
589
596
594
581
687
625
803
555
850
865
680
724
580
552
563
608
614
640
817
724
586
770
559
919
670
869
642
693
859
582
887
566
856
594
652
728
710
834
645
576
728
588
695
864
522
672
756
770
814
595
700
623
806
698
654
605
748
607
684
678
603
631
639
931
557
770
588
792
787
703
563
794
647
936
840
576
665
566
939
611
693
646
762
642
596
869
638
631
671
603
635
604
593
583
915
631
602
587
583
637
761
565
631
611
605
590
766
581
768
695
858
584
558
867
663
780
616
572
600
638
558
913
607
648
801
667
787
577
597
837
581
591
835
623
663
830
888
678
707
556
706
650
683
687
946
907
579
590
709
914
750
640
617
579
601
609
874
805
607
633
769
631
594
618
625
780
679
735
556
650
953
590
820
910
635
606
575
791
604
615
781
789
685
605
826
653
543
579
603
799
594
788
657
680
589
630
774
752
762
603
740
831
826
549
677
845
654
632
587
627
767
564
626
551
558
755
509
663
815
778
677
605
718
774
832
777
594
618
739
631
572
566
590
645
846
670
669
619
894
935
637
625
938
682
888
587
676
707
593
621
694
812
853
601
578
579
579
610
594
780
723
583
655
632
581
571
585
596
668
663
863
605
771
616
587
728
652
809
786
907
632
757
625
613
605
610
895
585
832
665
738
818
580
819
897
610
539
581
674
609
595
632
871
742
600
966
727
593
736
747
567
582
597
801
633
763
635
723
953
935
567
638
590
738
753
693
623
608
878
643
578
778
754
579
907
720
649
608
757
581
685
550
591
695
819
843
713
755
600
574
587
627
714
911
758
624
696
633
859
738
682
715
641
581
718
628
733
853
882
647
937
921
642
755
596
610
762
877
649
570
604
585
771
790
652
641
602
782
750
694
599
644
766
795
793
580
651
579
601
605
812
633
655
622
740
702
586
661
601
626
711
597
665
866
722
571
784
633
642
638
701
991
703
802
679
578
579
655
570
592
528
696
603
704
737
722
605
602
902
935
599
664
672
577
756
655
739
710
870
890
669
692
762
624
638
699
604
833
624
582
641
702
856
719
550
747
944
770
708
719
829
715
641
767
569
582
919
784
689
588
816
844
737
605
696
646
619
666
646
941
701
797
612
608
703
676
774
652
783
744
622
685
591
820
549
577
909
587
623
570
745
644
829
639
895
647
555
735
638
673
719
597
839
611
615
593
596
617
836
722
792
707
925
678
703
850
631
626
907
637
605
693
874
609
608
852
607
640
687
566
607
609
761
606
868
759
864
731
986
590
895
651
693
788
592
603
856
867
715
589
588
728
571
583
825
619
821
722
769
692
759
667
665
643
561
557
708
651
809
678
669
578
717
852
615
599
743
654
718
582
787
864
851
898
714
579
607
825
606
582
594
639
863
943
771
644
597
841
929
728
600
811
569
599
669
614
601
729
919
593
923
755
943
666
743
580
936
700
814
803
721
731
617
602
657
948
623
960
600
662
723
595
847
633
719
840
888
774
609
755
707
654
750
714
940
863
768
615
913
741
594
701
677
873
573
725
629
577
665
773
732
588
659
635
706
807
965
683
640
678
759
619
638
639
600
626
701
616
591
626
694
631
649
831
560
626
644
933
602
663
672
576
886
617
647
631
623
591
604
578
613
804
817
888
593
850
630
947
734
707
580
704
638
788
579
856
797
612
679
630
596
830
763
672
545
622
623
629
987
717
591
819
546
893
676
604
896
576
791
606
620
727
576
700
853
831
897
711
827
627
552
744
611
602
557
694
616
595
755
841
694
614
680
808
639
563
713
784
903
624
651
893
795
744
615
986
893
553
700
666
837
800
863
633
881
632
616
699
879
599
596
693
691
581
930
772
813
772
844
569
731
565
583
593
885
913
584
602
730
660
849
896
604
584
648
864
891
592
874
614
782
549
613
833
654
621
622
728
676
613
989
695
621
639
748
667
960
626
724
931
708
663
578
905
594
839
592
749
878
717
651
733
809
921
581
841
577
586
863
637
753
793
917
794
715
699
734
614
855
822
892
843
584
538
793
962
646
659
718
750
997
709
573
866
726
609
565
640
558
600
822
577
570
790
569
636
563
718
609
836
763
679
563
589
612
814
685
636
606
560
852
757
617
612
911
784
872
570
719
616
619
631
899
682
591
799
605
718
623
572
617
683
762
589
676
598
929
597
575
787
712
727
645
828
622
774
787
647
849
736
838
620
709
590
960
591
865
810
675
712
550
638
565
566
660
897
711
710
719
910
805
569
621
614
697
569
589
759
899
736
588
676
632
693
812
881
802
894
690
654
579
645
880
728
736
712
631
662
640
691
843
758
621
590
729
591
634
919
591
622
664
597
838
597
617
627
613
843
640
705
619
912
586
934
625
891
817
562
710
879
882
862
632
951
688
546
730
605
656
942
859
608
606
608
576
670
586
740
707
631
771
583
721
597
579
629
744
570
827
832
619
804
826
583
819
913
559
977
678
902
969
653
635
574
626
635
664
644
922
724
650
695
862
826
766
842
730
712
583
844
768
880
646
724
621
604
623
803
649
591
576
911
813
611
602
550
764
570
752
550
751
579
624
641
621
548
766
564
553
617
608
693
625
872
568
676
615
707
621
936
788
724
590
655
636
896
634
649
588
808
733
816
748
634
718
631
606
672
740
604
648
866
957
618
681
869
699
834
806
579
973
614
897
891
811
693
549
571
570
927
624
590
916
616
618
606
591
872
750
600
668
619
671
892
758
630
744
800
644
884
905
627
645
598
931
843
861
587
690
850
888
662
670
574
810
854
629
773
591
872
844
609
740
579
889
715
772
634
607
614
612
577
864
612
670
758
741
617
606
636
544
658
701
756
571
639
582
632
804
934
602
676
610
729
621
606
607
659
836
752
772
630
773
858
946
865
582
836
658
586
703
596
587
872
620
651
621
571
644
645
707
772
616
751
612
679
646
620
588
718
682
825
866
628
803
643
614
890
596
709
791
761
548
586
692
571
670
538
858
948
734
600
706
787
598
754
786
601
806
653
554
634
833
623
549
652
594
797
701
669
789
618
784
671
641
585
724
644
611
786
844
795
964
656
909
875
610
631
664
849
598
676
628
670
592
884
878
789
737
610
721
697
585
682
577
725
589
777
937
748
866
694
688
635
685
644
662
617
557
923
676
751
634
867
606
578
733
736
717
646
687
648
782
822
877
635
584
607
615
636
903
589
775
627
827
574
783
579
607
609
934
586
655
659
656
802
609
609
625
729
596
675
894
695
689
658
691
587
917
740
629
787
599
951
655
671
592
833
554
676
696
628
775
603
844
835
604
984
849
580
571
645
666
782
627
767
564
827
668
696
856
592
734
721
846
576
572
589
649
822
741
608
898
692
664
632
619
810
591
596
645
801
819
617
644
704
747
910
807
774
805
661
815
655
924
720
626
921
780
697
625
564
743
745
577
616
568
627
648
705
602
601
616
664
587
708
824
639
624
623
814
597
738
774
715
723
609
779
642
659
786
792
643
654
828
748
780
897
676
655
610
693
593
819
639
708
651
689
606
633
775
857
906
848
702
853
611
575
559
630
669
968
867
686
582
626
564
663
666
811
698
632
788
806
577
647
762
583
730
775
777
944
626
608
916
743
675
582
754
586
581
777
601
818
634
712
612
654
744
582
715
582
733
618
637
775
695
611
883
599
821
599
582
827
864
623
860
647
938
678
669
625
577
718
732
812
915
768
870
690
749
660
653
677
562
598
752
584
831
660
614
798
603
606
613
793
626
653
901
593
583
762
694
855
622
785
782
705
703
646
751
600
615
892
600
836
901
598
654
594
739
617
615
712
874
829
589
809
604
618
572
586
588
823
773
966
843
614
780
740
724
738
813
924
660
605
659
641
619
608
613
618
615
565
601
641
605
761
788
619
714
594
617
926
689
594
675
584
577
693
783
870
603
648
629
887
671
648
592
644
894
605
605
866
652
721
727
943
684
577
676
687
627
875
605
635
634
605
978
697
616
596
877
611
636
836
571
576
745
777
776
612
865
580
628
591
631
594
663
716
742
613
578
605
686
625
954
594
602
672
655
807
592
600
908
638
648
706
678
617
582
617
890
879
711
713
586
731
700
605
921
573
847
831
755
599
594
605
759
664
944
648
568
889
829
635
614
676
925
573
608
800
883
844
619
607
619
994
582
610
616
883
868
610
602
806
550
609
710
592
719
566
603
633
875
922
969
689
765
646
808
602
745
973
602
660
597
730
667
653
607
670
636
839
665
593
696
829
914
786
667
608
765
593
610
786
839
575
771
712
860
709
756
642
635
752
723
726
568
643
676
637
628
626
610
698
852
588
816
880
791
723
627
874
983
750
718
873
580
674
548
923
915
645
568
598
723
606
662
780
768
605
635
714
602
638
574
707
695
631
860
669
571
853
729
676
838
762
566
748
622
602
643
590
776
590
796
608
662
928
712
649
913
891
839
854
676
686
890
655
711
737
695
768
741
605
921
588
713
990
939
950
649
930
910
554
671
604
782
597
675
670
670
606
625
741
969
620
592
794
665
615
873
599
812
721
964
613
675
567
692
620
645
833
633
651
607
819
850
578
656
580
590
694
785
550
651
891
606
708
628
669
644
814
731
602
842
613
864
793
634
689
916
639
593
902
828
855
622
739
681
769
592
880
859
715
601
824
838
924
944
629
856
663
781
642
840
798
621
638
709
748
662
619
613
606
749
816
614
883
697
590
801
661
600
681
737
645
855
572
831
570
880
752
797
607
601
580
655
654
608
891
764
578
650
645
590
698
641
849
642
933
567
779
600
876
667
920
785
627
773
760
797
730
586
751
664
693
992
690
617
660
643
582
713
731
778
608
603
584
621
563
840
621
774
625
735
721
673
623
742
671
580
554
696
757
604
804
616
664
776
663
658
777
744
916
592
736
616
582
607
580
573
748
944
637
639
926
654
623
733
852
662
696
825
632
931
804
703
590
806
609
606
749
846
681
671
657
680
680
590
722
619
641
647
780
619
715
668
657
639
803
598
611
743
701
553
761
865
700
671
699
622
856
585
707
714
657
766
579
734
616
625
610
764
968
622
924
816
582
803
655
789
641
637
694
604
671
678
646
651
616
706
665
618
609
822
713
768
616
635
630
658
601
640
615
597
739
627
595
820
756
872
603
642
833
629
869
555
820
728
694
694
606
599
743
869
600
755
677
678
744
724
903
584
674
590
622
855
613
835
741
872
856
828
740
878
637
713
606
819
582
580
692
814
939
766
622
979
635
834
590
769
595
659
685
977
784
659
852
615
577
650
786
727
657
851
594
613
691
591
698
667
803
742
968
580
956
727
627
947
651
646
984
635
675
723
676
585
581
618
859
628
757
638
679
765
733
765
601
663
845
550
649
649
628
926
607
631
637
616
599
570
737
630
612
587
610
561
601
636
815
602
630
772
692
622
603
724
903
675
620
923
622
622
900
670
611
738
939
845
617
638
821
746
739
851
570
683
807
673
836
856
862
591
639
719
898
977
932
621
675
616
618
667
874
629
879
747
751
590
702
878
913
869
692
616
766
712
663
668
713
647
741
841
620
619
801
696
892
602
883
671
699
852
935
726
603
859
651
671
569
599
921
637
690
966
796
614
713
581
886
589
824
697
593
629
771
643
720
866
747
884
568
927
733
885
613
742
732
575
924
599
817
834
622
694
606
749
954
721
990
612
754
612
828
777
639
804
658
737
669
846
935
919
624
675
601
666
604
627
982
789
586
709
641
683
681
710
751
817
588
946
763
665
686
775
682
579
660
904
893
760
617
767
685
788
888
744
598
887
589
653
722
763
624
704
730
614
817
605
589
628
914
657
662
671
634
724
661
855
643
619
723
719
772
667
800
620
761
711
764
708
745
653
639
632
625
650
611
609
909
805
870
605
610
619
850
621
639
784
624
618
684
775
724
654
900
615
672
739
717
823
562
651
834
748
599
639
600
596
762
631
740
932
694
861
784
608
877
627
709
864
626
805
645
843
624
624
634
685
631
756
815
861
625
750
609
599
604
798
598
776
868
949
722
595
587
903
850
768
733
925
801
685
600
580
673
629
635
744
742
755
647
770
651
612
705
640
599
834
611
674
614
847
582
805
748
783
581
602
733
727
589
643
755
590
597
815
744
619
710
580
676
872
682
735
961
729
625
717
808
767
836
617
556
610
697
557
818
633
923
709
891
926
643
885
864
745
742
626
946
787
571
596
838
715
754
716
626
574
669
763
656
649
713
689
785
829
791
695
932
556
960
617
641
573
978
862
638
875
633
689
813
687
620
626
584
586
620
656
622
585
578
600
636
695
672
622
700
756
590
858
594
690
586
715
805
784
587
643
689
618
766
592
623
908
689
582
601
735
618
774
608
700
601
664
702
907
620
650
640
606
604
849
824
690
640
791
591
631
623
737
590
701
877
577
580
659
677
707
865
798
660
596
750
629
558
659
714
612
705
587
667
620
629
610
621
647
926
800
629
733
640
649
671
642
588
709
805
617
609
946
594
902
939
903
593
840
774
797
963
823
814
632
675
785
676
612
599
568
688
831
600
605
815
622
826
832
561
620
682
916
629
600
686
665
681
795
663
623
582
596
594
890
632
616
792
586
880
706
745
807
573
652
622
807
692
590
679
604
708
651
645
774
872
626
902
925
827
908
623
937
665
840
655
731
674
809
728
645
573
586
685
755
934
589
678
652
715
947
749
884
630
765
606
675
858
846
671
934
606
641
732
615
752
599
606
798
659
658
915
882
713
885
833
831
598
682
815
695
589
866
769
617
579
734
687
634
807
823
743
872
875
677
831
760
663
953
609
579
624
707
606
635
706
924
750
599
740
839
590
727
626
766
740
597
574
602
557
632
649
726
595
649
788
577
804
678
602
575
819
709
627
722
684
579
832
847
802
732
651
586
786
998
930
879
841
648
808
644
579
679
596
845
835
602
595
708
765
587
799
914
604
577
588
749
872
776
586
943
672
607
629
790
779
660
854
696
663
881
689
852
669
723
647
719
747
757
695
653
797
615
791
855
780
626
865
631
623
712
806
675
655
627
883
700
625
700
678
819
572
639
833
761
729
741
716
629
618
633
685
635
820
648
576
808
598
673
929
616
790
653
643
780
716
962
653
928
828
879
635
781
640
843
896
633
737
649
604
798
758
709
774
924
718
834
709
644
626
568
614
623
691
593
677
876
783
660
783
607
707
697
860
736
856
716
750
610
749
709
744
632
948
929
754
743
780
639
801
822
789
633
809
753
599
614
730
652
616
623
593
761
677
741
688
570
830
612
626
849
964
609
748
624
836
724
777
587
763
600
660
947
630
678
741
602
835
790
637
755
672
879
817
607
798
627
731
585
653
608
858
826
767
870
655
666
699
647
584
801
901
664
783
664
910
579
613
872
934
695
853
564
573
686
663
794
681
727
633
586
566
902
581
824
793
559
607
576
826
714
580
647
957
754
606
652
643
637
685
711
949
633
672
595
581
736
704
720
599
620
607
680
643
610
747
580
899
887
611
745
604
693
627
994
580
685
629
609
700
635
635
619
743
830
819
631
788
732
753
797
772
848
913
602
765
725
578
778
644
788
605
633
603
579
613
681
799
655
714
598
776
876
867
859
711
877
749
676
708
889
588
650
599
630
597
550
690
731
959
880
650
661
604
853
650
634
690
772
596
635
667
610
711
635
659
779
866
1002
694
585
706
584
727
608
696
617
676
631
710
865
643
747
796
707
619
610
699
690
876
556
845
622
891
590
685
633
627
628
625
570
633
615
777
729
626
768
741
707
726
926
702
885
855
689
628
718
920
876
887
654
605
653
916
652
643
695
688
598
922
885
709
651
571
936
602
881
668
722
708
668
773
694
586
774
734
608
761
603
659
737
781
584
876
645
602
577
611
571
947
578
642
624
662
662
847
737
600
850
850
686
930
731
611
802
642
654
662
610
710
705
654
949
659
936
767
770
789
600
588
713
753
733
746
690
855
674
626
650
657
896
780
608
638
631
803
822
868
666
664
714
872
788
752
874
734
813
649
709
680
719
585
636
789
612
634
837
701
626
542
711
607
817
609
749
766
602
670
628
599
646
641
738
790
617
661
700
674
671
614
623
622
609
903
907
580
675
663
594
628
632
597
699
722
987
839
600
807
775
718
666
677
654
850
682
703
641
783
559
714
630
601
791
844
848
611
645
708
840
679
766
883
591
689
596
909
771
781
627
631
832
826
804
600
902
890
811
648
618
656
882
600
602
648
602
716
651
658
894
758
881
640
597
596
802
673
619
634
631
600
684
729
823
618
640
695
727
649
911
829
686
607
598
689
590
688
749
625
600
736
743
738
895
931
905
663
685
644
616
835
583
654
626
690
640
631
609
650
639
647
747
668
627
665
636
651
804
597
834
627
634
720
686
757
731
591
578
612
754
748
595
624
727
682
562
966
667
675
837
612
606
813
627
763
616
881
679
927
788
639
850
754
589
891
755
868
760
588
598
870
603
631
628
619
645
832
709
809
600
538
782
748
852
708
708
830
739
627
828
802
599
696
753
647
797
652
870
859
695
587
596
652
649
801
697
797
699
677
803
822
840
863
828
743
792
697
775
811
648
618
804
890
580
592
672
734
656
643
656
699
612
604
674
623
681
808
701
789
767
843
615
723
590
835
686
851
638
671
678
693
865
595
797
624
681
914
785
799
623
629
861
588
659
768
634
628
919
662
826
777
694
619
671
624
574
610
763
758
823
818
874
659
828
906
611
632
851
819
640
601
614
975
656
573
861
800
709
705
610
602
721
775
633
593
605
712
877
739
605
858
708
620
626
771
679
696
617
800
925
619
619
793
797
715
632
616
632
805
746
657
658
798
908
676
631
605
596
980
758
576
585
717
938
613
785
698
893
821
924
606
920
648
599
859
930
683
685
644
661
760
725
723
586
630
705
937
686
832
877
691
607
643
627
727
719
595
581
606
664
600
547
622
582
955
855
815
632
824
692
756
913
603
610
659
760
788
713
600
848
941
627
621
614
639
788
627
742
817
833
846
616
589
639
570
639
721
829
606
649
947
802
579
741
573
646
629
848
728
639
803
710
654
591
957
753
704
588
687
926
640
593
619
892
832
642
570
599
914
858
567
870
637
763
761
608
631
727
822
931
666
626
996
675
634
606
591
912
661
680
640
800
672
691
820
599
597
558
662
680
627
648
628
692
614
677
688
846
682
612
839
697
740
700
879
636
892
771
646
830
798
899
644
951
936
895
688
624
685
598
845
972
868
751
717
667
727
633
673
815
644
669
654
620
753
818
792
688
761
674
691
755
880
731
614
927
940
949
577
599
548
616
748
815
840
593
721
834
702
700
706
776
713
727
709
938
730
696
784
712
965
602
649
927
722
850
750
574
637
670
614
594
628
745
691
672
624
626
882
651
921
618
628
908
803
610
661
682
650
635
615
683
782
642
908
671
949
632
644
595
882
751
614
576
934
844
870
583
800
595
595
808
624
633
850
985
621
619
694
635
619
614
704
901
658
877
677
621
582
914
677
632
728
645
859
594
659
600
634
715
617
822
890
901
630
680
778
780
832
568
711
708
722
754
524
684
600
700
771
784
921
678
918
703
613
794
697
591
867
612
690
827
612
784
629
681
778
682
797
648
749
648
721
674
899
708
594
660
675
625
646
778
773
721
776
685
832
621
566
765
875
643
853
683
866
639
736
675
896
915
821
640
673
667
625
680
645
639
666
863
894
589
770
655
636
717
875
817
676
584
574
841
628
693
763
776
658
640
826
572
720
729
601
913
881
642
682
708
731
939
875
678
638
593
638
601
680
634
784
709
653
823
797
668
686
635
612
749
613
874
982
733
656
639
873
800
627
959
689
942
650
633
980
602
665
587
792
797
851
777
761
818
666
695
890
769
692
757
725
631
575
628
641
832
557
655
628
776
716
703
728
922
748
617
852
824
659
664
967
783
658
624
615
621
656
825
577
733
646
604
632
931
644
721
605
578
653
591
653
641
822
728
644
639
677
733
750
615
828
648
701
576
634
958
604
879
736
832
693
637
615
811
631
585
958
638
666
652
947
600
625
670
944
753
635
997
791
921
800
607
661
656
582
889
687
653
840
598
724
853
919
770
879
582
700
660
770
744
689
657
864
691
907
607
660
619
781
910
670
631
878
722
620
687
734
627
672
598
635
831
856
575
768
939
539
670
640
634
607
691
623
648
677
711
727
875
705
605
782
901
872
786
684
577
891
735
773
919
594
653
916
941
630
650
718
803
751
687
601
576
955
653
649
764
697
784
926
731
825
643
564
623
906
791
801
625
869
606
601
971
584
584
754
622
654
863
746
864
801
615
743
727
809
960
660
916
865
584
648
628
867
659
604
718
701
774
740
661
613
689
777
585
894
701
693
653
929
670
696
881
610
605
656
806
611
717
719
854
836
729
639
674
781
641
679
770
624
829
852
650
916
616
815
631
788
612
612
899
651
847
659
736
624
689
693
727
620
639
620
642
750
627
638
747
873
706
847
736
830
846
923
721
721
848
669
560
707
647
819
838
647
698
675
710
604
639
716
700
608
657
964
690
792
764
644
577
593
647
595
624
624
719
912
829
721
774
683
827
636
878
657
553
662
730
632
666
787
663
652
611
883
604
560
710
704
792
924
775
951
645
693
762
603
612
638
706
667
613
637
705
917
869
603
852
672
649
652
828
823
629
816
609
926
765
740
626
798
610
592
679
631
762
692
682
801
712
766
584
773
873
669
764
611
643
601
780
639
631
849
905
699
701
661
904
567
805
709
656
804
648
671
589
728
894
635
878
880
657
817
572
660
869
635
773
638
752
640
619
853
625
841
868
616
681
752
583
620
672
594
776
588
590
638
643
817
829
694
595
698
802
631
825
588
717
692
845
625
618
640
713
866
685
767
865
885
836
715
645
597
809
667
809
841
584
581
961
784
614
616
640
906
766
622
563
909
644
638
881
747
617
589
592
625
846
920
567
628
679
680
822
586
778
649
631
838
665
706
661
818
694
628
702
872
715
803
847
665
851
630
640
748
730
838
819
641
645
901
829
888
789
593
700
633
642
836
888
808
590
664
620
786
734
652
639
664
844
697
888
683
647
677
716
973
812
776
632
823
896
648
719
618
689
626
943
706
696
836
616
837
604
623
815
678
625
637
922
809
705
585
633
926
626
614
687
629
833
864
871
668
679
677
782
620
634
750
696
825
867
722
723
680
680
951
683
927
698
621
632
612
740
670
648
907
997
739
845
610
577
640
768
808
880
783
742
639
635
667
735
745
710
726
792
608
695
660
619
694
842
641
629
727
884
734
772
606
801
682
738
675
687
855
769
717
760
668
621
686
680
632
609
738
578
602
710
757
890
627
640
737
702
636
878
779
817
762
839
597
748
623
585
598
596
888
599
693
911
703
594
644
630
749
735
647
578
764
588
678
647
620
655
879
892
951
606
921
922
623
793
718
713
643
657
645
606
604
633
801
700
654
789
892
818
634
674
711
689
903
622
660
652
650
696
843
632
694
641
684
681
686
762
869
698
710
746
877
609
591
598
863
742
661
1009
603
640
662
664
678
751
869
832
768
658
614
767
639
760
761
647
680
595
606
575
899
838
743
692
694
947
679
800
728
614
838
609
622
846
772
611
683
687
821
963
792
648
807
770
644
706
611
622
669
764
750
697
699
632
872
600
594
632
755
566
751
592
619
828
590
715
662
796
592
824
812
750
903
588
744
685
910
602
857
907
636
651
686
628
667
778
592
682
761
633
698
742
775
808
595
782
591
633
639
611
610
605
807
928
616
671
729
964
821
813
628
646
689
825
643
710
598
892
671
680
789
589
774
930
721
892
813
606
798
828
678
632
669
626
729
654
656
875
648
689
876
649
737
733
698
835
637
834
793
798
830
870
613
738
626
616
628
838
844
698
718
644
660
652
636
591
821
639
661
856
623
993
711
885
687
799
824
726
724
868
859
675
846
650
627
718
888
805
856
671
698
663
646
967
778
617
764
655
748
647
636
692
703
636
602
696
672
671
841
824
963
633
670
606
667
787
945
734
734
630
731
605
648
827
898
583
595
578
577
548
917
607
636
699
733
651
697
728
842
598
617
710
752
619
595
856
677
604
833
837
839
698
621
625
850
650
687
941
695
666
748
606
922
641
894
644
579
845
726
653
715
676
799
659
561
926
609
763
808
870
597
604
683
777
909
947
604
781
607
929
924
823
688
709
823
909
824
590
619
767
585
610
614
621
836
617
658
671
933
969
902
656
677
607
613
770
773
863
678
668
608
683
904
709
794
896
699
578
928
616
592
621
973
671
882
887
803
643
724
739
678
945
646
723
677
701
614
649
658
668
852
619
675
582
573
952
862
635
868
733
767
652
742
605
600
674
882
885
889
590
617
656
599
779
633
848
670
626
751
749
646
765
834
628
810
891
791
749
726
829
770
700
653
604
780
776
664
641
629
759
611
758
592
898
833
677
755
919
813
623
691
578
615
887
666
836
940
766
606
764
690
646
786
875
744
714
823
862
847
602
786
814
715
902
637
782
833
745
609
715
623
630
626
634
872
628
661
921
673
726
697
605
637
734
695
660
630
634
599
583
655
630
703
582
686
790
943
634
798
846
880
870
640
611
894
625
619
640
833
626
768
706
730
668
741
753
754
673
704
608
603
911
719
594
809
653
808
937
691
597
703
633
685
811
979
762
692
806
626
697
721
595
682
670
817
618
564
677
652
621
734
652
853
653
837
607
623
721
759
820
766
820
593
722
729
756
716
761
601
593
728
650
835
614
629
593
707
961
607
603
672
638
578
596
596
614
744
935
736
592
601
958
618
628
732
765
622
623
619
623
626
628
796
655
600
753
619
604
721
896
919
869
779
830
791
665
837
615
865
793
711
748
874
861
767
841
642
587
878
640
586
839
980
762
742
629
608
583
826
745
642
611
647
794
609
622
828
653
769
695
769
645
633
752
697
646
793
669
667
729
628
842
668
728
596
621
774
729
899
787
739
808
632
591
726
741
902
631
635
758
1000
727
773
742
619
690
813
645
649
633
908
960
848
719
618
690
775
817
623
593
752
663
960
664
681
954
683
894
596
694
830
938
648
892
754
751
673
611
719
877
598
712
750
749
669
923
901
813
852
861
603
888
732
635
633
792
763
845
911
955
589
800
647
818
769
944
685
938
707
859
757
657
640
589
647
749
694
737
828
687
933
836
629
632
899
720
808
713
831
898
708
644
701
715
837
744
640
605
688
774
600
635
673
968
986
853
810
753
721
668
641
708
747
668
901
711
916
879
678
693
668
628
865
860
832
855
624
956
604
603
718
728
703
781
648
602
602
634
856
840
626
613
663
809
589
684
858
799
698
756
719
670
771
651
639
681
692
955
820
817
678
786
594
895
686
707
764
717
854
760
908
834
757
725
695
625
645
657
736
753
632
941
674
568
822
940
713
855
899
662
746
980
622
911
686
965
616
662
662
626
674
599
868
723
603
882
956
634
650
594
794
670
599
607
707
633
890
764
654
639
609
825
933
680
922
730
707
663
754
651
836
616
876
716
968
627
676
769
574
901
663
657
603
677
702
959
778
801
642
650
655
644
796
722
596
690
615
724
860
842
690
615
926
837
598
613
626
633
658
766
734
624
616
704
843
619
805
730
970
830
671
651
836
731
602
619
883
773
796
583
602
883
699
670
918
794
774
905
637
799
917
602
582
644
921
828
876
830
771
664
725
664
943
660
792
946
765
696
597
647
783
689
802
874
661
641
652
699
622
627
665
594
641
652
628
586
711
767
611
709
721
703
579
783
585
617
670
647
966
597
658
592
633
610
825
652
688
700
797
772
668
657
712
752
594
809
722
587
668
561
608
637
841
954
619
583
930
728
636
620
864
660
762
615
864
624
764
649
899
850
668
632
846
801
606
798
775
760
688
606
631
752
735
639
613
700
660
604
615
724
638
702
644
636
656
749
625
613
644
768
656
651
635
668
744
832
703
857
807
706
760
675
691
685
748
732
639
747
748
702
748
851
629
890
600
712
627
918
977
922
597
681
635
576
574
755
633
734
823
624
749
698
893
606
727
680
685
607
705
694
937
781
640
657
854
592
893
996
683
640
912
625
631
698
635
840
830
691
712
816
889
600
741
667
654
713
623
713
654
678
705
582
662
664
702
673
627
905
771
611
614
789
652
839
695
657
849
814
759
709
841
750
646
711
888
661
835
587
767
697
640
935
654
632
671
758
713
689
693
790
680
798
826
636
862
901
843
648
711
644
799
811
677
618
590
660
927
669
702
664
758
798
770
831
614
715
577
645
708
598
749
725
618
765
662
818
816
674
598
772
863
634
612
768
775
776
628
855
881
681
725
647
632
684
762
619
697
669
727
722
674
598
624
887
947
731
624
701
654
613
928
720
874
611
624
906
716
841
682
780
788
626
638
852
617
695
614
743
829
803
897
696
646
773
644
807
641
822
982
904
960
703
758
641
627
645
698
659
964
634
688
647
892
901
654
889
774
855
811
677
654
675
758
652
624
594
635
716
686
862
843
651
826
636
999
675
901
688
658
772
702
646
658
840
594
890
641
745
874
781
673
765
593
980
641
621
736
634
795
701
864
795
805
650
814
843
740
842
677
796
712
824
910
781
726
884
848
858
641
618
665
785
723
887
661
672
686
800
978
689
628
947
707
564
605
885
930
820
711
693
723
636
671
621
566
621
589
717
702
918
667
751
618
640
609
652
688
669
956
868
769
627
599
829
633
707
805
612
609
658
612
615
939
952
609
666
955
852
858
744
654
657
675
823
686
863
612
635
606
644
616
745
636
616
880
632
694
677
654
643
684
681
915
656
689
787
613
670
690
953
617
898
882
584
872
845
821
624
703
728
914
675
715
691
758
711
652
657
619
709
752
711
629
646
637
656
693
649
886
889
638
617
600
768
595
688
718
940
730
833
681
638
589
644
662
697
734
669
903
721
777
907
756
685
751
723
690
821
951
643
648
606
648
865
910
971
625
756
757
601
846
600
695
648
705
665
800
837
738
870
633
929
761
642
630
704
727
605
732
691
976
613
623
839
771
672
846
743
643
866
799
622
817
703
875
652
775
642
713
847
875
653
778
646
771
735
878
633
834
747
850
728
652
669
749
601
804
710
651
704
662
629
693
742
957
747
780
984
670
713
663
806
789
609
624
847
966
615
656
651
625
652
825
680
787
837
766
854
705
736
662
787
619
588
716
578
740
733
672
656
685
692
633
667
847
638
807
668
634
889
637
773
648
842
912
593
629
931
807
850
701
743
648
1000
867
722
634
647
635
611
916
760
898
728
836
645
826
867
576
598
844
656
554
685
605
658
632
625
843
615
682
638
686
751
726
885
643
587
719
790
628
899
641
626
796
615
955
891
956
625
885
630
574
677
600
799
655
856
774
983
613
755
601
789
683
877
681
770
691
721
693
802
587
951
878
724
606
691
642
645
595
887
602
627
675
675
605
654
604
824
850
648
650
715
813
787
814
746
605
843
681
683
737
647
838
913
739
908
664
822
730
636
901
715
695
634
812
620
889
875
716
650
699
646
896
693
909
656
867
637
673
809
614
910
982
766
625
891
715
672
947
884
849
642
788
890
712
920
655
684
638
666
770
622
807
881
912
634
622
577
605
769
626
604
655
655
833
721
587
667
664
614
691
747
875
824
608
770
930
653
707
841
682
887
748
865
823
681
879
788
589
929
745
720
959
666
612
915
736
607
663
867
614
668
812
873
886
785
683
841
692
821
628
613
742
677
687
786
914
679
618
701
733
616
720
648
654
700
866
640
674
899
638
613
727
650
818
660
674
687
700
660
688
745
678
627
837
631
737
657
659
813
698
822
643
828
626
860
927
743
781
650
744
665
620
895
707
651
679
625
741
655
664
717
968
690
645
822
701
763
755
852
679
884
631
783
618
667
746
646
870
571
605
662
638
878
682
812
734
767
600
630
649
714
738
643
604
810
650
613
609
781
866
621
666
851
821
780
772
809
636
623
614
632
915
635
611
781
695
654
760
571
618
656
878
606
844
670
676
725
642
874
674
703
670
579
763
947
640
770
663
742
724
632
695
870
646
871
780
793
745
651
727
814
747
896
826
617
598
818
891
605
880
649
959
792
751
632
862
846
851
768
669
785
672
599
743
929
854
952
641
736
648
774
615
678
612
643
803
723
668
655
652
730
714
802
685
869
682
672
715
588
619
613
790
946
650
817
690
792
602
928
628
833
601
802
862
670
692
601
593
710
651
617
730
787
814
652
720
630
700
792
654
698
648
632
899
634
656
632
732
640
669
885
635
872
672
594
884
931
615
772
774
759
765
846
920
625
799
615
909
567
747
709
738
739
661
666
732
583
657
616
581
942
802
787
866
794
651
717
655
841
860
635
858
789
628
582
677
806
683
602
719
823
899
640
861
929
759
782
759
829
590
650
628
703
618
672
625
887
879
701
711
615
850
796
564
827
610
687
840
614
711
667
898
677
628
650
727
674
686
672
825
970
737
718
721
668
714
669
652
641
870
667
898
572
624
610
786
649
670
650
669
658
619
821
921
635
618
798
633
629
743
622
638
653
691
625
955
749
625
617
881
614
825
634
581
597
652
732
609
887
662
897
713
843
673
822
692
742
611
755
711
886
609
687
696
768
923
793
884
836
828
613
706
620
678
813
945
856
893
814
630
632
678
757
666
612
642
689
657
910
749
941
609
716
661
638
627
598
726
780
664
638
858
614
604
640
603
616
733
599
581
645
857
660
929
690
652
601
800
830
663
653
625
887
876
581
734
772
663
613
640
585
660
605
608
723
942
721
910
972
670
621
603
779
726
753
664
691
751
754
652
610
735
696
629
757
671
741
644
689
708
654
602
825
931
620
634
852
852
749
796
719
639
869
637
878
810
630
632
656
724
822
612
829
621
649
612
670
750
842
631
602
731
675
636
632
900
635
606
693
821
597
646
637
702
631
663
647
733
851
752
916
623
946
663
896
678
632
907
842
705
948
629
626
602
597
619
787
661
815
814
741
798
717
656
691
843
875
877
649
854
739
739
618
643
607
704
615
595
754
744
825
904
694
622
812
685
622
844
717
612
837
910
826
735
899
677
637
904
623
674
779
740
787
578
741
619
890
653
840
768
652
733
831
722
612
711
747
620
610
610
627
812
693
615
653
787
679
823
758
938
723
801
650
618
801
722
693
781
661
648
723
679
617
788
713
677
824
655
654
713
765
898
807
849
730
936
700
873
765
608
700
904
680
605
894
733
702
822
723
717
664
756
772
675
644
930
656
622
689
770
715
616
639
763
628
705
657
661
585
657
957
695
600
857
869
958
821
593
639
759
755
614
730
617
838
901
661
669
639
736
685
870
821
732
642
632
923
796
704
678
687
634
736
960
602
682
732
686
916
901
639
758
650
680
752
602
799
995
692
616
644
630
602
807
766
618
807
876
729
860
772
738
827
656
833
960
680
620
603
799
815
629
675
795
615
606
641
570
851
839
581
817
719
601
766
909
626
876
668
659
650
605
701
730
947
872
639
571
657
888
934
693
822
878
773
777
643
741
814
784
621
868
631
800
683
901
678
764
907
761
644
906
680
1005
607
705
714
754
634
776
771
994
696
643
792
640
663
841
682
731
677
601
598
815
682
826
726
598
653
807
771
661
658
810
571
700
617
639
672
648
666
640
963
896
857
621
830
625
933
738
644
722
745
856
695
786
704
676
788
570
583
678
597
605
661
679
947
718
644
870
673
793
710
630
641
748
679
863
880
671
633
784
636
690
822
860
703
828
782
868
651
617
688
721
603
651
943
638
918
744
637
797
907
611
775
865
669
664
631
906
719
952
623
658
664
622
634
681
773
919
637
652
641
814
672
681
667
690
608
591
862
830
665
640
741
706
849
689
960
738
804
940
730
944
653
830
669
767
653
618
611
844
697
688
616
652
565
751
667
651
905
833
703
628
659
857
690
885
679
710
735
611
649
885
636
583
755
793
982
682
712
687
619
629
690
841
691
633
875
826
993
631
690
902
650
654
612
864
589
1005
646
636
678
652
616
664
695
656
638
605
676
886
651
753
768
842
626
755
605
832
754
766
672
671
658
708
653
767
662
636
643
936
674
902
630
837
730
643
798
645
657
855
643
595
756
606
800
872
989
559
954
674
831
797
749
803
697
767
715
869
887
733
692
657
815
884
640
607
681
797
810
660
621
609
836
586
572
741
681
707
741
608
837
793
759
801
694
722
778
608
836
723
652
692
632
637
985
708
573
868
721
611
607
739
702
714
662
599
884
760
891
638
823
780
553
694
727
766
615
729
693
630
730
704
929
694
582
679
756
813
942
741
839
964
698
704
607
609
648
909
625
662
907
679
687
616
697
761
595
619
819
917
640
606
723
805
624
754
595
864
602
713
980
762
695
626
650
701
621
802
713
921
606
753
681
772
785
766
819
781
920
630
681
764
814
657
931
825
780
660
858
855
804
629
854
639
656
640
703
632
656
683
904
797
685
762
804
752
890
657
823
607
921
752
629
786
618
626
590
763
937
766
934
648
616
732
618
884
681
821
984
686
821
848
823
692
677
901
710
795
857
738
755
576
726
702
764
610
833
760
732
747
764
612
615
756
700
660
578
867
606
867
647
621
619
797
641
933
648
850
610
806
790
911
800
897
724
731
621
690
772
720
637
820
803
829
873
716
815
876
806
658
743
623
698
641
662
639
802
815
900
925
884
921
776
802
691
607
792
640
712
872
845
665
605
755
645
753
813
821
645
744
616
872
894
640
709
707
686
631
902
550
682
656
629
805
812
762
701
732
635
639
685
908
679
719
722
636
700
826
603
673
669
889
598
642
648
700
580
808
602
866
620
924
825
813
606
768
876
650
756
898
864
683
678
695
618
728
896
695
810
787
629
663
885
639
627
882
584
853
868
635
908
685
927
625
700
623
701
657
794
747
614
745
637
615
955
764
773
948
859
702
828
602
669
972
836
746
749
864
612
657
861
642
609
595
583
617
765
625
813
696
645
855
616
784
632
630
743
702
760
713
713
856
822
827
698
902
674
612
694
910
627
724
792
790
662
773
703
893
671
630
639
656
806
659
644
842
637
768
662
705
896
698
709
839
988
728
884
623
878
597
674
963
615
590
641
651
863
646
629
813
700
793
775
637
877
762
724
747
839
632
615
671
871
839
657
709
702
719
776
737
845
678
689
766
754
750
611
817
728
717
946
674
661
605
737
893
865
675
678
615
582
900
677
755
811
795
630
691
682
650
832
722
868
852
826
691
594
741
874
779
809
866
644
658
653
680
951
645
802
651
724
663
581
611
754
690
804
714
663
659
623
659
735
775
633
874
931
637
761
692
784
622
651
859
601
866
926
666
647
614
739
735
935
802
666
705
683
645
647
656
808
675
617
773
580
682
603
610
595
702
805
938
674
874
661
713
908
636
718
677
726
916
661
794
767
885
628
751
881
654
603
568
767
932
643
728
662
656
769
796
828
864
708
805
980
743
853
702
637
661
558
670
825
831
598
602
704
771
866
780
594
691
735
681
808
625
743
748
655
836
689
860
768
679
632
780
698
733
629
656
729
720
632
695
939
931
634
756
648
584
633
636
709
637
614
604
630
625
660
745
700
751
909
794
676
823
812
759
965
647
827
648
656
728
879
703
726
928
641
609
912
606
743
645
828
582
785
745
874
933
638
871
648
658
741
845
713
679
815
618
601
625
896
943
664
866
773
925
721
746
784
816
904
679
585
681
762
674
637
788
612
624
656
834
731
626
619
871
651
744
816
909
926
750
744
940
790
826
831
643
874
770
935
941
721
719
631
956
763
736
869
750
740
924
616
609
619
704
627
638
819
648
899
604
633
732
917
694
640
723
861
779
743
761
837
892
561
830
749
656
612
736
683
951
647
879
662
876
773
670
641
887
707
786
653
862
671
682
732
849
733
593
647
727
775
606
627
631
763
869
685
877
630
626
914
632
627
929
636
713
879
670
620
894
724
791
617
750
675
890
751
590
904
791
723
831
722
782
736
611
681
750
675
547
920
734
721
692
627
844
629
729
780
745
684
763
897
725
755
736
595
623
623
610
604
650
884
952
633
591
660
887
639
803
797
694
668
971
663
805
818
672
652
604
646
625
625
584
646
588
627
634
808
659
772
723
665
938
814
870
654
820
833
926
611
652
717
683
792
774
809
775
607
584
575
825
666
751
636
604
880
665
679
928
679
693
852
842
838
690
651
879
722
670
778
833
638
800
837
621
661
618
745
893
590
819
939
716
635
599
615
673
640
667
906
619
746
810
834
645
661
664
698
659
667
682
632
622
742
601
632
893
653
764
693
634
893
801
655
778
618
752
686
739
794
821
760
739
663
721
771
666
646
633
592
845
740
617
894
778
758
696
710
657
717
662
706
678
629
954
799
650
827
698
819
830
758
815
684
881
628
655
640
674
729
661
770
688
649
708
761
791
726
692
796
722
737
653
569
655
696
795
773
854
844
605
773
903
889
902
817
808
950
741
726
866
873
732
888
634
724
719
671
703
623
632
593
639
648
733
668
696
658
681
853
809
798
855
643
766
936
634
590
870
781
949
651
680
640
702
921
690
688
713
911
621
598
661
698
891
673
630
802
672
850
696
816
794
679
773
822
930
809
618
816
727
689
641
836
635
782
758
959
956
919
690
976
633
975
745
807
814
835
786
691
884
662
642
713
969
794
699
580
578
595
715
621
692
911
632
629
766
642
632
646
734
672
848
624
633
852
736
712
743
692
662
622
624
928
699
619
883
749
669
838
961
946
611
705
738
872
726
903
874
683
641
620
695
746
787
607
856
617
634
743
645
817
708
629
624
644
734
715
916
850
626
643
667
848
610
682
607
968
656
869
660
602
674
605
884
750
664
739
813
808
748
825
852
629
770
611
795
685
732
694
823
638
882
991
724
882
651
703
886
629
803
675
665
734
846
797
618
645
638
606
684
689
710
854
675
801
653
645
629
638
576
634
844
681
619
941
665
808
815
814
653
813
624
870
678
836
782
662
718
874
740
633
896
710
638
694
723
670
735
683
804
787
906
630
959
623
650
639
679
622
671
804
777
755
637
838
702
721
821
699
610
642
717
870
903
658
773
683
627
748
636
754
838
773
927
630
714
868
663
745
693
699
831
657
594
603
788
630
899
604
685
765
664
820
655
841
716
734
640
799
896
866
657
678
635
598
898
627
595
812
624
817
646
768
648
860
671
829
596
624
640
667
905
745
669
742
841
727
636
854
621
690
733
644
910
782
784
829
774
676
668
760
635
600
665
647
745
721
719
924
688
873
869
758
857
630
732
736
700
856
585
918
658
687
676
940
640
620
966
674
657
620
669
694
811
581
752
631
715
805
772
843
800
614
616
948
726
820
764
839
688
832
714
637
784
635
900
638
649
721
766
783
741
638
715
712
643
628
983
881
885
847
680
812
637
865
666
835
781
769
705
629
636
624
615
611
734
755
708
712
657
691
808
717
964
594
872
732
756
845
695
843
740
873
623
645
646
699
648
639
750
794
723
834
617
928
883
956
801
819
604
782
842
749
785
644
842
621
759
582
809
718
853
711
851
876
805
703
711
739
955
640
748
672
951
740
850
626
956
735
604
877
652
605
646
827
688
849
756
591
629
776
811
917
676
624
586
840
658
641
742
692
585
622
864
773
773
808
971
945
899
674
632
928
965
763
639
847
794
717
728
957
680
652
656
669
850
641
906
733
793
664
733
773
819
624
954
643
650
917
908
709
845
856
708
820
964
676
665
754
826
648
730
819
629
636
698
715
586
615
627
727
618
922
896
619
947
863
653
636
810
765
691
884
865
694
663
701
594
650
763
622
776
615
810
794
642
748
836
669
651
833
781
783
916
822
738
644
672
779
739
706
659
718
756
875
904
693
585
682
881
669
694
697
645
685
775
610
749
761
714
719
705
662
928
698
818
872
721
969
876
933
627
799
791
857
611
825
921
772
787
671
681
622
661
968
715
725
854
921
633
745
625
652
721
802
850
669
674
712
798
712
769
778
945
863
920
811
678
911
841
892
872
618
937
686
760
673
651
964
630
857
643
637
613
685
910
798
903
641
786
680
890
633
845
753
730
660
635
761
697
761
944
908
656
661
665
650
663
731
708
662
631
755
670
890
648
623
766
727
957
694
630
598
643
779
827
780
836
693
756
725
678
793
641
620
892
614
895
699
923
740
664
641
692
786
794
594
648
643
604
629
723
633
676
786
597
729
622
727
889
701
660
630
618
634
652
612
735
627
717
889
800
692
612
717
626
877
814
802
604
674
772
645
857
752
900
658
817
680
591
616
733
638
767
620
696
587
733
642
694
647
649
732
761
646
710
827
639
709
682
669
685
650
868
591
707
668
842
643
892
721
663
621
670
700
875
598
850
828
761
753
725
650
779
688
735
716
664
672
602
723
884
786
902
940
854
848
738
648
622
702
849
914
690
760
693
644
730
807
900
854
743
699
628
615
639
675
763
835
783
655
605
918
777
776
665
620
740
860
642
613
611
682
744
609
651
651
817
656
612
626
825
897
808
757
841
768
669
625
807
909
660
900
671
752
636
847
867
864
601
814
807
828
846
655
666
672
992
707
625
896
630
903
903
881
961
699
950
739
594
848
729
932
895
815
655
808
777
788
799
610
908
762
629
819
703
795
643
639
935
746
643
656
848
612
782
777
609
652
710
759
758
639
632
723
608
898
640
764
730
782
648
616
742
622
887
645
736
658
733
588
693
629
685
701
702
828
791
711
754
982
596
717
643
728
804
616
647
863
844
775
787
657
906
666
854
654
834
748
658
676
638
798
632
822
665
917
678
684
663
849
614
739
799
746
795
667
685
644
857
704
849
833
948
842
868
682
676
616
664
970
621
817
590
812
860
611
807
662
700
789
839
630
673
977
809
643
630
714
633
793
627
627
631
688
709
958
645
670
914
658
649
647
613
617
611
818
962
620
895
640
670
855
757
761
829
659
772
921
815
777
817
663
636
776
690
659
689
655
813
784
839
645
654
602
869
865
740
810
863
687
658
742
810
733
736
638
698
654
778
627
820
804
696
878
819
646
775
686
719
714
660
653
659
839
611
682
644
779
906
713
629
718
698
749
818
826
670
568
938
791
929
788
747
605
941
860
901
690
728
655
623
799
771
891
651
688
651
753
625
706
639
725
699
860
770
808
819
772
643
717
915
667
714
625
979
932
622
882
635
844
696
618
675
827
651
655
795
728
690
748
669
686
607
769
901
649
636
645
843
628
645
569
655
647
812
786
981
670
793
794
638
631
936
843
765
742
659
756
832
772
914
589
718
699
685
714
709
909
632
821
849
655
662
655
618
825
812
700
857
740
662
611
716
725
619
657
828
614
870
835
733
829
661
923
769
806
803
692
770
822
780
901
772
694
874
665
629
781
695
823
679
930
652
719
659
784
688
712
679
720
654
740
801
943
832
980
634
801
767
615
819
891
776
701
619
766
920
871
685
695
621
752
605
614
805
852
694
647
631
736
653
647
891
673
621
690
782
633
756
651
772
863
925
716
766
577
856
807
903
809
648
742
741
680
630
655
749
859
692
727
941
850
796
633
696
644
752
719
667
912
811
901
824
853
637
698
617
750
647
812
941
736
939
786
910
788
652
683
830
624
925
797
629
872
712
672
855
665
650
833
680
773
854
672
899
762
750
680
646
742
978
611
674
816
630
854
611
828
730
882
916
893
612
681
708
618
856
854
870
660
925
983
721
829
705
694
589
721
642
651
639
632
842
640
641
925
934
889
658
804
773
628
671
857
589
817
773
654
875
626
677
769
865
631
737
598
771
689
650
716
747
640
676
873
627
906
709
738
671
837
650
743
654
653
649
610
694
667
910
912
792
636
803
640
644
937
656
838
657
722
902
679
659
698
672
642
661
919
867
701
755
804
625
740
736
657
690
644
738
860
634
919
652
690
749
610
636
822
663
856
697
990
797
892
875
613
715
999
670
670
671
918
612
991
640
819
854
957
625
661
650
727
876
702
835
845
787
791
657
581
728
958
708
707
735
729
767
893
912
747
706
674
715
710
702
731
749
593
603
648
742
702
712
730
938
691
737
652
846
849
715
897
795
834
616
732
640
855
873
808
928
780
721
713
944
664
648
695
668
802
870
888
779
628
933
657
773
635
653
692
814
629
663
681
745
794
921
727
741
653
666
877
680
788
905
771
661
879
682
696
740
783
707
687
844
679
622
864
633
752
827
711
827
867
899
823
753
698
637
766
702
897
650
942
898
711
697
931
751
694
761
795
694
635
693
617
596
792
753
943
763
629
662
759
648
860
739
862
745
945
705
801
866
622
832
717
723
761
965
611
714
818
804
820
611
812
847
827
665
706
654
669
893
870
732
710
728
815
987
635
638
728
946
708
661
905
683
796
626
652
699
648
726
820
646
668
659
922
806
882
705
827
758
822
651
663
751
642
822
643
878
649
648
727
773
851
801
917
678
949
779
660
806
696
866
944
850
680
754
645
602
880
662
850
736
584
625
777
625
671
870
757
640
650
653
727
819
893
799
663
667
739
797
987
608
711
843
699
663
849
739
673
813
922
689
641
622
644
635
653
640
668
947
772
671
744
806
706
875
666
752
828
710
699
621
661
695
643
742
865
962
943
729
751
878
654
675
718
796
860
938
653
843
729
720
759
717
751
964
633
657
705
681
662
809
760
616
933
656
639
629
774
770
624
728
885
684
722
616
601
616
820
624
631
811
687
737
924
639
907
673
861
727
678
898
691
677
887
624
875
600
676
762
659
639
667
635
695
721
654
657
756
706
693
861
892
658
834
766
711
688
802
742
741
832
933
634
669
660
818
784
870
707
722
948
799
710
600
696
822
654
758
612
661
736
821
640
852
816
761
898
647
784
758
834
621
655
708
717
731
700
651
721
772
886
892
631
773
634
619
755
854
629
742
888
682
674
639
782
928
639
683
922
627
832
644
683
658
688
630
865
837
905
893
764
657
822
702
716
862
901
663
633
973
752
706
708
681
728
943
793
629
672
815
658
622
608
730
663
725
757
654
909
671
752
645
639
760
674
783
708
662
656
751
709
920
799
885
587
649
656
663
727
685
754
651
703
962
913
792
807
786
867
656
639
668
765
871
894
722
673
754
929
957
612
771
716
737
649
886
787
852
734
703
604
657
678
717
639
820
719
865
942
662
648
678
876
597
715
625
951
889
703
673
660
594
714
625
624
628
654
819
832
891
877
878
833
898
852
661
658
640
908
665
817
748
920
661
699
626
939
924
648
646
804
844
659
676
641
954
762
798
793
693
595
652
950
751
630
768
641
727
686
737
651
755
940
954
667
624
801
908
769
787
825
770
667
647
826
786
680
716
969
899
667
766
975
695
713
771
754
666
572
584
659
769
756
710
581
598
756
798
736
695
648
633
940
834
615
824
626
866
598
872
711
582
811
735
672
665
782
664
857
656
637
650
659
708
710
646
711
626
780
864
741
834
791
918
937
686
752
683
770
835
685
963
728
906
723
716
650
780
645
660
649
669
630
660
851
754
759
776
694
782
636
946
691
706
671
728
675
695
865
662
720
846
685
852
644
699
672
812
909
640
681
764
838
731
620
717
843
702
869
644
872
671
912
639
668
627
721
754
655
587
678
748
851
729
788
869
655
655
863
911
828
680
760
703
647
649
701
732
764
910
835
699
645
645
608
624
639
671
729
654
664
711
750
752
640
794
669
651
633
621
587
646
840
667
670
664
708
739
704
924
661
687
688
626
918
816
657
724
817
686
712
753
641
613
668
663
946
610
823
674
614
744
637
752
632
927
692
938
678
704
593
881
974
871
737
721
837
713
675
714
695
943
653
578
852
909
798
611
925
867
839
724
896
649
628
792
676
837
640
618
873
722
688
754
755
813
903
917
600
635
750
696
785
829
776
826
811
716
667
689
832
924
791
736
765
635
744
701
795
764
648
856
692
679
937
635
724
880
686
705
770
924
922
689
722
873
827
695
772
897
650
931
772
717
847
736
984
870
902
801
755
897
739
794
622
719
933
757
902
659
701
641
617
672
670
585
773
683
791
975
750
718
764
764
666
651
652
704
691
879
581
659
603
769
923
663
715
691
869
708
825
679
917
765
753
715
654
633
727
675
732
665
830
687
957
755
953
707
703
709
673
645
859
890
793
766
654
736
661
655
592
687
628
907
838
827
640
683
723
726
769
679
712
644
794
679
814
635
814
935
684
857
841
705
781
805
647
630
738
785
639
729
746
801
904
960
691
866
701
684
881
941
635
777
745
925
742
764
652
635
753
724
852
643
672
897
687
642
887
627
644
699
842
777
814
754
813
734
691
819
676
668
879
649
818
788
633
681
647
668
765
704
583
653
939
649
723
791
750
644
637
763
778
695
734
805
703
825
783
810
674
627
733
914
818
636
899
705
721
611
656
868
972
939
670
686
804
729
759
718
680
654
699
728
833
784
633
787
635
619
706
712
659
727
717
661
691
617
931
721
669
863
666
769
630
640
632
933
686
801
849
772
712
780
899
859
775
627
641
709
648
860
850
795
782
638
918
724
831
732
687
959
682
622
650
724
900
647
893
746
633
777
856
652
909
693
678
654
757
719
619
654
742
666
630
655
701
662
786
658
804
843
721
753
841
862
642
833
736
757
714
636
656
816
901
833
959
621
708
648
622
674
689
645
714
638
668
912
672
600
682
788
858
834
706
840
685
730
711
800
709
602
941
654
664
655
724
927
603
649
630
928
656
797
895
901
797
747
683
661
738
898
730
692
697
602
842
889
847
753
719
747
757
752
697
748
627
657
895
720
635
918
624
767
769
647
731
845
614
796
621
908
613
716
960
631
704
668
915
754
643
780
721
875
616
816
696
698
707
638
719
947
725
742
820
695
698
710
661
739
713
824
639
700
861
621
697
867
931
922
869
631
651
609
795
905
702
688
649
723
978
692
665
671
836
708
720
879
776
797
701
859
713
942
948
690
790
769
696
644
917
684
749
618
785
652
880
667
602
718
783
912
861
656
810
834
683
962
660
745
654
699
675
860
714
668
886
906
779
748
865
857
709
918
782
658
691
781
789
731
745
635
687
781
658
660
691
979
1008
814
659
668
800
971
646
634
720
637
660
709
633
745
951
664
659
869
977
755
913
660
722
647
958
663
817
632
703
916
646
873
606
685
614
683
945
948
967
678
811
783
731
672
653
713
830
831
717
634
852
668
938
798
909
707
764
831
805
917
638
805
636
757
778
716
863
761
762
737
666
799
787
830
642
940
639
702
692
650
842
650
689
891
712
658
659
647
902
673
682
661
726
660
904
623
643
637
805
850
651
619
756
656
638
784
809
866
768
659
595
914
714
870
972
648
855
650
978
677
665
928
867
727
741
667
711
679
956
796
697
914
729
628
798
701
696
720
647
657
793
647
667
957
919
954
754
735
617
892
701
941
886
810
831
799
818
754
642
867
706
690
805
896
663
761
871
748
894
863
709
675
662
745
864
920
685
666
784
765
651
903
635
631
669
950
764
996
865
780
778
646
955
766
681
741
645
617
624
841
786
722
705
705
670
864
628
970
890
897
788
711
614
726
779
605
937
670
763
708
640
804
637
645
727
740
657
668
739
832
673
689
689
785
636
794
849
650
817
747
670
676
720
870
885
744
946
731
841
697
829
839
617
934
919
676
734
928
740
799
908
611
871
847
698
646
731
735
894
747
763
635
744
585
798
799
945
842
772
692
641
748
645
643
836
884
723
642
677
688
662
743
574
871
754
689
680
864
650
776
843
653
697
942
695
695
717
694
840
1005
713
630
913
676
705
672
738
730
834
679
708
810
777
859
950
739
729
789
674
650
609
754
688
843
631
674
645
782
617
913
941
687
734
676
815
671
745
720
789
725
654
874
759
705
906
873
700
675
859
600
646
848
847
666
961
685
851
735
715
707
839
713
725
633
696
675
634
680
944
651
777
633
713
636
809
669
926
725
699
845
684
797
960
810
790
754
712
746
672
641
701
786
829
630
874
881
648
682
899
961
692
935
748
866
697
624
647
709
640
766
821
669
698
816
868
816
828
617
899
761
914
676
900
675
754
661
634
763
934
797
708
690
826
684
774
885
925
653
679
657
649
649
662
970
728
810
624
642
656
683
674
779
675
804
810
707
631
873
652
712
821
674
830
894
824
907
765
936
638
844
662
693
872
742
688
745
842
630
643
762
753
963
829
914
1001
885
669
621
797
805
771
651
596
761
770
971
630
673
847
678
617
682
863
612
760
729
665
730
670
875
688
692
664
637
716
942
656
669
781
687
894
840
731
750
873
655
687
698
692
666
959
588
640
863
703
598
868
723
641
851
880
835
910
794
648
756
873
681
657
849
756
789
847
749
878
657
678
670
653
808
659
849
649
874
796
612
658
923
749
729
736
756
755
791
831
665
650
616
789
773
827
786
708
629
841
738
661
740
613
685
657
734
936
889
835
678
635
759
896
810
858
817
734
980
712
730
733
654
789
699
717
938
698
725
955
774
677
715
962
630
640
925
907
717
772
621
649
825
720
629
705
883
763
791
885
666
640
733
667
809
771
603
834
663
649
953
732
775
659
736
785
634
749
866
887
870
764
967
798
891
711
639
630
627
637
827
650
638
661
731
918
893
772
804
662
693
751
653
812
634
656
736
855
687
667
654
665
599
706
681
775
729
674
880
669
913
669
808
825
728
970
948
849
634
623
633
672
945
771
878
798
640
646
635
709
822
734
842
656
765
652
919
634
655
706
671
655
817
673
878
721
652
625
862
828
904
762
886
667
889
753
711
810
679
877
680
917
804
772
636
673
689
664
964
630
642
652
624
650
681
653
956
682
831
694
937
659
729
848
735
847
740
760
831
833
655
702
711
638
645
605
611
744
711
675
661
721
759
822
862
671
764
663
815
662
649
792
923
900
741
752
653
756
816
714
793
727
632
725
960
903
734
670
885
631
866
706
684
615
808
785
782
648
968
673
636
655
627
644
636
763
620
876
944
664
778
867
747
804
896
696
858
764
743
723
801
653
619
635
639
655
638
737
618
609
700
685
643
921
817
804
768
822
684
780
670
709
872
773
724
879
643
564
644
647
681
930
959
863
797
754
929
747
760
726
637
746
759
645
735
683
819
641
705
693
642
641
869
955
670
636
768
659
834
704
750
668
778
754
657
708
652
889
719
892
698
750
955
844
725
723
660
756
771
782
946
901
702
653
616
888
695
688
661
613
750
908
634
881
714
908
931
881
634
619
813
638
768
746
763
670
612
917
850
930
853
680
845
802
671
713
936
829
855
709
625
685
665
875
955
613
792
675
677
714
893
674
852
658
662
632
708
623
785
936
702
828
686
678
813
651
635
758
652
817
685
713
670
609
979
657
701
736
736
753
908
851
709
699
918
783
913
646
657
888
683
752
653
828
806
841
827
662
622
833
777
689
642
709
619
688
800
777
668
731
755
844
704
804
639
915
692
699
624
618
781
678
750
648
636
811
758
851
761
690
735
743
830
666
675
756
672
679
633
907
860
611
712
810
907
659
675
648
682
650
618
709
752
819
974
807
938
621
903
904
964
791
723
693
795
702
699
741
890
696
781
760
696
643
835
808
848
793
637
662
654
912
890
726
865
832
641
917
649
783
715
883
886
679
712
752
804
731
862
927
634
822
795
646
829
912
827
746
606
778
677
859
740
814
775
843
800
613
878
674
656
642
750
961
900
962
693
669
623
624
682
698
762
760
983
732
755
874
796
730
850
706
681
906
925
651
714
731
892
672
852
749
867
736
625
820
859
849
649
684
729
708
715
847
679
829
779
813
706
662
929
744
943
836
865
719
641
758
697
780
674
878
912
650
646
948
739
669
661
613
768
762
814
618
923
664
763
692
940
775
759
835
961
733
715
660
728
750
649
808
636
645
761
780
869
613
688
683
635
697
803
799
645
701
801
825
850
775
774
910
657
741
774
804
792
809
824
673
669
625
873
858
738
938
875
678
690
684
698
696
790
739
938
764
839
652
667
922
647
823
837
828
863
695
808
651
699
710
594
640
752
965
783
769
887
782
650
622
847
670
656
832
706
735
749
750
712
639
681
753
703
649
847
720
815
722
798
766
782
901
630
704
695
718
673
743
728
757
866
697
657
821
979
618
612
693
616
638
993
859
641
822
683
617
692
812
610
652
856
682
656
617
696
611
684
887
705
819
885
676
870
685
649
755
760
705
895
662
665
743
659
744
829
663
662
616
691
697
746
815
852
868
942
956
770
648
647
617
879
857
815
682
758
697
883
762
704
679
923
664
689
870
612
672
825
925
745
729
672
694
665
636
825
702
813
807
632
765
901
823
877
929
740
867
860
969
791
760
771
688
814
687
759
670
703
720
932
933
761
815
622
808
758
638
793
783
792
727
942
889
727
672
676
715
655
644
713
644
646
721
732
805
654
633
841
660
625
673
956
841
589
839
615
856
884
721
698
708
768
667
727
781
750
691
636
644
726
746
670
946
695
647
924
720
829
777
801
709
808
831
647
652
839
727
677
652
798
891
808
682
900
919
615
733
654
749
966
728
668
960
646
619
826
752
685
815
706
861
626
713
763
645
899
776
617
968
694
647
819
646
768
740
653
690
762
688
634
678
669
623
841
663
866
632
826
873
825
646
746
744
773
734
955
717
662
949
843
705
628
662
678
711
625
673
805
898
769
605
885
890
771
630
766
906
656
766
695
793
743
929
604
709
668
865
945
687
680
940
795
676
823
636
652
840
678
838
726
678
635
796
634
914
892
648
626
693
734
743
877
779
762
651
633
720
935
745
788
686
672
730
692
895
677
912
670
837
951
765
851
695
673
708
775
853
713
735
806
682
892
788
754
665
655
648
675
805
747
779
642
745
597
755
787
699
697
703
706
742
714
773
718
632
960
657
640
765
768
697
783
754
756
635
863
813
657
819
614
807
912
956
752
646
794
817
814
866
604
936
801
729
668
697
926
658
685
761
632
637
723
947
676
686
808
639
645
720
626
612
703
711
884
667
771
629
734
738
724
825
719
982
805
637
805
678
832
655
718
631
656
723
735
788
864
649
696
675
830
831
680
903
759
802
646
692
950
691
656
666
841
674
880
914
729
733
774
878
890
887
642
787
895
882
672
830
702
856
731
732
697
652
752
763
904
794
796
791
658
736
658
718
728
790
782
624
660
719
889
898
877
667
781
853
753
912
899
769
677
698
671
705
645
636
939
681
977
924
805
801
901
665
770
713
717
862
655
764
776
712
639
802
727
656
688
874
663
887
657
705
641
792
667
697
729
776
717
1014
841
878
793
757
909
817
736
863
724
648
739
697
676
596
809
778
746
946
642
713
856
680
771
812
828
651
889
773
628
647
856
891
710
930
637
672
625
946
751
737
708
851
736
804
687
802
762
808
681
717
888
617
815
667
667
628
736
654
750
660
696
731
674
902
685
777
691
653
638
741
690
671
996
823
803
762
700
906
927
772
716
937
684
635
753
709
732
698
664
787
648
859
889
823
877
807
745
667
716
663
894
641
702
666
731
852
695
672
636
714
711
642
598
752
860
893
715
792
810
937
930
777
758
920
719
836
701
697
824
574
897
695
641
715
666
758
928
652
926
900
762
703
671
916
833
691
868
660
639
650
801
787
824
615
869
683
790
756
718
862
686
775
647
744
691
931
768
838
764
601
644
781
774
723
874
660
801
720
649
628
632
832
951
788
613
916
610
724
772
899
650
969
763
768
847
620
800
633
748
673
646
930
693
839
722
865
642
684
911
890
702
687
649
660
646
759
676
804
840
693
634
843
694
788
737
617
690
648
803
761
639
950
655
814
889
868
852
619
668
724
746
832
631
863
795
835
652
759
652
837
692
941
625
893
826
907
689
685
666
655
911
775
626
667
793
828
951
602
659
777
768
680
700
968
969
850
655
663
647
772
699
682
734
668
712
855
771
661
938
763
661
900
704
758
966
780
660
724
856
661
604
803
775
829
654
636
691
908
676
639
720
724
663
731
688
650
727
689
953
715
631
822
655
923
793
820
815
885
976
671
836
911
659
613
845
666
765
832
680
682
651
792
617
943
866
653
725
657
957
668
675
716
636
813
662
740
868
856
657
868
818
688
712
651
759
872
724
716
647
794
655
881
655
742
910
647
853
778
677
758
660
666
766
767
760
847
598
816
676
889
844
679
804
737
801
774
628
651
750
661
853
812
684
665
691
948
772
868
841
642
739
653
676
610
662
758
968
835
708
644
690
656
740
780
656
830
957
735
653
658
661
815
684
850
700
685
787
756
730
670
720
665
808
664
782
660
747
805
787
927
711
832
657
811
857
810
643
899
772
659
773
592
757
751
988
698
620
686
823
820
824
763
811
678
764
952
704
850
914
714
746
790
707
657
627
661
677
648
710
777
647
874
700
760
800
903
917
834
895
705
726
874
689
809
674
715
804
670
890
700
647
701
782
683
757
672
778
928
723
643
912
790
685
722
664
696
915
803
703
880
724
835
898
976
667
698
724
618
757
647
663
740
664
667
902
645
923
683
731
669
686
939
791
700
757
716
644
879
740
675
665
709
722
916
862
819
713
707
785
698
697
775
830
632
794
746
839
929
691
707
781
689
674
784
667
603
805
695
849
729
723
650
814
844
760
980
858
670
809
763
982
853
724
857
933
775
667
644
787
704
808
628
740
700
967
768
876
709
844
670
624
752
843
777
799
827
778
718
656
830
786
733
889
740
830
691
693
740
772
646
857
650
676
929
769
786
655
777
694
972
835
884
841
643
694
821
733
752
676
662
814
743
751
852
718
705
647
881
702
779
650
770
642
923
891
830
879
661
745
895
789
642
828
668
705
861
820
625
720
910
962
630
602
922
701
719
839
666
671
784
665
960
964
732
804
766
662
856
763
965
933
862
702
661
863
855
951
656
645
701
741
664
733
829
690
778
646
752
688
709
751
720
676
629
855
831
659
796
798
696
844
898
746
648
752
783
906
898
900
793
718
619
662
796
670
882
824
952
758
795
652
709
686
818
650
801
754
720
672
781
706
795
806
729
929
637
693
700
757
691
682
795
896
668
645
623
629
905
637
705
658
942
721
797
710
624
701
796
724
662
710
633
903
767
843
704
711
841
637
660
886
683
646
755
819
738
645
685
678
688
632
744
777
679
720
745
898
656
633
807
761
695
645
742
692
746
906
873
928
693
639
787
646
648
801
677
657
760
635
729
924
956
924
859
615
894
674
719
666
656
777
712
896
687
789
823
944
638
644
736
742
767
705
727
857
797
907
679
622
737
742
651
771
635
726
945
776
829
627
695
891
824
730
673
788
838
811
763
703
743
685
710
761
886
797
717
750
726
814
739
778
660
767
689
678
965
811
883
717
610
949
623
753
702
865
676
628
724
783
853
653
658
642
697
837
693
900
609
679
691
837
648
662
828
996
941
775
951
645
680
654
738
956
862
872
807
961
889
841
756
777
661
664
620
670
769
631
763
670
695
716
910
692
803
702
816
786
685
650
878
893
658
692
686
866
626
960
640
888
753
967
939
611
724
634
701
681
772
660
849
671
783
822
916
653
678
876
709
671
670
664
869
707
792
835
832
807
806
886
683
670
638
689
660
669
737
750
638
837
624
891
891
841
666
889
966
720
778
750
716
950
710
663
660
806
685
789
758
821
653
731
741
694
823
661
672
688
841
735
679
728
782
886
693
932
874
719
802
726
913
876
720
791
916
801
636
663
711
777
656
885
890
920
642
711
749
708
839
813
750
620
867
846
900
640
692
715
618
648
774
634
926
657
814
801
770
703
771
954
682
812
857
755
738
815
704
728
888
879
918
648
686
847
660
767
996
848
655
743
660
981
747
630
894
989
668
641
672
896
685
833
666
859
809
658
832
898
737
913
721
701
911
756
900
677
859
669
771
667
687
662
767
775
934
855
757
626
855
634
733
895
838
699
652
685
672
803
815
806
734
660
632
956
718
674
673
621
652
756
762
866
645
798
672
817
668
705
652
807
614
669
634
660
749
699
724
655
678
630
626
721
665
667
890
633
658
751
800
659
750
717
653
865
697
924
831
761
770
682
869
880
788
837
707
678
873
673
640
668
875
671
834
859
653
687
648
813
618
755
663
833
683
667
695
645
843
688
624
995
632
777
800
796
658
630
884
743
708
801
641
749
927
821
712
712
733
734
847
731
781
825
847
730
666
680
654
692
765
691
848
625
727
701
702
632
955
630
664
683
769
618
620
877
771
767
716
599
646
640
710
716
787
885
1004
719
693
668
878
812
806
814
861
747
895
743
703
803
801
687
684
732
656
815
681
777
772
690
620
726
916
652
637
994
704
837
701
632
844
850
787
763
889
654
823
767
925
669
676
927
656
768
768
688
952
783
686
840
898
895
739
822
960
647
624
773
645
940
653
673
843
762
674
794
831
681
732
684
728
822
791
945
701
679
664
764
834
670
633
762
810
877
680
836
713
873
769
675
645
968
906
648
876
661
864
706
629
823
702
720
664
845
872
672
861
818
708
880
767
821
858
799
808
854
661
667
670
634
881
803
841
723
730
786
685
713
676
794
746
680
730
643
664
766
917
626
724
917
686
844
703
898
756
655
683
719
945
683
616
787
782
697
910
710
640
673
903
894
605
667
652
657
720
809
631
803
819
839
666
910
763
660
646
854
668
684
807
770
780
673
810
712
929
713
779
813
661
831
940
879
796
679
695
779
715
673
685
715
961
754
701
874
792
664
722
801
678
905
832
893
750
678
655
701
793
736
738
671
697
711
643
834
675
629
627
673
616
677
695
833
640
807
820
848
736
686
710
880
697
645
893
692
731
864
747
638
813
755
866
666
648
811
784
850
641
806
868
682
852
767
760
723
676
659
653
669
900
751
710
705
646
638
849
819
914
876
818
657
677
651
820
864
954
783
758
779
866
708
684
627
863
820
752
635
923
861
637
968
726
690
877
721
770
637
713
715
735
904
651
689
852
738
798
769
727
658
673
882
826
680
817
915
827
708
690
722
620
706
916
847
932
661
952
818
668
710
738
712
706
684
746
825
799
998
657
641
785
642
662
769
810
813
877
647
612
734
767
685
676
722
822
651
760
819
668
686
664
717
712
828
663
823
655
680
672
706
809
722
679
829
746
854
714
638
693
745
706
939
778
815
671
901
657
653
712
878
659
835
684
867
645
990
732
666
721
750
852
671
645
743
751
938
956
900
767
699
658
675
655
649
669
853
822
758
789
939
716
661
866
678
814
675
711
871
645
927
656
829
635
728
667
723
624
703
713
648
859
782
835
706
698
762
749
891
705
647
826
775
636
725
687
795
623
895
835
878
787
688
666
655
636
740
840
674
762
676
651
878
710
796
664
847
688
671
680
1008
651
810
819
659
882
927
613
665
932
763
706
862
902
646
640
783
879
855
972
972
776
731
736
915
878
685
904
839
656
858
690
676
676
804
902
912
767
716
900
895
800
788
706
666
675
665
791
843
682
664
676
681
859
783
650
938
714
702
821
683
910
875
672
794
919
736
754
710
832
830
773
675
648
782
754
692
658
646
962
763
918
614
860
831
702
683
684
701
681
658
755
636
701
649
793
694
734
655
949
687
839
768
646
786
785
821
920
978
837
969
755
755
821
764
749
787
732
738
793
886
815
827
663
875
975
864
787
648
717
706
687
844
650
801
977
869
790
868
817
703
896
669
688
767
769
855
789
982
704
688
711
848
828
834
827
881
674
723
697
643
645
650
780
825
690
655
838
860
826
723
824
696
811
888
641
769
725
738
664
734
769
631
676
728
644
859
631
833
898
685
650
669
710
609
760
951
696
710
760
795
914
742
683
890
679
644
619
806
897
669
716
674
718
782
663
765
831
902
663
829
646
662
651
937
665
793
793
781
946
770
671
782
777
768
926
677
638
854
757
865
632
694
711
672
888
850
659
825
653
926
639
660
785
709
774
638
863
738
880
738
641
684
818
884
660
763
692
697
785
834
677
809
800
698
750
679
632
669
764
750
715
697
819
833
651
842
781
741
950
815
800
988
915
787
927
684
923
684
670
907
746
734
759
675
887
806
626
631
654
659
787
691
673
741
829
691
736
702
652
906
711
828
771
820
689
728
803
985
660
978
738
647
817
730
702
708
670
953
748
717
824
818
712
767
846
739
727
799
666
672
817
743
953
739
664
980
918
672
855
665
793
719
916
817
700
701
820
648
666
779
783
961
644
686
727
695
711
858
698
893
616
749
744
772
769
848
713
625
711
921
952
709
869
769
733
696
770
865
655
909
831
754
698
957
731
670
912
819
798
664
708
754
805
866
682
677
880
698
626
643
1017
766
736
733
670
647
786
770
800
816
638
624
780
676
832
794
706
680
677
969
673
917
812
601
820
917
671
847
814
953
704
665
659
738
791
718
658
666
833
823
802
696
663
695
703
907
673
676
639
884
727
861
818
711
888
706
722
691
815
860
753
707
832
682
663
697
675
725
836
768
920
693
790
727
910
670
625
669
668
791
732
747
752
726
772
694
965
838
854
788
827
583
855
850
728
637
825
636
874
791
624
651
721
700
691
843
693
890
934
647
833
652
998
685
663
638
758
894
783
698
769
869
657
711
714
860
673
681
868
673
642
705
822
897
748
751
925
682
763
706
761
693
685
693
849
870
945
752
730
722
828
958
850
871
649
679
792
827
849
743
780
682
857
776
778
708
863
712
670
666
662
682
737
798
639
648
749
720
754
734
786
844
921
700
733
653
703
662
701
686
804
788
671
697
892
725
685
841
888
678
732
684
670
628
773
957
853
784
656
750
701
881
874
676
756
844
704
873
798
923
651
802
665
876
901
698
805
651
708
739
752
672
715
738
860
655
801
704
727
624
754
658
705
698
737
881
884
787
706
725
638
773
671
658
833
946
762
742
867
778
627
839
887
742
825
706
862
996
774
772
871
885
657
835
899
783
696
699
719
750
809
655
867
806
682
728
816
777
658
696
985
672
877
682
657
683
662
678
635
642
658
684
797
907
813
878
666
832
715
630
672
878
951
946
816
639
755
675
857
900
674
976
640
682
739
843
883
732
794
919
675
759
667
823
805
642
814
922
660
880
667
658
682
718
667
881
778
765
693
855
702
843
814
651
802
725
968
845
847
928
865
1008
852
873
753
937
660
692
684
739
651
683
666
775
659
774
749
876
923
918
820
676
779
636
768
657
775
683
819
829
648
810
908
768
691
757
737
691
670
633
839
895
694
850
743
948
712
643
750
715
675
669
786
680
676
726
729
822
820
760
627
792
701
681
640
812
785
674
699
628
893
735
715
680
994
793
868
942
682
721
664
789
782
641
737
727
712
946
755
697
703
729
661
814
865
671
884
963
769
890
798
677
834
685
778
754
876
877
748
814
879
813
806
665
893
913
810
648
898
927
839
809
835
754
870
924
911
921
847
795
825
807
706
613
805
724
891
751
754
669
723
812
786
774
668
781
964
685
841
758
673
675
916
620
655
698
836
788
676
806
641
961
745
718
689
790
792
775
901
642
791
959
777
829
830
633
692
719
936
765
645
886
935
647
932
856
629
703
610
781
698
716
778
707
734
796
741
850
669
633
828
665
642
955
652
719
651
763
705
752
685
829
720
751
831
681
793
941
914
900
884
904
829
819
731
891
752
726
736
768
650
842
625
898
941
856
732
812
813
707
790
717
763
863
822
882
881
735
671
687
662
681
714
910
690
720
667
744
719
896
776
931
810
721
959
819
718
701
762
656
715
944
784
854
957
646
668
870
917
842
681
847
983
680
709
764
675
646
881
610
778
768
732
824
754
763
863
765
976
711
685
677
960
825
855
880
793
681
686
760
892
787
745
830
695
774
619
889
878
854
660
872
700
700
671
610
735
846
664
861
927
853
818
802
728
811
723
669
709
903
893
706
648
814
766
696
854
744
723
967
620
655
689
740
864
775
719
704
680
697
725
715
833
594
629
723
776
939
962
819
678
663
768
711
891
720
954
707
708
716
827
673
951
926
732
658
938
672
788
943
680
741
856
665
703
769
805
686
911
637
700
846
671
653
816
894
760
676
714
845
675
662
787
642
919
645
861
704
698
645
850
693
625
741
674
870
721
740
901
685
836
864
736
817
939
633
755
808
703
683
818
924
893
861
963
722
730
676
733
794
668
701
712
909
820
840
744
715
615
783
688
978
632
980
753
930
733
673
734
733
790
791
691
926
734
773
748
744
917
643
926
633
765
728
762
941
755
812
673
685
635
660
701
882
620
668
779
754
854
787
644
816
637
688
683
808
752
637
791
709
696
840
934
723
839
704
719
836
697
683
682
870
650
685
635
740
714
691
793
859
767
669
633
713
765
667
693
817
870
657
861
823
812
947
678
840
958
702
686
771
650
652
833
708
666
751
651
807
831
868
653
799
891
725
755
693
942
840
764
938
911
761
803
798
936
633
843
670
686
625
730
691
827
845
716
941
861
942
667
752
724
923
700
777
688
900
872
875
792
686
672
893
711
805
696
647
634
792
673
698
694
746
859
702
707
829
935
730
803
729
662
688
895
642
647
689
707
703
680
926
656
646
754
917
905
776
797
646
693
664
666
647
678
819
740
649
695
674
817
813
696
736
654
755
754
797
748
830
896
795
671
800
687
658
645
836
682
665
802
797
626
956
670
651
662
726
872
726
744
896
756
761
656
920
693
698
727
759
658
679
807
820
798
697
913
746
760
695
713
755
724
671
705
844
745
718
775
674
881
793
632
725
663
827
868
777
867
819
682
689
798
746
752
633
645
871
664
677
863
833
843
932
663
917
665
938
834
673
776
904
860
834
810
681
802
733
830
917
818
836
864
891
687
720
772
698
649
766
908
738
735
715
864
683
645
677
721
657
678
905
845
726
724
717
912
657
696
676
666
663
866
821
755
858
673
658
662
644
712
841
842
805
955
924
643
861
665
877
826
672
738
863
640
859
873
777
661
937
688
704
814
824
699
943
652
585
684
735
801
712
859
921
838
657
641
737
641
733
749
653
855
719
930
732
777
793
929
711
812
697
819
738
660
929
863
694
854
699
623
723
699
692
689
645
782
693
677
830
774
666
670
833
821
673
689
671
748
690
852
725
773
813
679
912
813
748
970
810
859
857
839
799
641
684
841
785
678
717
910
821
726
741
847
720
746
726
865
694
642
760
573
789
703
668
736
904
734
874
662
651
746
951
690
912
917
683
763
686
803
707
812
777
702
625
733
668
709
955
647
799
954
841
718
834
737
680
720
657
732
678
664
702
685
750
802
634
831
731
843
627
706
886
663
667
731
778
837
928
875
794
786
723
653
711
670
687
733
735
860
882
651
839
817
660
657
918
951
761
748
708
672
853
806
737
625
704
717
852
654
691
743
690
669
730
904
721
737
720
695
686
647
919
675
665
672
702
879
772
855
751
677
851
839
775
665
816
672
652
929
768
844
898
841
787
692
632
662
767
835
825
672
696
699
649
843
770
680
656
701
924
930
904
636
747
763
654
692
786
910
692
844
761
686
944
742
646
857
702
681
848
855
902
730
647
880
830
794
646
654
668
726
895
722
773
870
826
837
672
752
726
691
633
789
942
804
716
895
847
730
709
789
894
839
792
674
697
798
775
787
825
660
697
812
621
916
739
803
631
689
744
694
760
961
1003
812
932
894
699
686
702
840
820
767
761
666
930
804
776
688
679
869
780
681
740
648
723
693
911
648
703
641
800
683
764
659
865
955
735
910
688
684
868
924
696
759
828
905
804
746
796
652
689
868
666
748
645
690
870
819
757
711
663
710
676
798
684
802
821
960
654
860
659
700
756
881
933
699
728
691
925
665
670
734
650
824
752
816
793
825
699
938
736
640
707
911
757
974
775
832
905
639
841
852
901
802
770
893
668
733
690
756
706
764
784
661
929
911
874
683
652
790
694
809
749
816
957
674
693
707
736
804
663
792
973
751
660
798
713
913
717
658
694
744
710
644
642
633
639
660
744
742
802
688
730
709
693
822
773
780
833
765
810
876
833
698
848
697
722
609
681
707
799
814
750
786
766
804
908
613
828
930
841
959
802
722
822
673
668
681
808
643
718
931
913
890
667
790
745
711
821
819
891
823
850
896
813
939
726
666
653
698
700
636
846
643
714
672
797
659
671
712
722
772
674
664
607
895
740
938
676
790
801
857
713
711
661
888
691
923
853
697
886
745
787
849
696
708
817
689
833
789
747
777
694
811
648
710
647
764
922
888
766
668
861
760
835
698
900
734
656
704
775
694
834
758
768
675
771
705
963
665
738
803
753
874
898
911
708
829
622
735
747
641
1003
774
918
812
713
663
712
724
718
763
715
834
686
939
764
934
667
690
804
949
677
1003
780
694
690
670
728
734
805
948
770
825
667
720
728
767
670
734
659
874
774
740
675
707
748
859
709
675
786
815
720
652
677
758
770
834
762
659
759
643
774
725
753
875
928
951
724
828
692
857
701
837
829
935
687
920
886
760
850
663
737
837
661
736
790
781
891
711
718
786
841
743
789
671
628
706
651
776
822
835
699
878
681
692
878
880
788
772
749
930
851
693
693
763
934
642
872
691
806
627
664
958
771
861
810
670
639
766
874
711
693
666
835
681
645
906
642
718
709
850
719
704
881
881
769
921
679
680
783
675
872
682
826
781
751
708
744
875
881
674
859
722
924
706
927
827
994
806
656
683
672
785
670
718
882
826
641
763
699
765
864
867
711
757
797
686
797
710
856
727
806
913
741
785
868
853
978
798
687
692
650
673
938
780
702
669
689
876
773
767
903
801
707
814
818
703
693
946
765
822
686
982
941
820
739
707
883
882
623
641
905
874
813
675
707
673
668
700
737
816
653
895
893
808
885
893
754
746
714
879
836
728
939
698
744
805
684
754
756
904
769
791
877
716
776
774
790
845
964
769
760
915
682
948
869
835
833
790
685
650
925
918
899
855
700
816
836
701
935
668
647
992
904
660
702
651
866
798
889
730
657
879
759
756
897
805
774
663
942
981
625
870
766
677
945
744
664
736
685
714
704
794
717
893
778
718
811
654
628
752
806
666
655
679
702
629
934
752
675
926
779
931
758
749
980
954
710
656
827
647
756
835
686
834
754
845
756
923
646
830
777
934
622
753
693
657
890
830
755
671
903
664
710
638
938
657
859
852
948
899
717
702
777
851
771
691
713
684
757
629
712
949
868
788
682
751
784
654
628
712
711
896
732
800
678
708
718
858
635
796
699
776
718
976
685
920
820
662
764
798
778
823
672
767
630
751
790
962
747
630
743
987
642
686
715
813
826
687
898
669
945
850
653
680
699
723
854
885
833
956
846
937
770
728
758
687
842
689
697
698
668
708
698
934
673
655
751
738
624
755
828
742
671
873
910
663
670
991
744
814
929
845
694
838
967
708
688
808
664
768
808
735
838
673
670
866
725
621
615
703
712
705
706
876
962
713
779
855
733
834
687
897
649
687
645
827
736
662
744
695
692
694
777
694
715
845
697
753
877
853
811
619
722
776
899
694
964
669
728
643
879
663
931
983
879
935
789
724
725
821
761
952
767
732
961
791
961
838
822
777
644
662
750
803
732
922
948
864
781
669
985
907
714
718
905
733
786
705
931
685
804
711
638
745
702
827
878
784
789
805
838
771
881
748
853
793
898
953
867
751
679
808
923
642
658
729
713
708
833
653
699
739
862
910
785
743
680
636
819
678
780
722
712
909
756
842
968
692
902
997
786
924
692
773
669
756
687
664
684
807
992
878
988
671
660
714
688
744
653
976
888
808
627
758
910
928
965
719
917
891
747
888
714
768
723
651
680
937
708
782
944
901
883
951
755
875
774
944
753
809
945
659
640
682
786
885
889
740
683
639
693
883
779
855
698
862
812
787
773
698
842
885
662
869
895
740
928
613
807
754
670
898
884
843
720
863
743
723
681
738
689
687
842
922
747
672
867
724
657
916
680
929
809
711
604
697
871
701
865
819
850
755
902
776
658
768
689
639
734
766
667
796
715
804
683
820
716
663
771
913
740
802
675
877
750
856
632
663
682
713
742
720
831
898
916
689
669
842
718
689
657
765
936
674
908
914
832
821
858
774
768
794
867
752
705
773
800
646
850
789
926
691
706
669
938
657
743
748
988
655
827
733
642
750
702
791
768
823
696
657
920
659
834
765
747
965
776
896
805
694
849
661
866
701
797
688
712
753
933
678
756
681
862
865
593
725
792
834
690
773
738
667
713
795
857
855
890
850
867
730
695
706
743
851
915
661
738
851
820
694
730
824
785
767
892
720
690
682
715
824
913
901
717
697
853
656
829
664
785
850
806
640
762
780
688
727
787
632
699
903
671
849
778
913
703
801
997
760
667
833
782
664
776
670
779
875
711
668
723
732
739
693
812
677
938
675
656
661
769
866
992
795
856
735
977
605
706
781
875
805
690
755
826
799
806
733
723
814
674
756
712
763
860
924
751
757
751
911
635
674
836
796
899
694
994
911
735
889
628
865
693
715
749
855
905
673
661
690
676
967
700
906
781
853
719
743
882
755
862
712
630
743
891
849
667
990
903
868
656
716
689
879
682
780
799
736
719
728
704
756
795
858
889
817
704
880
678
702
724
933
731
753
688
991
647
638
810
899
692
661
728
745
896
641
799
686
711
750
768
678
805
865
704
839
678
741
685
699
661
697
851
738
690
833
650
803
823
753
693
724
931
835
719
827
911
824
990
795
735
831
733
802
696
671
679
658
809
725
841
841
705
683
774
998
696
744
816
707
754
845
658
833
864
893
681
818
960
728
702
678
859
697
677
867
916
902
819
687
875
653
865
636
661
692
637
632
667
742
786
668
658
741
882
753
717
999
777
751
731
976
832
857
888
738
906
817
751
769
655
939
848
703
764
824
800
760
691
949
702
654
800
761
780
663
773
740
814
927
689
836
735
841
870
964
677
668
798
832
664
776
691
800
853
790
687
685
730
676
753
786
802
747
869
683
724
872
789
849
756
671
657
684
720
694
938
734
727
692
720
710
801
862
748
734
715
799
694
730
644
839
953
826
883
902
800
914
825
894
654
946
670
931
688
880
786
664
732
801
718
769
960
701
707
766
641
775
896
942
880
779
723
769
614
700
784
901
751
783
945
679
822
750
718
677
662
891
927
997
749
822
678
755
698
709
709
807
791
818
811
854
818
730
669
664
704
853
706
647
738
839
945
688
857
655
674
660
675
842
688
721
758
907
691
845
856
875
806
917
855
820
907
688
822
926
699
884
914
719
719
933
907
965
639
700
690
689
830
747
664
661
874
756
730
894
684
666
750
709
637
694
667
766
708
794
998
891
719
750
690
742
614
709
681
653
759
885
919
646
662
643
778
674
896
862
695
873
747
939
740
702
675
667
726
735
665
690
740
734
724
708
891
781
944
902
745
869
882
689
861
874
718
797
724
776
719
698
908
797
645
993
889
682
814
920
690
675
942
926
758
933
817
685
775
693
847
661
647
793
820
777
878
660
754
845
775
882
788
