ENSC 320 Spring 2008 grades
Student
ID |
HW1 |
HW2 |
HW3 |
HW4 |
HW5 |
HW6 |
HW7 |
HW8 |
HW9 |
HW10 |
HW11 |
HW12 |
HW13 |
LAB |
MID1 |
MID2 |
FINAL |
OVERALL |
GRADE |
|
|
|
|
|
301059110 |
9.80 |
10.00 |
10.00 |
8.00 |
10.00 |
6.00 |
9.00 |
10.00 |
10.00 |
6.00 |
10.00 |
10.00 |
9.00 |
79 |
72.00 |
80.00 |
76.00 |
79.84 |
A |
|
|
|
|
|
301024177 |
9.80 |
10.00 |
9.00 |
10.00 |
10.00 |
6.00 |
10.00 |
8.00 |
10.00 |
10.00 |
|
9.00 |
|
95 |
66.00 |
44.00 |
28.00 |
54.60 |
B- |
|
|
|
|
|
301048309 |
8.80 |
9.00 |
8.50 |
10.00 |
10.00 |
5.50 |
9.50 |
8.00 |
10.00 |
9.00 |
8.00 |
10.00 |
10.00 |
60 |
84.00 |
64.00 |
81.00 |
78.67 |
A- |
|
|
|
|
|
301018206 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.00 |
0.00 |
|
5.00 |
F |
|
|
|
|
|
301026788 |
10.00 |
10.00 |
8.00 |
9.50 |
10.00 |
8.50 |
4.00 |
10.00 |
9.50 |
6.00 |
10.00 |
10.00 |
9.00 |
100 |
74.00 |
87.00 |
79.00 |
84.86 |
A |
|
|
|
|
|
301023003 |
9.00 |
8.00 |
8.00 |
10.00 |
10.00 |
|
10.00 |
|
10.00 |
3.50 |
|
9.50 |
10.00 |
85 |
50.00 |
35.00 |
49.00 |
58.45 |
B- |
|
|
|
|
|
301019495 |
9.80 |
10.00 |
10.00 |
10.00 |
10.00 |
5.00 |
9.00 |
3.00 |
10.00 |
5.50 |
|
10.00 |
|
95 |
53.00 |
47.00 |
56.00 |
65.10 |
B |
|
|
|
|
|
556001645 |
10.00 |
9.50 |
4.00 |
|
10.00 |
9.00 |
9.00 |
2.50 |
10.00 |
|
|
|
|
76 |
15.00 |
40.00 |
39.00 |
46.83 |
C |
|
|
|
|
|
941011998 |
10.00 |
5.00 |
10.00 |
10.00 |
10.00 |
4.00 |
9.00 |
|
7.00 |
|
|
4.00 |
|
76 |
65.50 |
46.50 |
37.00 |
52.21 |
C+ |
|
|
|
|
|
301024141 |
9.20 |
10.00 |
8.50 |
10.00 |
10.00 |
5.00 |
9.50 |
9.00 |
9.18 |
9.00 |
10.00 |
10.00 |
10.00 |
60 |
76.00 |
67.00 |
80.00 |
78.08 |
A- |
|
|
|
|
|
301019152 |
10.00 |
10.00 |
10.00 |
9.50 |
10.00 |
4.00 |
10.00 |
10.00 |
10.00 |
7.50 |
9.00 |
9.00 |
|
85 |
58.00 |
61.00 |
61.00 |
69.68 |
B+ |
|
|
|
|
|
301061137 |
10.00 |
10.00 |
9.00 |
10.00 |
10.00 |
4.00 |
8.50 |
8.00 |
10.00 |
7.00 |
|
10.00 |
9.50 |
95 |
60.00 |
30.00 |
83.50 |
78.06 |
A- |
|
|
|
|
|
301029065 |
10.00 |
10.00 |
9.00 |
9.50 |
10.00 |
9.00 |
9.50 |
10.00 |
10.00 |
6.00 |
10.00 |
10.00 |
10.00 |
100 |
76.00 |
57.00 |
81.00 |
83.94 |
A |
|
|
|
|
|
301058758 |
10.00 |
10.00 |
10.00 |
10.00 |
10.00 |
8.50 |
10.00 |
8.00 |
10.00 |
4.00 |
10.00 |
5.50 |
10.00 |
80 |
88.00 |
98.00 |
90.00 |
89.48 |
A+ |
|
|
|
|
|
301026670 |
10.00 |
10.00 |
4.50 |
8.50 |
10.00 |
|
|
|
9.00 |
|
10.00 |
|
|
85 |
70.00 |
74.00 |
74.00 |
72.60 |
B+ |
|
|
|
|
|
200121741 |
9.80 |
10.00 |
10.00 |
7.50 |
10.00 |
|
9.00 |
7.00 |
10.00 |
9.00 |
10.00 |
10.00 |
|
79 |
94.00 |
73.00 |
73.00 |
78.20 |
A- |
|
|
|
|
|
301032996 |
10.00 |
6.00 |
10.00 |
10.00 |
10.00 |
8.00 |
9.00 |
7.50 |
10.00 |
10.00 |
10.00 |
9.00 |
10.00 |
75 |
97.00 |
85.00 |
100.00 |
93.24 |
A+ |
|
|
|
|
|
301046059 |
8.00 |
10.00 |
10.00 |
10.00 |
10.00 |
8.00 |
9.00 |
8.00 |
10.00 |
|
9.00 |
8.00 |
10.00 |
85 |
47.00 |
46.00 |
71.00 |
71.69 |
B+ |
|
|
|
|
|
301063644 |
8.00 |
10.00 |
9.00 |
8.50 |
10.00 |
6.00 |
10.00 |
8.00 |
10.00 |
8.50 |
|
10.00 |
10.00 |
95 |
71.00 |
34.00 |
64.00 |
71.01 |
B+ |
|
|
|
|
|
301035033 |
5.00 |
10.00 |
4.00 |
6.50 |
3.00 |
|
|
|
|
|
|
3.50 |
|
85 |
26.50 |
40.00 |
18.00 |
36.19 |
F |
|
|
|
|
|
301009797 |
6.50 |
10.00 |
4.50 |
9.00 |
10.00 |
5.00 |
9.00 |
|
10.00 |
|
|
10.00 |
|
85 |
64.50 |
64.00 |
74.00 |
72.44 |
B+ |
|
|
|
|
|
200116553 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200126494 |
0.00 |
|
10.00 |
|
2.00 |
|
8.00 |
9.00 |
10.00 |
6.00 |
|
10.00 |
10.00 |
70 |
2.00 |
34.00 |
31.00 |
40.55 |
C |
|
|
|
|
|
301022303 |
10.00 |
10.00 |
10.00 |
8.50 |
9.00 |
4.00 |
10.00 |
|
10.00 |
4.00 |
|
9.00 |
10.00 |
95 |
70.00 |
53.00 |
64.00 |
71.25 |
B+ |
|
|
|
|
|
301085918 |
10.00 |
9.50 |
10.00 |
10.00 |
10.00 |
9.00 |
8.00 |
9.50 |
10.00 |
8.00 |
10.00 |
10.00 |
10.00 |
80 |
75.00 |
75.50 |
95.00 |
89.11 |
A+ |
|
|
|
|
|
301039071 |
9.80 |
10.00 |
9.00 |
9.00 |
10.00 |
3.00 |
9.00 |
8.00 |
|
4.75 |
10.00 |
|
10.00 |
70 |
55.00 |
19.00 |
19.00 |
42.13 |
C |
|
|
|
|
|
301079766 |
9.80 |
10.00 |
10.00 |
9.50 |
10.00 |
6.50 |
8.00 |
7.00 |
10.00 |
9.50 |
8.00 |
10.00 |
10.00 |
85 |
74.00 |
83.00 |
81.00 |
83.55 |
A |
|
|
|
|
|
301038439 |
10.00 |
10.00 |
9.00 |
10.00 |
10.00 |
6.00 |
10.00 |
8.00 |
10.00 |
5.75 |
10.00 |
10.00 |
10.00 |
100 |
84.00 |
49.00 |
63.00 |
75.35 |
A- |
|
|
|
|
|
301028551 |
8.80 |
10.00 |
10.00 |
9.00 |
10.00 |
7.00 |
9.00 |
|
10.00 |
7.00 |
7.00 |
|
10.00 |
90 |
62.00 |
56.00 |
82.00 |
78.48 |
A- |
|
|
|
|
|
301012158 |
10.00 |
9.00 |
4.00 |
9.00 |
10.00 |
|
8.00 |
6.00 |
9.00 |
2.00 |
|
1.00 |
10.00 |
90 |
47.50 |
38.50 |
32.00 |
50.50 |
C+ |
|
|
|
|
|
301026697 |
7.50 |
8.00 |
7.00 |
6.00 |
7.50 |
|
9.00 |
7.50 |
8.00 |
3.00 |
|
|
10.00 |
88 |
94.00 |
50.00 |
76.00 |
75.28 |
A- |
|
|
|
|
|
301005523 |
9.00 |
9.00 |
10.00 |
10.00 |
10.00 |
4.00 |
9.00 |
|
8.00 |
4.00 |
|
|
10.00 |
85 |
76.50 |
42.00 |
52.00 |
62.58 |
B |
|
|
|
|
|
301021754 |
10.00 |
10.00 |
10.00 |
9.50 |
10.00 |
5.00 |
10.00 |
10.00 |
10.00 |
|
|
|
|
90 |
93.00 |
53.00 |
68.00 |
73.45 |
B+ |
|
|
|
|
|
301039500 |
10.00 |
10.00 |
10.00 |
10.00 |
10.00 |
6.00 |
7.00 |
10.00 |
10.00 |
6.50 |
10.00 |
9.00 |
|
85 |
48.00 |
68.00 |
86.00 |
80.57 |
A |
|
|
|
|
|
301021276 |
9.50 |
10.00 |
10.00 |
10.00 |
10.00 |
5.00 |
8.00 |
10.00 |
10.00 |
5.75 |
8.00 |
9.00 |
10.00 |
79 |
63.00 |
32.00 |
66.00 |
69.35 |
B+ |
|
|
|
|
|
301059545 |
|
10.00 |
7.00 |
5.00 |
9.00 |
|
9.00 |
8.50 |
9.50 |
5.50 |
7.00 |
9.00 |
7.00 |
79 |
46.50 |
35.00 |
32.00 |
49.38 |
C |
|
|
|
|
|
301044799 |
10.00 |
10.00 |
10.00 |
9.00 |
10.00 |
5.50 |
10.00 |
8.50 |
10.00 |
6.00 |
10.00 |
10.00 |
10.00 |
95 |
28.00 |
22.00 |
16.00 |
45.18 |
C |
|
|
|
|
|
301026418 |
10.00 |
10.00 |
10.00 |
9.50 |
10.00 |
4.00 |
10.00 |
7.00 |
10.00 |
9.00 |
10.00 |
9.00 |
10.00 |
80 |
5.00 |
37.00 |
|
34.87 |
DE |
|
|
|
|
|
301029870 |
10.00 |
10.00 |
10.00 |
9.50 |
10.00 |
7.50 |
8.00 |
|
10.00 |
|
8.00 |
9.50 |
6.00 |
85 |
71.00 |
67.00 |
71.00 |
74.87 |
A- |
|
|
|
|
|
301020930 |
10.00 |
10.00 |
10.00 |
10.00 |
10.00 |
9.50 |
10.00 |
10.00 |
10.00 |
9.00 |
9.00 |
10.00 |
10.00 |
90 |
79.00 |
88.00 |
82.00 |
86.81 |
A+ |
|
|
|
|
|
301046747 |
10.00 |
7.00 |
10.00 |
10.00 |
10.00 |
6.50 |
8.00 |
9.00 |
10.00 |
7.50 |
9.00 |
10.00 |
10.00 |
60 |
97.00 |
71.00 |
92.00 |
85.70 |
A |
|
|
|
|
|
200136618 |
9.00 |
10.00 |
9.00 |
9.50 |
10.00 |
9.00 |
9.00 |
10.00 |
10.00 |
6.00 |
9.00 |
10.00 |
10.00 |
80 |
51.00 |
65.00 |
84.00 |
80.30 |
A |
|
|
|
|
|
301040012 |
9.50 |
10.00 |
10.00 |
10.00 |
10.00 |
6.00 |
8.00 |
5.00 |
10.00 |
9.00 |
10.00 |
8.00 |
10.00 |
80 |
55.00 |
30.00 |
76.00 |
73.03 |
B+ |
|
|
|
|
|
200111537 |
10.00 |
9.00 |
9.00 |
7.50 |
10.00 |
|
10.00 |
7.50 |
10.00 |
9.75 |
|
9.00 |
10.00 |
100 |
65.00 |
79.00 |
66.00 |
75.84 |
A- |
|
|
|
|
|
301065644 |
9.80 |
10.00 |
10.00 |
10.00 |
10.00 |
9.00 |
10.00 |
9.00 |
10.00 |
10.00 |
10.00 |
9.00 |
|
95 |
60.00 |
81.00 |
77.00 |
81.48 |
A |
|
|
|
|
|
301017635 |
9.30 |
10.00 |
10.00 |
9.50 |
10.00 |
9.50 |
10.00 |
6.00 |
10.00 |
8.00 |
10.00 |
10.00 |
10.00 |
85 |
59.00 |
56.00 |
51.00 |
66.31 |
B |
|
|
|
|
|
301032665 |
8.00 |
7.00 |
7.00 |
9.00 |
7.00 |
4.00 |
10.00 |
2.50 |
10.00 |
4.00 |
4.00 |
|
10.00 |
85 |
87.00 |
90.00 |
88.00 |
84.57 |
A |
|
|
|
|
|
301038263 |
9.50 |
10.00 |
9.00 |
9.50 |
7.00 |
4.00 |
|
|
9.00 |
|
|
1.00 |
|
85 |
47.50 |
15.00 |
10.00 |
35.31 |
F |
|
|
|
|
|
301022015 |
10.00 |
10.00 |
9.00 |
9.00 |
10.00 |
8.50 |
10.00 |
9.00 |
8.00 |
|
10.00 |
2.00 |
|
85 |
49.00 |
59.00 |
81.00 |
76.02 |
A- |
|
|
|
|
|
301023188 |
10.00 |
10.00 |
10.00 |
10.00 |
10.00 |
|
9.00 |
10.00 |
10.00 |
8.00 |
9.00 |
|
10.00 |
79 |
67.00 |
44.00 |
75.00 |
73.93 |
B+ |
|
|
|
|
|
301025357 |
5.00 |
10.00 |
10.00 |
10.00 |
10.00 |
5.00 |
8.00 |
5.00 |
10.00 |
9.00 |
10.00 |
10.00 |
|
85 |
57.00 |
63.00 |
96.00 |
84.72 |
A |
|
|
|
|
|
301040709 |
10.00 |
10.00 |
9.00 |
10.00 |
10.00 |
6.50 |
10.00 |
10.00 |
10.00 |
10.00 |
10.00 |
9.00 |
|
95 |
68.00 |
90.00 |
87.00 |
87.41 |
A+ |
|
|
|
|
|
200081017 |
4.00 |
9.00 |
4.00 |
|
|
|
|
|
|
|
|
8.00 |
10.00 |
80 |
43.00 |
15.00 |
37.00 |
43.49 |
C |
|
|
|
|
|
301063370 |
8.00 |
10.00 |
10.00 |
10.00 |
10.00 |
4.00 |
10.00 |
7.00 |
10.00 |
5.00 |
|
10.00 |
10.00 |
80 |
83.00 |
49.50 |
85.00 |
80.50 |
A |
|
|
|
|
|
301022661 |
9.75 |
6.00 |
9.00 |
2.00 |
10.00 |
4.50 |
7.00 |
|
9.00 |
8.50 |
6.00 |
10.00 |
9.00 |
75 |
77.00 |
54.00 |
44.00 |
59.62 |
B |
|
|
|
|
|
301023049 |
9.75 |
|
|
8.50 |
|
6.00 |
|
|
|
|
|
|
|
80 |
18.00 |
34.00 |
44.00 |
44.80 |
C |
|
|
|
|
|
301028275 |
10.00 |
10.00 |
10.00 |
|
10.00 |
6.00 |
8.00 |
9.00 |
10.00 |
7.00 |
3.00 |
10.00 |
10.00 |
85 |
25.50 |
31.00 |
32.00 |
49.68 |
C+ |
|
|
|
|
|
301006471 |
9.75 |
10.00 |
9.00 |
10.00 |
10.00 |
5.00 |
10.00 |
10.00 |
10.00 |
4.00 |
10.00 |
9.00 |
10.00 |
80 |
84.00 |
53.00 |
60.00 |
71.17 |
B+ |
|
|
|
|
|
301008429 |
9.75 |
10.00 |
10.00 |
9.50 |
10.00 |
6.00 |
10.00 |
10.00 |
9.00 |
8.50 |
10.00 |
10.00 |
9.00 |
76 |
12.00 |
64.00 |
58.00 |
64.15 |
B |
|
|
|
|
|
301034144 |
10.00 |
10.00 |
10.00 |
10.00 |
8.00 |
5.00 |
8.00 |
10.00 |
10.00 |
8.00 |
|
|
10.00 |
75 |
75.00 |
70.00 |
85.00 |
80.42 |
A |
|
|
|
|
|
301019913 |
5.50 |
7.00 |
4.00 |
|
|
|
|
|
7.00 |
5.50 |
|
|
|
85 |
77.00 |
49.00 |
49.00 |
55.75 |
B- |
|
|
|
|
|
200109408 |
10.00 |
10.00 |
10.00 |
10.00 |
10.00 |
6.00 |
10.00 |
10.00 |
10.00 |
9.00 |
10.00 |
|
10.00 |
70 |
16.00 |
0.00 |
0.00 |
30.37 |
F |
|
|
|
|
|
301021603 |
10.00 |
10.00 |
10.00 |
9.00 |
10.00 |
5.00 |
9.00 |
5.00 |
10.00 |
8.00 |
7.00 |
|
10.00 |
85 |
48.00 |
60.00 |
77.50 |
75.31 |
A- |
|
|
|
|
|
301018822 |
7.50 |
10.00 |
10.00 |
5.50 |
10.00 |
6.00 |
7.00 |
9.00 |
7.00 |
|
|
|
|
75 |
80.00 |
50.50 |
45.00 |
57.86 |
B- |
|
|
|
|
|
301027468 |
8.25 |
7.50 |
10.00 |
10.00 |
10.00 |
|
8.00 |
10.00 |
|
8.00 |
|
10.00 |
|
80 |
59.00 |
39.00 |
78.00 |
71.33 |
B+ |
|
|
|
|
|
301023837 |
9.50 |
6.00 |
8.50 |
8.50 |
10.00 |
9.50 |
9.00 |
8.00 |
10.00 |
8.00 |
10.00 |
10.00 |
10.00 |
90 |
58.00 |
83.00 |
74.00 |
79.40 |
A- |
|
|
|
|
|
301035605 |
10.00 |
10.00 |
10.00 |
9.50 |
10.00 |
9.50 |
10.00 |
10.00 |
10.00 |
6.50 |
10.00 |
10.00 |
10.00 |
90 |
46.00 |
70.00 |
87.00 |
83.73 |
A |
|
|
|
|
|
301027056 |
9.75 |
7.00 |
10.00 |
9.50 |
10.00 |
6.00 |
9.00 |
|
10.00 |
3.00 |
|
|
10.00 |
88 |
34.00 |
34.00 |
64.00 |
63.52 |
B |
|
|
|
|
|
301007515 |
5.00 |
10.00 |
4.00 |
9.00 |
10.00 |
|
10.00 |
4.00 |
|
7.50 |
9.00 |
10.00 |
10.00 |
79 |
11.00 |
37.00 |
47.00 |
53.01 |
C+ |
|
|
|
|
|
301054384 |
7.50 |
10.00 |
10.00 |
10.00 |
10.00 |
9.00 |
10.00 |
5.00 |
10.00 |
|
8.00 |
8.00 |
10.00 |
85 |
54.00 |
46.00 |
42.00 |
59.05 |
B- |
|
|
|
|
|
301036689 |
|
|
9.50 |
|
10.00 |
4.00 |
|
|
10.00 |
|
10.00 |
10.00 |
10.00 |
80 |
43.00 |
9.00 |
72.50 |
62.15 |
B |
|
|
|
|
|
301057730 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0.00 |
0.00 |
|
5.00 |
F |
|
|
|
|
|
301020905 |
9.00 |
9.00 |
|
10.00 |
|
4.00 |
10.00 |
10.00 |
10.00 |
|
|
|
9.00 |
80 |
88.00 |
51.50 |
33.00 |
53.99 |
C+ |
|
|
|
|
|
301023080 |
|
10.00 |
9.00 |
9.50 |
10.00 |
5.00 |
9.00 |
|
5.00 |
0.00 |
|
0.00 |
4.50 |
85 |
66.50 |
43.00 |
43.00 |
55.20 |
B- |
|
|
|
|
|
301035367 |
9.25 |
10.00 |
10.00 |
10.00 |
10.00 |
9.50 |
8.50 |
4.00 |
10.00 |
8.00 |
8.00 |
8.00 |
10.00 |
85 |
65.00 |
56.00 |
71.50 |
75.32 |
A- |
|
|
|
|
|
301029328 |
9.50 |
10.00 |
8.00 |
9.50 |
10.00 |
5.50 |
10.00 |
10.00 |
10.00 |
9.00 |
10.00 |
10.00 |
9.00 |
85 |
64.00 |
89.00 |
69.00 |
78.00 |
A- |
|
|
|
|
|
301075311 |
10.00 |
10.00 |
10.00 |
10.00 |
10.00 |
8.00 |
10.00 |
8.00 |
10.00 |
10.00 |
10.00 |
10.00 |
10.00 |
85 |
86.00 |
85.00 |
90.50 |
90.11 |
A+ |
|
|
|
|
|
301051095 |
10.00 |
6.00 |
10.00 |
10.00 |
10.00 |
7.00 |
8.00 |
10.00 |
10.00 |
4.00 |
10.00 |
9.00 |
10.00 |
70 |
89.00 |
87.00 |
76.00 |
80.45 |
A |
|
|
|
|
|
Average |
9.03 |
9.35 |
8.89 |
9.19 |
9.61 |
6.26 |
9.05 |
8.07 |
9.61 |
6.87 |
9.06 |
8.67 |
9.65 |
83 |
59.03 |
52.95 |
63.09 |
66.64 |
|
|
|
|
|
|
Minimum |
0.00 |
5.00 |
4.00 |
2.00 |
2.00 |
3.00 |
4.00 |
2.50 |
5.00 |
0.00 |
3.00 |
0.00 |
4.50 |
60 |
0.00 |
0.00 |
0.00 |
5.00 |
|
|
|
|
|
|
Maximum |
10.00 |
10.00 |
10.00 |
10.00 |
10.00 |
9.50 |
10.00 |
10.00 |
10.00 |
10.00 |
10.00 |
10.00 |
10.00 |
100 |
97.00 |
98.00 |
100.00 |
93.24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|