Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
An Introduction to Choosing Higher QualityGraphics
with Demonstrations in R
JoAnn Alvarez, Pengcheng Lu, and Li Wang
Department of BiostatisticsVanderbilt University School of Medicine
August 14, 2009
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
Outline
Graphics Principles
Common graphics and how to improve them
Where to learn more
Demonstration in R
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
Graphics Principles
High information to ink ratio
Avoid superfluityMake the data stand out
Easy to read
Does not oversimplify the data
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
Graphics Principles
High information to ink ratio
Avoid superfluityMake the data stand out
Easy to read
Does not oversimplify the data
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
Graphics Principles
High information to ink ratio
Avoid superfluityMake the data stand out
Easy to read
Does not oversimplify the data
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
Graphics Principles
High information to ink ratio
Avoid superfluityMake the data stand out
Easy to read
Does not oversimplify the data
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
4
9
12
13
16
20
26
3048
Piechart for Video Sale
ComedyDramaActionHistoryHorrorScience FictionRomanceForeignother
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
4
9
12
13
16
20
26
3048
Piechart for Video Sale
ComedyDramaActionHistoryHorrorScience FictionRomanceForeignother
Hard to match whichgenre goes with whichpiece of the pie.
Even in color, requires alegend.
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
other
Foreign
Romance
Science Fiction
Horror
History
Action
Drama
Comedy
●
●
●
●
●
●
●
●
●
0 10 20 30 40 50
Dotchart for Video Sale
Count
4
9
12
13
16
20
26
30
48
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
other
Foreign
Romance
Science Fiction
Horror
History
Action
Drama
Comedy
●
●
●
●
●
●
●
●
●
0 10 20 30 40 50
Dotchart for Video Sale
Count
4
9
12
13
16
20
26
30
48
The human eye canperceive the differences inquantities easily becauseeach length begins at thesame reference point.
Having the genres sortedin order of the frequencieslets the viewer quicklyperceive information likethe most and leastfrequent categories.
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
4
9
12
13
16
20
26
3048
Piechart for Video Sale
ComedyDramaActionHistoryHorrorScience FictionRomanceForeignother
other
Foreign
Romance
Science Fiction
Horror
History
Action
Drama
Comedy
●
●
●
●
●
●
●
●
●
0 10 20 30 40 50
Dotchart for Video Sale
Count
4
9
12
13
16
20
26
30
48
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
●
●
●
● ●● ● ●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●
●●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
● ●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●●●
●
●
●
●
●
● ●
● ●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●●
●●
●
● ●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●
● ●●
●
●
●
●
●●●●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●●
●
●
● ●
●
●
●
●
●●
●
● ●
●
●●
●
●● ●
●
●
●
●●●
●
● ●●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
● ●●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
● ●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
● ●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
● ●●
● ●
●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●●● ●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●
●
●
● ●
●●
●
●
●
●
● ●
●
●
●
●●
●
●
●●
●
●
● ●
●●
●
●
● ●
●
●
●
●
●
●
●
●
● ●
●
●
●●●●
●● ●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●●
●●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●●
● ●●
●
●
●●
●
●
● ●
●
●●
●●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
● ●
●
●●
●
●●●
●●●
●
●●
●●
●
●
●
●
●
●●●
●
●
● ●
●●
●
●●
●
●●
●
●
●●
●●
●●● ●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●●●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●●●
●●
●
●●●
●
●●●
●●
●
●
●
●●
●
●●
●
●
●
●●
●
●
●●●
●
●
● ●●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
● ●●
●
●●
●
●
●
●
●
●
●
●
●● ●
●●
●
●●
● ●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●
●●● ●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●●
●
●
● ●
● ●
●
●
●
●
●
●
●
●●
●●
●
●●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
● ●
●
●
● ●
● ●
●
●
●●
●
●
●
●
●
●
●
●●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●●
●●●
●
● ●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●●
●●
●●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●●
●
● ●
●●
●
●●
●●●
● ●
●
●●
●
●
●
●
●●●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●● ●
● ●
●
●●●
●
●●
● ●
●
●
●
● ●●
●
●
●
●
●
●●
●●
●●
●
●
●●
●●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●●●
●●
●
●
●
●●
●
●●
● ●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●●
●
●
●●
●
● ●
●
●
●●
●
● ● ●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●
● ●●
●
●●
●
●
●
●
●
●
● ●●
●
●●
●
●●
●●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●● ●
●
●
●
●
●●
●
● ●
●
●
● ●●
●
●●
●
●●●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●●
● ● ●
●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
● ●
●
●●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●●
●
●
●
●● ● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●●
●
●
●●●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
● ●
●
● ●●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●●●●
●●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
● ●
●
● ●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
● ●
●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●●
●
●
●
● ●
●
●
●
●
●
●●
●
●
● ●
●
●
●●●
●
●
●
●●
● ●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●●
●●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●● ●●
●
●●
●
●
●
●
●
●●●
●
●●
●
●
●●●●
●
●
●●
●
●
●
●●
●●
●●
● ●●
●
●
● ●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●● ●
●●
●
●
●●
●
●
●●●
●●
●
●● ●
●
●
●
●●●
● ●
● ●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●●
●
●●
●
●●●
●
●
● ●
●
●
●
●●
●
●●●
●●
●
●
● ●
●●
●
●●
●
●●
●
●
●●●
●
●●●
●
●
● ●
● ●
●
●
●
●
●
●●
●●
●
●
●
●●●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●●●
●
●●
●
●
●●
●
●
●
●●
●
●●
●●
●
●
●
● ●●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●●
●
●●●
●
●
●●
●
●
●
●●
●
●
●
●●●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
● ● ●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●● ●
●
●
●
●●● ●
●
●
●
●●
●
●
●
●
●●
●
● ●●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●● ●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●●
●
●
●● ●
●
●
●●●
●●
●●●
●
●●
● ●
●
●
●
●●
●●●●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●● ●
●
●
●
● ●
●
●
●●
●●
●
●
●
●
●●
●
●●
● ●
●
●●
●
●
●
●●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●
● ●
●
●
●
●●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
● ●●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
● ●
●●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●● ●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●●
●
●●
●●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●●●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
● ●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
● ●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
● ●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●
● ●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●●
●
● ●
●●
●
●
●●
●
●
●●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●● ●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●●
● ●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●●
●
●
●
●
●
●●
● ●
●
●
●●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●●●
●
●
●
●
●●●
●
●
●
●●
●
●
●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
● ●
●
●
●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ● ●●●
●
●●
●●●
●
●●
●●
●●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●● ●
●
●
●
●
●
●
●
●
●
●
●●
● ● ●
●●
●
●
●●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●●
●
●
●
●●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●●
●
● ●
●
●●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
● ●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●●
●
● ●●●
●●
●
●●
●
●
●●
●●
●
●●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●●
●
● ●●●
●
● ●
●
●
●●
●
●
●●
●
●
●●●
●
●
●●
●
●
●
●●
●●
●
●●
●●
●
●●
●
●
●
●● ●
●●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●
●●
●
●
●●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●●
● ●●
●●
● ● ●
●●
● ●
●
●
●
●
●● ●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●● ●
●
●
● ●
●
●
●
●● ● ●
●● ●●●
● ●
●
●
●●●
●
●
●
●●
●
●
●
●●
●
● ●
●
●
●
●
●
●● ● ●
●
●
●●
●● ●
●
●
●
●
●
●
● ●
●
● ●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●●
●
● ●●
●
●
●
●
●
● ●●
●
●●
● ●●
●
●●
●●
● ●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●● ●
●
●●
●
●
●●
●
●
●●
●
●●
●
●
●
● ●
●● ●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●● ●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●● ●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●●●
●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●●
●●
●
●
●●●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
● ●●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●
●
●
● ●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
● ●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●●
●
●
●
●●
●●●
● ●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
● ●●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●●
●
● ●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●●
●
●
●
●
●
●
● ●●●
●
●●
●
●
●
●●
●
● ●
●●
●
●
●
●
●
●●●
●
●
●
●●
●●
● ●
●
●●
●
●
●
●
●
●●
●
●●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
● ●
●
● ●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●●
●
●
●
●
●●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●● ●
●
●
●
●
●●
●
●●●
●●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
●●
●
●
●● ●
●●
●●●
●
●
●
●
●
●●
●
●
●
●
●
●● ●
●
●
●
●
● ●
●
●
●
● ●
●
●
● ●●●
●
●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
● ●
●
●●
●●
● ●● ●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●
● ●
●●
●●
●
●
●
●●
●
●
●
●●
●
● ●●●
●
●
●
●●●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
● ●
●● ●
●
●
●
●
●
●
●
●
● ●●
●●
●● ●●● ●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●●
●
●
●
●
●
●
●●●
● ●●
● ●●
●
●
●
●
● ●
●
●
●●●
●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
● ●
●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●
● ●●
●
●
●
●
●
●●●
●
●
●●
●
●
●●
●
●●
●
● ●
●
●●●
●
●
●●
●●
●
●●●
●
●●
●●
●
●
●
●●●
●
●
●
●
●
●
●
● ●
●
●
●●
●
● ●
●
●●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●●●
●
●
●
●●
●
●●
●
● ●
●●
●● ●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●
● ●
●
●●
●
●
●● ●
●
●
●
●
●●
●●●
●●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●●
●
●
●
●
●
●● ●
●
●●
● ●
●
●●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
● ●●●●
●
●●
●
●●●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●
●●
● ●●
●
●
●●
●
●
●
●
●●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●●
● ●●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
● ●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●● ●
●
● ●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
● ● ●●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●● ●
●
●●
●●
●
●●
●●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●
●●
●
●
●●
●●
●
●
●
●
●● ●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
● ●●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●
●● ●●
●
●
●●
●
●
●●
●●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●
●
●
●●
●
●
●●
●
●
● ●
●
●
●
●
●
● ●●
●
●
●
●
●
● ●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
● ●
●
●●
●
●● ●
●
● ●
●●
●
●
●
●
●●
●
●
●●
●
●●●
●
●
●
● ●●
●●
●
●
●
●
● ●
●●●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●●
●●
●
●●●
●●
●●
● ●●
●
●●
●●
●
●
●●
●
●
●
●●●
●●
●●
●
●
● ●●
●●●
●
●
●●
●
● ●
● ●
●
●●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●● ● ●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●
●●●
●●●
●
●● ●
●
●
●●
● ●●
●● ●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●
●● ●● ●
●
●
● ●●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●●
●
●
●●
●
●
●
●●
●●
●●
●
●
●
●●
●●
●●
●●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●
●● ●●●
●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●●
● ●●
●
● ●●
●●
●●● ●
●
●
●
●
●
●
●●
●
●
●●●
●
●●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
● ●
●
●
●●
●
●●●
●●
●●
●
●
●
●
●
●
●●
●
●●●●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●●
● ●●
●●
●
●
●●
●
●
●●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
● ●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●●●
●
● ●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●
●●
●●
●
● ●●
●●
● ●
●
●
●
●●
●
●
●
● ●
●
●●
●
●
●
●●●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●●●
●
●●
●
●● ●
●
●
●
●
●
●
● ● ●
●
●
●●
●
●
● ●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●●
●
●●
●
●●
●
●
●
●●
●
● ●
●●
●●●
●
●
●●●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●
●●●
●
●●
●
●●● ●
●● ●●
●
●
●
●
●
●●
●
●●
●
●●
●●
● ●
●
●
●
●
●
●●
●●
● ●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●●
●
●
●
●
● ●
●● ●
●● ●
●
●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
● ●
●●
●
●●
●
● ●
●●●
●
●● ●
●
●
●●●
●
●
●
●●
●●
●
●
●
●
●
●●●●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●● ●●
●
●
●●
●
●●
● ●
●
●
●
●
●
●
●
● ●●
●
●
● ●
●
●
● ●●
●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●●
●
●
●●
●
●●●
●●
●
●
●
●
● ●●
● ●●
●
●
●●
●
●
●
●
●
●●
●
●
●●●● ●
●
● ●
●
●
●●
●
●
●●
●
●
●●
●
●●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●● ●
●●
●
●●
●
●
●●
●
●
●●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●●●
●●
●●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●●
●●●
●●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
● ●●
●●●
●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●●
●● ●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
● ●
●
●
●●
●
●
●
●
●
●
●
●●●
●● ●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●●
●
●
●●
●
● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●●
●
●●
●
●
● ●
● ●
●
●●
●
●●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
● ●
●
● ●●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
● ●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●●
●●
●●
●
●
●
●
●
●
●●
●
● ●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●● ●
●
●●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●
●
●
●
●
●●
● ●
●●
●●
●
●
●●
● ●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●●
●●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●● ●●
●
●
●
●●
●
●●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●
● ●
●
●●
●
● ●
●●
● ●
●
●
●
●
●
●●
●●
●
●
●
●● ●
●
●
●●
● ●●
●
●
●
●
●
●
●●
●
●● ●
●
●
●
●
●
●
●
● ●
●●
●●
●
●●
●
●
●●●●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●●●
●
● ●●
●
●
●
●
●●●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●●
●
●●
●
●
●●
●
● ●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
● ●●
●
●●
● ●
●
●
●
●
●●●
●
● ●●
●
●
●
●
●
● ●●
● ●
●
●
●
●
●
●●
●
●●
●●
●
●●●
●
●●
●
● ●
●
●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●● ●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
● ●●
●
●
●●
●
●●
●
●
● ●
●●
●●
●
●
●
●
●
●●●● ●
●
●
●
●
●
● ●
●
●●
●
●
● ●
●●
●
●
●
● ●
●
●●
●
●●●
●●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●●
●
●
●
●● ●●●●
●
●●
●
●
●
●●
●
●
●●
● ●
●●
●●
●
●
● ●
●●
●
● ●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●●
●●
●
●
●●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●●●
● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●●
●●
●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
● ● ● ●
●
●
●
●
●
●
●
●
●
●●
● ●
●●
●●
●
●
● ●●●
● ●●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
● ●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●●
●●
●●
●
●●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●●
●
● ●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●
●
●●
● ●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●●
●
●●
● ●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
● ●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●●
● ●
●
●●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●
● ●
●
●●●
●
●
●
● ●
●
●
●
●
●●●
●
● ●
●
●
●
●●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●
● ●
●●●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●●
●
●
●
●
●●
●●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●●
●
● ●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●● ●
●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●●
●
●
●●
● ●
●
●● ● ●
●
●
●
●
●
●
●●
●●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●●● ●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
● ● ●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●●
●
●
● ●
● ●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●
● ●
●
●
●
●
●
●
●
●● ●
●● ●
●
●●
●●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●
●
●
●
● ●
●
●●
●●
●
●
●
●●
●
●
●●
●●
●●
●
●
●
●
●●
●
●● ●●
●
●●
●
●
●● ●
● ●
●●
●●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●●●
●
●
●●
●
●
●
●
●
●●●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
● ● ●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●●
●●
●
●
●
●●
●●
●
●
●
●
●●●
●
●
● ●
●
●●
●●
●●
●
●
●
●
●
●
● ● ●
●
●
●
●
●
●●
●
●●
●
●
●
●●
●●
●
●●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●●● ●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
● ●
● ●●
●●
●
●●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●●
●
●
●
●●
●●
●
● ●
●
●● ●
●
●
●
●●
●
●●
●●
●
●
●
●●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●●
● ●
●
●
●●
●●●
●
●●
●
●●
●
●
● ●
●
●
●
●
● ●●
●
●●●
● ●
●
●●
●●
●
●
●
●
● ●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●●
● ●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
● ●●
● ●●
●
●
●●
●
●
●
●
●
●
●●●
●●●
●
●●
●
●
●
●
●●
●
●●
●●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●●
●●
●
●
●●
●
●
● ●
●
●
●
●●
●●
● ●●●
●●
●
● ●
●
●
●
●●
●
●
●
●
●
●
● ●●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●● ●
● ●●
●
●
●
●
●●●
●●
●
●●
●●
●
●
●●
●●
●
●
●
●
●
●
●●
●●●
● ●
●
●
●
●
●
● ●●
●●
●
●
●
●
● ●
●
●
●
●
●
● ●●
● ●●
●
●
●
●
●
●●
●●
●●
●●
●
●●●●
●
●●
●
●
●
● ●●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
● ●
●
●
●●
●
● ●
●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●● ●
●
●
●
●
●●
●
●
●
●●
●
●●
●●
● ●
●
●
●●
●
● ●●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●● ●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
● ●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●● ●
●
●●
●
●●
●●
●●
●●
●
●
●
● ●
●
●
● ●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
● ●
●
●● ●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●●
●
●
●
●●
●
●
●
● ●●
●
●●
●●●
●●
●
● ●
●
●
● ●● ●
●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●●
●
● ●
●
●
●
●●●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●● ●● ●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●●●
●●
●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●● ●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●●
●●
●
●
●
●●
●●
●
●
●
●
●●
● ●●
●
●
●
●●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
● ●●●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
● ●
●
●●●
●●
●
●
●●●
●
●
●●
●
●
●
●
●●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●●●
●
●
●
●
●●
●
● ●
●●
●
●
●
● ●●
●
●
●
●
●
●
●●
●
●
● ●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
● ●●
●
●
●
●
●
●●
●
●●
●
●●●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●● ●
●
●●
● ●
●
● ●
●
●●●
●
●
●
●
●
●
●
●●● ●
● ●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
● ●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●●
●
●
●
●
● ●●
●
●
●●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●●
●
●
●
●
●
●● ●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●●
●
●
●●
●
●● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●● ● ●
●
●
●●
●
●
●●●
●
●
●●
●●
●●●
● ●
●
●
●●●
●●
● ●
●●
●
●●
●●●
●
● ●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●●
●
●
●
● ●●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●● ●
●
●
●
●
● ●
●
●●
●
● ●●
●
●●
●
●
●●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●●
● ●
●
●
●●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●●●
●●
●●
●
●
●
●●
●●
●●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
● ●
●
●
●●
●●
●●
●
●
●●
●
●●●
●●
●●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●● ● ●
●●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●
●
●
● ●●
●●
●
●●
●
●
●
●
● ●
● ●●●●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●
● ●
●●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●●
● ●●
●
●●
●
●
●
●
●
●
●
●
●
●● ●●
●
● ●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●●
●
●
●
●●
●
●●
●●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
● ●
●
●●
●
●
●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●●
●●
●
●
●
●
● ●
●●
●●
●
●●
●● ●●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●● ●
●
●
●●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●●
●
●●
●
● ●
●
●
● ●
●
●
●
●
●
●
●
● ●●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
● ●
●
●●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●●
●
●
●
● ●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
● ●
●
●●
●
●
●
●●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●●
●●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
● ●
●●
● ●
●
●
●
●
●
●
●
●
●●
● ●●
●
● ● ●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●●
●
●
●●
●
●
●
●
●
●●●● ●
●
●
●
●●
●
● ●●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●● ●
●●
●●
●
●
●
●
●
●●● ●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●● ●●
●
●
●
● ●●
●
●
●
●
●
●●
●●
●
●●
●●
●
●
●●
●
●●
●●
●●
●●●
●●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●●●
●
●
●●
●
● ●●
● ●
●●
●
●●
●
●●
●●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●●
●
●
● ●●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
● ●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●
●●●●
●
●
●
●
●
● ●●
●
●●
●
●●
●
●
●●
●
●
●●
●
●● ●
●
●
●●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
● ●●
●●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
● ●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●● ●
●
●
●
●
●●●
●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●●
●
●
● ●●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●●●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●●
●●
●
●
●
●
●
● ●
●
●●●
●●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
● ●
●
●
●
●
●
● ●
●●●
●
●
●●
●
●
●●
●●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
● ● ●
●●
●
●●
●
● ●
●●
●●
●
●
●
●
●
●
●●● ●
●●
●
●●●
●●
●●
●
●●
●
●
●
●
●
●●
●
●
●●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●●
●
●● ●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●●
● ●
●
●
●
●
●
● ●● ●
●
●
●●● ●
●
●
●
●
●
● ●●
● ●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●●
●●
● ●
●
●
●● ●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●
● ●●
●
●●
●
●
●
●
● ●●
●
●
●● ●● ●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●●
●● ●
●●
●
●
●
●●
●●
●●
●
●
●
●●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●● ●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●● ●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●●
●
●
●●
●● ●
●
●
● ●●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●●
● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●
●
●
● ●
●
● ●
●
●●
● ●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●●●
●
●
●
●
●●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●● ●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●●●
●
●
●
●
●
● ●
●
●
●●
●●
●●
●
●●
●
●
●●
●
●●
●
● ●
●
● ●●●●
●
●
●
●●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●●
●
●●
●●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●● ●
●
●
●●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
● ●●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●●
●
●
●●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
● ●
●●●
●
●
●
●
●
● ●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●●
● ●●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
● ●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
● ●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
● ●
●●
●
●●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●●
●
●●
● ● ●
●
●
● ●
●
●
● ●
●
●
●
●
●
●
●
● ●●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●● ●●
●● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
● ●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●● ●●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●
●
●
●●
●
●●
●
●
●
●●●
●
●●
●
●
●●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
● ●●
●
●
●
●
●
●
●●●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●●
●
●
●●
●● ●
●
●●●
●
●
●
●
●
●
●
●●● ●
● ●
●●
●
●●
●
●
●●●●
●●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
● ●●
●
●●
●
●●
● ●●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●●
●●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
● ●●
●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●●● ●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●●●
●●
●
●●
●
●
●
●
●
● ●
●●
●
●
●
●●●
●
●
●
●●
●
●
●
●●
● ●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●
●
●
●
●
●
●● ●
●
●
● ●
●
●
●
●
●●
●
●● ●
● ●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●
●
●●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●● ●●
●
●●
●
●
●
●
●
●●
●
●
●●
● ●
●
●
●●
●●
●●●
●
●
●
●●● ●
●
●●
●
●
●
●●
●
●●
●
●● ●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●●
●●
●●
●
●
●
●●
●
●
●
●●
●●●
●
●●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●●
●●
●●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●● ● ● ●● ●
●●
●●
●
●
●
●●
●
●
●●
●
●
●
●●
●●
● ●
●
●●●
●
●●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●●
●
●
●
●●● ●
●
●
●
●
●●
●●●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●● ●●
●●
●●
●
●
●
●
●
●
●
●
●
●●
● ● ●
●
● ● ●
●
● ●
● ●
●
● ●● ●●
●
●
● ●
●
●
●
● ●●
●●●
●
●
●
●●
●
●
●
●
●●
●●
●
●●
●
●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
● ●
●
●
● ●●
●
●●
●
●●
●
●●
●
●●
●
●
● ●●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●
●●
●
● ●
●
●●
●
●●●
●●
●
●
●
●
●●●●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●
●
● ●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
● ●
●
●
● ●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●● ●
●
●
●●
●●
●●
●●
●
●
●
● ●
●
●●
●
●
●● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
● ●
●
●
●
●●
●
●
●
● ●
●
●
●
●●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
● ●●
●
●
●●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
● ●●
● ●
●
●
●
●
●
●
●
●
●
●● ●
●●
●
●●
●
●●
●
●
● ●
●
●
●
●●
●●
●●
●
●●
●
●
●
●●● ●
●
●
●
●
●
●
●
●●
●
● ●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●● ●
● ●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●●
●
●
●●
●
●
●●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
● ●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●●
●●
●●●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●●●
●
●
●
● ● ●●
●
● ●
●
●●
●
●● ●
●
●
●
●●●
●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●●
●●
●
●●
●
●
●
● ●●●
●●
●●
●●
● ●●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●●
●
●●
●
●●
●
●
●
●
● ●●●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
● ●●
●
●●●
●
●
●
●
●●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●●
●●
●
●
● ●
●●
●
●
●● ●
●
●
●●●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●●
● ●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●●
●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●●
●
●
●
● ●●
●
●●
●
●
● ●
●
●
●● ●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●●●●
●
●●
●●
● ●●
●
●●
●
●
●
●
●
●
●
●●
●●●
●
●●●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
● ●
●
●
●
●
●
● ●●●●
●
●
●
●
●
●
●
●●
●
●●
●●
●
●
● ●
●
●●
●
●
●
●
●
●●
●
●
● ●●●
●●
●
● ●● ●
●
●
●
●●
●
●
●
●
●●●
●
●
● ● ●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●●
● ●
●
●
●
●●
● ●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●
● ● ●
●
●●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●● ●
●
●
●
●
●●
●●
●●
●
● ● ●
●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
● ●
●
●●
●
● ●
●
● ●
●
●
●
● ●
●
●
●●
●●
●
●●
●
●●
●
●
●
●
●●
●●
●
●
●
●●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●●
●
●● ●
●
●
●
●●●●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
● ●●
●
●
●
●
●
●
●●
●● ●
●
●
●
● ●
●
●
●●
●
●●
●
●
●
●
●
●●●
●
●●
●●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●●
●●●●●
●●●
●
●
●
●
●
●●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●●
●●
●
● ●
●
●
●
●
●●
● ●
●
●●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●● ●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
● ●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
● ●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●● ●
●
●
●
●●
●
●
●●
●
●
●
●
●
● ●
●
●
● ●●
●●
●
●
●
●
●
●
●●●
●
●
●
●
●
●●●
●
●
●
●
● ●
●●
● ●
●●
●
●
●
●
●
●●
●
●
●
● ●●
●
●●
●●●
●
●
●
●
●●
●●
●
● ●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●●
●
●
●
● ●
●
●●
●
●
●
●●
●●
●
●●
●
● ●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●●
●
●
●●
●
●
●
● ●
●
●
●
●●
●●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●●
●●
● ●
●
●●
●●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●●
●
●
●
●
●
●●
●
●
●●
● ●
●
●
●
●
●●
●●
●●●●
●
●
●
●
● ●●
●
●●
●●
●
●
●
●●
●
●●
●●
●●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●● ●
●
●●
●
●
●● ●
●
●
●●
●●
●
● ●
●●
●
●
●●
●●
●
●●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
● ●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●
● ●●●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●● ●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
● ●●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●●
●
●
●●
●●
●
●
●
●
●
●●
●
●● ●
● ●●
●
●●
●
●●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●
●
●
●●●
●
●
●●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●●
●
●
● ●●
●
●●
●
●●
●●
●
●●
● ●
●
●●
●
● ●●
●
●
●
●
●
●
●
● ●
●
●●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
● ●●
●
●
●
●
●
●●
●●●
●
●
●
●
●
●●
●
●
● ● ●
●
●
●●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
● ● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
● ●
● ●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●●
●
● ●
●
●
●
● ●
●●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●● ●
●
● ●●
●
●●●
●
●
●
●
●●
●●
●
●
●
●●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●● ●
●
●
●●
●
−6 −4 −2 0 2 4
−6
−4
−2
02
46
Scatter Plot
A
M
A simple scatter plot.
Usually a great way toshow data, but cannotindicate where more thanone observation lies on onthe same point.
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
−6 −4 −2 0 2 4
−6
−4
−2
0
2
4
6
A
M
Scatter Plot with Density
124466992
114137159182205227250272295318340363
Counts
A density plot showswhere there are highfrequencies ofobservations.
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
●
●
●
● ●● ● ●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●
●●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
● ●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●●●
●
●
●
●
●
● ●
● ●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●●
●●
●
● ●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●
● ●●
●
●
●
●
●●●●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●●
●
●
● ●
●
●
●
●
●●
●
● ●
●
●●
●
●● ●
●
●
●
●●●
●
● ●●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
● ●●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
● ●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
● ●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
● ●●
● ●
●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●●● ●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●
●
●
● ●
●●
●
●
●
●
● ●
●
●
●
●●
●
●
●●
●
●
● ●
●●
●
●
● ●
●
●
●
●
●
●
●
●
● ●
●
●
●●●●
●● ●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●●
●●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●●
● ●●
●
●
●●
●
●
● ●
●
●●
●●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
● ●
●
●●
●
●●●
●●●
●
●●
●●
●
●
●
●
●
●●●
●
●
● ●
●●
●
●●
●
●●
●
●
●●
●●
●●● ●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●●●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●●●
●●
●
●●●
●
●●●
●●
●
●
●
●●
●
●●
●
●
●
●●
●
●
●●●
●
●
● ●●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
● ●●
●
●●
●
●
●
●
●
●
●
●
●● ●
●●
●
●●
● ●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●
●●● ●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●●
●
●
● ●
● ●
●
●
●
●
●
●
●
●●
●●
●
●●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
● ●
●
●
● ●
● ●
●
●
●●
●
●
●
●
●
●
●
●●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●●
●●●
●
● ●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●●
●●
●●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●●
●
● ●
●●
●
●●
●●●
● ●
●
●●
●
●
●
●
●●●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●● ●
● ●
●
●●●
●
●●
● ●
●
●
●
● ●●
●
●
●
●
●
●●
●●
●●
●
●
●●
●●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●●●
●●
●
●
●
●●
●
●●
● ●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●●
●
●
●●
●
● ●
●
●
●●
●
● ● ●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●
● ●●
●
●●
●
●
●
●
●
●
● ●●
●
●●
●
●●
●●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●● ●
●
●
●
●
●●
●
● ●
●
●
● ●●
●
●●
●
●●●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●●
● ● ●
●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
● ●
●
●●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●●
●
●
●
●● ● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●●
●
●
●●●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
● ●
●
● ●●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●●●●
●●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
● ●
●
● ●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
● ●
●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●●
●
●
●
● ●
●
●
●
●
●
●●
●
●
● ●
●
●
●●●
●
●
●
●●
● ●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●●
●●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●● ●●
●
●●
●
●
●
●
●
●●●
●
●●
●
●
●●●●
●
●
●●
●
●
●
●●
●●
●●
● ●●
●
●
● ●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●● ●
●●
●
●
●●
●
●
●●●
●●
●
●● ●
●
●
●
●●●
● ●
● ●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●●
●
●●
●
●●●
●
●
● ●
●
●
●
●●
●
●●●
●●
●
●
● ●
●●
●
●●
●
●●
●
●
●●●
●
●●●
●
●
● ●
● ●
●
●
●
●
●
●●
●●
●
●
●
●●●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●●●
●
●●
●
●
●●
●
●
●
●●
●
●●
●●
●
●
●
● ●●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●●
●
●●●
●
●
●●
●
●
●
●●
●
●
●
●●●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
● ● ●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●● ●
●
●
●
●●● ●
●
●
●
●●
●
●
●
●
●●
●
● ●●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●● ●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●●
●
●
●● ●
●
●
●●●
●●
●●●
●
●●
● ●
●
●
●
●●
●●●●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●● ●
●
●
●
● ●
●
●
●●
●●
●
●
●
●
●●
●
●●
● ●
●
●●
●
●
●
●●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●
● ●
●
●
●
●●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
● ●●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
● ●
●●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●● ●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●●
●
●●
●●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●●●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
● ●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
● ●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
● ●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●
● ●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●●
●
● ●
●●
●
●
●●
●
●
●●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●● ●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●●
● ●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●●
●
●
●
●
●
●●
● ●
●
●
●●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●●●
●
●
●
●
●●●
●
●
●
●●
●
●
●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
● ●
●
●
●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ● ●●●
●
●●
●●●
●
●●
●●
●●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●● ●
●
●
●
●
●
●
●
●
●
●
●●
● ● ●
●●
●
●
●●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●●
●
●
●
●●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●●
●
● ●
●
●●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
● ●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●●
●
● ●●●
●●
●
●●
●
●
●●
●●
●
●●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●●
●
● ●●●
●
● ●
●
●
●●
●
●
●●
●
●
●●●
●
●
●●
●
●
●
●●
●●
●
●●
●●
●
●●
●
●
●
●● ●
●●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●
●●
●
●
●●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●●
● ●●
●●
● ● ●
●●
● ●
●
●
●
●
●● ●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●● ●
●
●
● ●
●
●
●
●● ● ●
●● ●●●
● ●
●
●
●●●
●
●
●
●●
●
●
●
●●
●
● ●
●
●
●
●
●
●● ● ●
●
●
●●
●● ●
●
●
●
●
●
●
● ●
●
● ●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●●
●
● ●●
●
●
●
●
●
● ●●
●
●●
● ●●
●
●●
●●
● ●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●● ●
●
●●
●
●
●●
●
●
●●
●
●●
●
●
●
● ●
●● ●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●● ●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●● ●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●●●
●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●●
●●
●
●
●●●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
● ●●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●
●
●
● ●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
● ●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●●
●
●
●
●●
●●●
● ●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
● ●●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●●
●
● ●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●●
●
●
●
●
●
●
● ●●●
●
●●
●
●
●
●●
●
● ●
●●
●
●
●
●
●
●●●
●
●
●
●●
●●
● ●
●
●●
●
●
●
●
●
●●
●
●●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
● ●
●
● ●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●●
●
●
●
●
●●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●● ●
●
●
●
●
●●
●
●●●
●●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
●●
●
●
●● ●
●●
●●●
●
●
●
●
●
●●
●
●
●
●
●
●● ●
●
●
●
●
● ●
●
●
●
● ●
●
●
● ●●●
●
●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
● ●
●
●●
●●
● ●● ●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●
● ●
●●
●●
●
●
●
●●
●
●
●
●●
●
● ●●●
●
●
●
●●●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
● ●
●● ●
●
●
●
●
●
●
●
●
● ●●
●●
●● ●●● ●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●●
●
●
●
●
●
●
●●●
● ●●
● ●●
●
●
●
●
● ●
●
●
●●●
●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
● ●
●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●
● ●●
●
●
●
●
●
●●●
●
●
●●
●
●
●●
●
●●
●
● ●
●
●●●
●
●
●●
●●
●
●●●
●
●●
●●
●
●
●
●●●
●
●
●
●
●
●
●
● ●
●
●
●●
●
● ●
●
●●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●●●
●
●
●
●●
●
●●
●
● ●
●●
●● ●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●
● ●
●
●●
●
●
●● ●
●
●
●
●
●●
●●●
●●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●●
●
●
●
●
●
●● ●
●
●●
● ●
●
●●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
● ●●●●
●
●●
●
●●●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●
●●
● ●●
●
●
●●
●
●
●
●
●●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●●
● ●●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
● ●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●● ●
●
● ●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
● ● ●●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●● ●
●
●●
●●
●
●●
●●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●
●●
●
●
●●
●●
●
●
●
●
●● ●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
● ●●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●
●● ●●
●
●
●●
●
●
●●
●●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●
●
●
●●
●
●
●●
●
●
● ●
●
●
●
●
●
● ●●
●
●
●
●
●
● ●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
● ●
●
●●
●
●● ●
●
● ●
●●
●
●
●
●
●●
●
●
●●
●
●●●
●
●
●
● ●●
●●
●
●
●
●
● ●
●●●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●●
●●
●
●●●
●●
●●
● ●●
●
●●
●●
●
●
●●
●
●
●
●●●
●●
●●
●
●
● ●●
●●●
●
●
●●
●
● ●
● ●
●
●●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●● ● ●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●
●●●
●●●
●
●● ●
●
●
●●
● ●●
●● ●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●
●● ●● ●
●
●
● ●●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●●
●
●
●●
●
●
●
●●
●●
●●
●
●
●
●●
●●
●●
●●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●
●● ●●●
●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●●
● ●●
●
● ●●
●●
●●● ●
●
●
●
●
●
●
●●
●
●
●●●
●
●●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
● ●
●
●
●●
●
●●●
●●
●●
●
●
●
●
●
●
●●
●
●●●●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●●
● ●●
●●
●
●
●●
●
●
●●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
● ●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●●●
●
● ●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●
●●
●●
●
● ●●
●●
● ●
●
●
●
●●
●
●
●
● ●
●
●●
●
●
●
●●●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●●●
●
●●
●
●● ●
●
●
●
●
●
●
● ● ●
●
●
●●
●
●
● ●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●●
●
●●
●
●●
●
●
●
●●
●
● ●
●●
●●●
●
●
●●●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●
●●●
●
●●
●
●●● ●
●● ●●
●
●
●
●
●
●●
●
●●
●
●●
●●
● ●
●
●
●
●
●
●●
●●
● ●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●●
●
●
●
●
● ●
●● ●
●● ●
●
●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
● ●
●●
●
●●
●
● ●
●●●
●
●● ●
●
●
●●●
●
●
●
●●
●●
●
●
●
●
●
●●●●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●● ●●
●
●
●●
●
●●
● ●
●
●
●
●
●
●
●
● ●●
●
●
● ●
●
●
● ●●
●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●●
●
●
●●
●
●●●
●●
●
●
●
●
● ●●
● ●●
●
●
●●
●
●
●
●
●
●●
●
●
●●●● ●
●
● ●
●
●
●●
●
●
●●
●
●
●●
●
●●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●● ●
●●
●
●●
●
●
●●
●
●
●●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●●●
●●
●●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●●
●●●
●●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
● ●●
●●●
●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●●
●● ●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
● ●
●
●
●●
●
●
●
●
●
●
●
●●●
●● ●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●●
●
●
●●
●
● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●●
●
●●
●
●
● ●
● ●
●
●●
●
●●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
● ●
●
● ●●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
● ●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●●
●●
●●
●
●
●
●
●
●
●●
●
● ●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●● ●
●
●●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●
●
●
●
●
●●
● ●
●●
●●
●
●
●●
● ●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●●
●●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●● ●●
●
●
●
●●
●
●●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●
● ●
●
●●
●
● ●
●●
● ●
●
●
●
●
●
●●
●●
●
●
●
●● ●
●
●
●●
● ●●
●
●
●
●
●
●
●●
●
●● ●
●
●
●
●
●
●
●
● ●
●●
●●
●
●●
●
●
●●●●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●●●
●
● ●●
●
●
●
●
●●●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●●
●
●●
●
●
●●
●
● ●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
● ●●
●
●●
● ●
●
●
●
●
●●●
●
● ●●
●
●
●
●
●
● ●●
● ●
●
●
●
●
●
●●
●
●●
●●
●
●●●
●
●●
●
● ●
●
●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●● ●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
● ●●
●
●
●●
●
●●
●
●
● ●
●●
●●
●
●
●
●
●
●●●● ●
●
●
●
●
●
● ●
●
●●
●
●
● ●
●●
●
●
●
● ●
●
●●
●
●●●
●●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●●
●
●
●
●● ●●●●
●
●●
●
●
●
●●
●
●
●●
● ●
●●
●●
●
●
● ●
●●
●
● ●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●●
●●
●
●
●●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●●●
● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●●
●●
●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
● ● ● ●
●
●
●
●
●
●
●
●
●
●●
● ●
●●
●●
●
●
● ●●●
● ●●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
● ●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●●
●●
●●
●
●●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●●
●
● ●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●
●
●●
● ●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●●
●
●●
● ●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
● ●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●●
● ●
●
●●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●
● ●
●
●●●
●
●
●
● ●
●
●
●
●
●●●
●
● ●
●
●
●
●●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●
● ●
●●●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●●
●
●
●
●
●●
●●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●●
●
● ●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●● ●
●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●●
●
●
●●
● ●
●
●● ● ●
●
●
●
●
●
●
●●
●●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●●● ●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
● ● ●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●●
●
●
● ●
● ●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●
● ●
●
●
●
●
●
●
●
●● ●
●● ●
●
●●
●●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●
●
●
●
● ●
●
●●
●●
●
●
●
●●
●
●
●●
●●
●●
●
●
●
●
●●
●
●● ●●
●
●●
●
●
●● ●
● ●
●●
●●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●●●
●
●
●●
●
●
●
●
●
●●●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
● ● ●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●●
●●
●
●
●
●●
●●
●
●
●
●
●●●
●
●
● ●
●
●●
●●
●●
●
●
●
●
●
●
● ● ●
●
●
●
●
●
●●
●
●●
●
●
●
●●
●●
●
●●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●
●●● ●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
● ●
● ●●
●●
●
●●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●●
●
●
●
●●
●●
●
● ●
●
●● ●
●
●
●
●●
●
●●
●●
●
●
●
●●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●●
● ●
●
●
●●
●●●
●
●●
●
●●
●
●
● ●
●
●
●
●
● ●●
●
●●●
● ●
●
●●
●●
●
●
●
●
● ●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●●
● ●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
● ●●
● ●●
●
●
●●
●
●
●
●
●
●
●●●
●●●
●
●●
●
●
●
●
●●
●
●●
●●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●●
●●
●
●
●●
●
●
● ●
●
●
●
●●
●●
● ●●●
●●
●
● ●
●
●
●
●●
●
●
●
●
●
●
● ●●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●● ●
● ●●
●
●
●
●
●●●
●●
●
●●
●●
●
●
●●
●●
●
●
●
●
●
●
●●
●●●
● ●
●
●
●
●
●
● ●●
●●
●
●
●
●
● ●
●
●
●
●
●
● ●●
● ●●
●
●
●
●
●
●●
●●
●●
●●
●
●●●●
●
●●
●
●
●
● ●●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
● ●
●
●
●●
●
● ●
●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●● ●
●
●
●
●
●●
●
●
●
●●
●
●●
●●
● ●
●
●
●●
●
● ●●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●● ●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
● ●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●● ●
●
●●
●
●●
●●
●●
●●
●
●
●
● ●
●
●
● ●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
● ●
●
●● ●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●●
●
●
●
●●
●
●
●
● ●●
●
●●
●●●
●●
●
● ●
●
●
● ●● ●
●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●●
●
● ●
●
●
●
●●●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●● ●● ●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●●●
●●
●
●
●
●●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●● ●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●●
●●
●
●
●
●●
●●
●
●
●
●
●●
● ●●
●
●
●
●●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
● ●●●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
● ●
●
●●●
●●
●
●
●●●
●
●
●●
●
●
●
●
●●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●●●
●
●
●
●
●●
●
● ●
●●
●
●
●
● ●●
●
●
●
●
●
●
●●
●
●
● ●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
● ●●
●
●
●
●
●
●●
●
●●
●
●●●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●● ●
●
●●
● ●
●
● ●
●
●●●
●
●
●
●
●
●
●
●●● ●
● ●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
● ●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●●
●
●
●
●
● ●●
●
●
●●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●●
●
●
●
●
●
●● ●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●●
●
●
●●
●
●● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
● ●● ● ●
●
●
●●
●
●
●●●
●
●
●●
●●
●●●
● ●
●
●
●●●
●●
● ●
●●
●
●●
●●●
●
● ●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●●
●
●
●
● ●●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●● ●
●
●
●
●
● ●
●
●●
●
● ●●
●
●●
●
●
●●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●●
● ●
●
●
●●
●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●●●
●●
●●
●
●
●
●●
●●
●●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
● ●
●
●
●●
●●
●●
●
●
●●
●
●●●
●●
●●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●● ● ●
●●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●
●
●
● ●●
●●
●
●●
●
●
●
●
● ●
● ●●●●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●
● ●
●●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●●
● ●●
●
●●
●
●
●
●
●
●
●
●
●
●● ●●
●
● ●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●●
●
●
●
●●
●
●●
●●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
● ●
●
●●
●
●
●
●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●●
●●
●
●
●
●
● ●
●●
●●
●
●●
●● ●●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●● ●
●
●
●●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●●
●
●●
●
● ●
●
●
● ●
●
●
●
●
●
●
●
● ●●
●
● ●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
● ●
●
●●
●
●●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●●
●
●
●
● ●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
● ●
●
●●
●
●
●
●●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●●
●●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
● ●
●●
● ●
●
●
●
●
●
●
●
●
●●
● ●●
●
● ● ●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●●
●
●
●●
●
●
●
●
●
●●●● ●
●
●
●
●●
●
● ●●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●● ●
●●
●●
●
●
●
●
●
●●● ●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●● ●●
●
●
●
● ●●
●
●
●
●
●
●●
●●
●
●●
●●
●
●
●●
●
●●
●●
●●
●●●
●●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●●●
●
●
●●
●
● ●●
● ●
●●
●
●●
●
●●
●●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●●
●
●
● ●●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
● ●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●●
●
●
●●●●
●
●
●
●
●
● ●●
●
●●
●
●●
●
●
●●
●
●
●●
●
●● ●
●
●
●●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●
● ●●
●●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
● ●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●● ●
●
●
●
●
●●●
●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●●
●
●
● ●●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●●●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●●
●●
●
●
●
●
●
● ●
●
●●●
●●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
● ●
●
●
●
●
●
● ●
●●●
●
●
●●
●
●
●●
●●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
● ● ●
●●
●
●●
●
● ●
●●
●●
●
●
●
●
●
●
●●● ●
●●
●
●●●
●●
●●
●
●●
●
●
●
●
●
●●
●
●
●●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●●
●
●● ●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●●
● ●
●
●
●
●
●
● ●● ●
●
●
●●● ●
●
●
●
●
●
● ●●
● ●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●●
●●
● ●
●
●
●● ●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●
● ●●
●
●●
●
●
●
●
● ●●
●
●
●● ●● ●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●●
●● ●
●●
●
●
●
●●
●●
●●
●
●
●
●●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●● ●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●● ●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●●
●
●
●●
●● ●
●
●
● ●●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●●
● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●
●
●
● ●
●
● ●
●
●●
● ●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●●●
●
●
●
●
●●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●● ●
●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●●●
●
●
●
●
●
● ●
●
●
●●
●●
●●
●
●●
●
●
●●
●
●●
●
● ●
●
● ●●●●
●
●
●
●●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●●
●
●●
●●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
● ●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●● ●
●
●
●●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
● ●●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●●
●
●
●●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
● ●
●●●
●
●
●
●
●
● ●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●●
● ●●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
● ●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
● ●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
● ●
●●
●
●●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●●
●
●●
● ● ●
●
●
● ●
●
●
● ●
●
●
●
●
●
●
●
● ●●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●● ●●
●● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
● ●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●● ●●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●●
●
●
●
●
●
●●
●
●●
●
●
●
●●●
●
●●
●
●
●●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
● ●●
●
●
●
●
●
●
●●●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●●
●
●
●●
●● ●
●
●●●
●
●
●
●
●
●
●
●●● ●
● ●
●●
●
●●
●
●
●●●●
●●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
● ●●
●
●●
●
●●
● ●●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
● ●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●●
●●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
● ●●
●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●●● ●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●●●
●●
●
●●
●
●
●
●
●
● ●
●●
●
●
●
●●●
●
●
●
●●
●
●
●
●●
● ●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●
●
●
●
●
●
●● ●
●
●
● ●
●
●
●
●
●●
●
●● ●
● ●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●●
●
●
●●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●● ●●
●
●●
●
●
●
●
●
●●
●
●
●●
● ●
●
●
●●
●●
●●●
●
●
●
●●● ●
●
●●
●
●
●
●●
●
●●
●
●● ●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●●
●●
●●
●
●
●
●●
●
●
●
●●
●●●
●
●●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●●
●●
●●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●● ● ● ●● ●
●●
●●
●
●
●
●●
●
●
●●
●
●
●
●●
●●
● ●
●
●●●
●
●●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●
●●
●
●●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●●
●
●
●
●●● ●
●
●
●
●
●●
●●●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●● ●●
●●
●●
●
●
●
●
●
●
●
●
●
●●
● ● ●
●
● ● ●
●
● ●
● ●
●
● ●● ●●
●
●
● ●
●
●
●
● ●●
●●●
●
●
●
●●
●
●
●
●
●●
●●
●
●●
●
●
●
●
●●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
● ●
●
●
● ●●
●
●●
●
●●
●
●●
●
●●
●
●
● ●●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●
●●
●
● ●
●
●●
●
●●●
●●
●
●
●
●
●●●●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●
●
● ●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
● ●
●
●
● ●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●● ●
●
●
●●
●●
●●
●●
●
●
●
● ●
●
●●
●
●
●● ●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
● ●
●
●
●
●●
●
●
●
● ●
●
●
●
●●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
● ●●
●
●
●●
●
●
●
●●
●
●
● ●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
● ●●
● ●
●
●
●
●
●
●
●
●
●
●● ●
●●
●
●●
●
●●
●
●
● ●
●
●
●
●●
●●
●●
●
●●
●
●
●
●●● ●
●
●
●
●
●
●
●
●●
●
● ●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
● ●
●
●
●
●
●●
●
●
●
●
●● ●
● ●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●●
●
●
●●
●
●
●●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
● ●
●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●●
●●
●●●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●●●
●
●
●
● ● ●●
●
● ●
●
●●
●
●● ●
●
●
●
●●●
●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●●
●●
●
●●
●
●
●
● ●●●
●●
●●
●●
● ●●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●●
●
●●
●
●●
●
●
●
●
● ●●●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●●●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
● ●●
●
●●●
●
●
●
●
●●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●●
●●
●
●
● ●
●●
●
●
●● ●
●
●
●●●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
● ●
●●
●
●
●
●
●
●
●●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●●
● ●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●●
●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●●
●
●
●
● ●●
●
●●
●
●
● ●
●
●
●● ●●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●●●●
●
●●
●●
● ●●
●
●●
●
●
●
●
●
●
●
●●
●●●
●
●●●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
● ●
●
●
●
●
●
● ●●●●
●
●
●
●
●
●
●
●●
●
●●
●●
●
●
● ●
●
●●
●
●
●
●
●
●●
●
●
● ●●●
●●
●
● ●● ●
●
●
●
●●
●
●
●
●
●●●
●
●
● ● ●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●●●●
●
●
●
●
●
●●
● ●
●
●
●
●●
● ●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●
● ● ●
●
●●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●● ●
●
●
●
●
●●
●●
●●
●
● ● ●
●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
● ●
●
●●
●
● ●
●
● ●
●
●
●
● ●
●
●
●●
●●
●
●●
●
●●
●
●
●
●
●●
●●
●
●
●
●●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
● ●●
●
●● ●
●
●
●
●●●●
●
●
●●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
● ●●
●
●
●
●
●
●
●●
●● ●
●
●
●
● ●
●
●
●●
●
●●
●
●
●
●
●
●●●
●
●●
●●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●●
●●●●●
●●●
●
●
●
●
●
●●
●
● ●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●●
●
●●
●●
●
● ●
●
●
●
●
●●
● ●
●
●●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●● ●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
● ●●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
● ●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●●
● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●
●
●● ●
●
●
●
●●
●
●
●●
●
●
●
●
●
● ●
●
●
● ●●
●●
●
●
●
●
●
●
●●●
●
●
●
●
●
●●●
●
●
●
●
● ●
●●
● ●
●●
●
●
●
●
●
●●
●
●
●
● ●●
●
●●
●●●
●
●
●
●
●●
●●
●
● ●
●
●●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●●
●
●
●
● ●
●
●●
●
●
●
●●
●●
●
●●
●
● ●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●●
●
● ●
●
●
●
●
●
●●
●
●
●●
●
●
●
● ●
●
●
●
●●
●●
●
●
●
●
●
● ●
●●
●
●
●
●
●
●
●
●
●●
●●
● ●
●
●●
●●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●● ●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●●
●
●
●
●
●
●●
●
●
●●
● ●
●
●
●
●
●●
●●
●●●●
●
●
●
●
● ●●
●
●●
●●
●
●
●
●●
●
●●
●●
●●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
● ●●
●
●
●
●
●
●
●
●
●● ●
●
●
●
●
●
●
●
●
●●
●
●
●
●● ●
●
●●
●
●
●● ●
●
●
●●
●●
●
● ●
●●
●
●
●●
●●
●
●●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●●
●
●
●●
●
● ●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●●
● ●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●
●
● ●●●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●● ●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
● ●●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●●
●
●
●●
●●
●
●
●
●
●
●●
●
●● ●
● ●●
●
●●
●
●●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●
●
●
●
●●●
●
●
●●●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●●
●
●
● ●●
●
●●
●
●●
●●
●
●●
● ●
●
●●
●
● ●●
●
●
●
●
●
●
●
● ●
●
●●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●
●
● ●●
●
●
●
●
●
●●
●●●
●
●
●
●
●
●●
●
●
● ● ●
●
●
●●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
● ●
●
● ● ●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
● ●
●
●
● ●
● ●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
●
● ●
●
●●
●
● ●
●
●
●
● ●
●●
●
●
●
● ●
●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
● ●
●
●
●● ●
●
● ●●
●
●●●
●
●
●
●
●●
●●
●
●
●
●●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●● ●
●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●
● ●
●
●
●
●● ●
●
●
●●
●
−6 −4 −2 0 2 4
−6
−4
−2
02
46
Scatter Plot
A
M
−6 −4 −2 0 2 4
−6
−4
−2
0
2
4
6
AM
Scatter Plot with Density
124466992
114137159182205227250272295318340363
Counts
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
group1 group2 group3 group4
Val
ue
010
2030
4050 Shows mean scores with
error bars representing95% confidence intervalfor the mean.
The mean may not be anappropriate summarymeasure.
The 95% confidenceintervals are calculatedbased on the assumptionof normality.
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
group 1 group 2 group 3 group 4
1020
3040
50
Out
com
e m
easu
re
Shows all data points.
Can easily comparemedians.
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
group1 group2 group3 group4
Val
ue
010
2030
4050
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
group 1 group 2 group 3 group 4
1020
3040
50
Out
com
e m
easu
re
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
Table: Odds Ratio
Group OR Lower Upper p-valA 1 0.42 0.19 0.93 0.030A 2 0.16 0.05 0.52 0.002A 3 0.31 0.16 0.62 0.001B 1 1.01 0.44 2.31 0.900B 2 0.12 0.02 0.92 0.040B 3 0.62 0.29 1.33 0.200
Table with twenty-fournumbers is hard toprocess quickly.
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
●
●
group3
group2
group1
group3
group2
group1 0.42 (0.19−0.93)
0.16 (0.05−0.52)
0.31 (0.16−0.62)
1.01 (0.44−2.31)
0.12 (0.02−0.92)
0.62 (0.29−1.33)
Disease B
Disease A
Odds ratio for developing disease
0.0 0.5 1.0 1.5 2.0 2.5
Graphical representationof the confidence intervalsare much easier to processthan a table of numbers.
The reference line at onelets the reader easily seewhich odds ratios aresignificant.
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
Table: Odds Ratio
Group OR Lower Upper p-valA 1 0.42 0.19 0.93 0.030A 2 0.16 0.05 0.52 0.002A 3 0.31 0.16 0.62 0.001B 1 1.01 0.44 2.31 0.900B 2 0.12 0.02 0.92 0.040B 3 0.62 0.29 1.33 0.200
●
●
group3
group2
group1
group3
group2
group1 0.42 (0.19−0.93)
0.16 (0.05−0.52)
0.31 (0.16−0.62)
1.01 (0.44−2.31)
0.12 (0.02−0.92)
0.62 (0.29−1.33)
Disease B
Disease A
Odds ratio for developing disease
0.0 0.5 1.0 1.5 2.0 2.5
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
Shows mean scores witherror bars.
The mean may not be anappropriate summarymeasure.
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
Speech Understanding Scores, by Type of Hearing Loss
Filter Cuttoff Frequency (Hz)
Spe
ech
Und
erst
andi
ng S
core
0
20
40
60
80
100●
●
●
●
●
●
●
● ●
● ●
●
●●●
●
●●
● ●
●●
●
●●
●
●
● ●
●●
●
●
●●
●● ●
●
● ●
●
●
●
●●●
●
●
●●
●
●
●
● ● ●
●
●
●
●
●●
● ●
● ●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
Mild Loss
500 1000 1500 2000 2500 3000
● ●
●
●
●● ●
●
●
● ●
●
●
●
●
●● ●
●●
● ●
●
●
●
●
●
●●
●●
●●
●
●●
●●
● ●
●
● ●
●
●
●
●
● ●
●
●
●
●
●● ● ●●
●
● ● ●
●
●●
●
●
●
●
● ●
●●
●
●
●●
●
●●
●
● ●
●
●
●
●
●●
●
Steep Slope Moderate Loss
● ●
●
●
●●
●
●
●
● ●
●
●
●●
●
●
●●
●
● ●
●
●
●
●
●
●
●●
●
●●
●●
●
●● ● ●
●
●
●
● ●●
●
●
●
●● ●
●
●
●
●
●●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●●
Moderate Slope Moderate Loss
0
20
40
60
80
100
● ●
● ●
●
●●
●
●
●
●●
●
●
● ●
●●
●●
● ●
●
●
●
●
●
● ●●
●
●
●
●
●
●●
●●
● ●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
● ●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●●●
●
●
Flat Slope Moderate Loss
0
20
40
60
80
100
500 1000 1500 2000 2500 3000
● ●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●● ●
●
●
●
● ●
● ●
●
● ●
●
●
●
●
●
●●
●
●● ●
●
● ● ●●●
●
●
●
●
●
●
●
Steep Slope Severe Loss
●
●
●●
●
● ●
●
●
● ●
●
●
●
●
●
●
●
●●
● ●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
● ● ●
●
●
● ●
●
● ●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●
●
●●
● ●
●
●
●●●
●
●
●
●
●
● ●●
●
●
●
Moderate Slope Severe Loss
Shows all data points,giving more informationabout their distribution.
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
Speech Understanding Scores, by Type of Hearing Loss
Filter Cuttoff Frequency (Hz)
Spe
ech
Und
erst
andi
ng S
core
0
20
40
60
80
100●
●
●
●
●
●
●
● ●
● ●
●
●●●
●
●●
● ●
●●
●
●●
●
●
● ●
●●
●
●
●●
●● ●
●
● ●
●
●
●
●●●
●
●
●●
●
●
●
● ● ●
●
●
●
●
●●
● ●
● ●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
Mild Loss
500 1000 1500 2000 2500 3000
● ●
●
●
●● ●
●
●
● ●
●
●
●
●
●● ●
●●
● ●
●
●
●
●
●
●●
●●
●●
●
●●
●●
● ●
●
● ●
●
●
●
●
● ●
●
●
●
●
●● ● ●●
●
● ● ●
●
●●
●
●
●
●
● ●
●●
●
●
●●
●
●●
●
● ●
●
●
●
●
●●
●
Steep Slope Moderate Loss
● ●
●
●
●●
●
●
●
● ●
●
●
●●
●
●
●●
●
● ●
●
●
●
●
●
●
●●
●
●●
●●
●
●● ● ●
●
●
●
● ●●
●
●
●
●● ●
●
●
●
●
●●
●
●
●
●
●
●●
● ●
●
●
●
●
●
●●
●
● ●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●
●●
●
●
●
●●
Moderate Slope Moderate Loss
0
20
40
60
80
100
● ●
● ●
●
●●
●
●
●
●●
●
●
● ●
●●
●●
● ●
●
●
●
●
●
● ●●
●
●
●
●
●
●●
●●
● ●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●
●
●
●●
●
● ●
●
●●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●●●
●
●
Flat Slope Moderate Loss
0
20
40
60
80
100
500 1000 1500 2000 2500 3000
● ●
●
●
●
●
●
●●
●
●
●
●
●
●
●
● ●●
●
●
● ●
●
●
●
●●
●
●
●
●
●
●
● ●
●
●
●
●
●
●
●
●
●
●
●
● ●
●
●
●●
●● ●
●
●
●
● ●
● ●
●
● ●
●
●
●
●
●
●●
●
●● ●
●
● ● ●●●
●
●
●
●
●
●
●
Steep Slope Severe Loss
●
●
●●
●
● ●
●
●
● ●
●
●
●
●
●
●
●
●●
● ●
●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
● ● ●
●
●
● ●
●
● ●
●
●●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●
●
●●
● ●
●
●
●●●
●
●
●
●
●
● ●●
●
●
●
Moderate Slope Severe Loss
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
0-21.9
22-27.9
28-39.9
40-80
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Gender, Age, and Survival on the Titanic
MalesFemales
Age
Pro
po
rtio
n t
ha
t S
urv
ive
d
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
0-21.9
22-27.9
28-39.9
40-80
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Gender, Age, and Survival on the Titanic
MalesFemales
Age
Pro
po
rtio
n t
ha
t S
urv
ive
d
Categorizes age,discarding information.
The 3-D perspectivemakes it difficult toaccurately judge therelationships between thebar heights.
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
0 10 20 30 40 50 60
0.2
0.4
0.6
0.8
Age,, Year
Sur
vive
d
female
male
Does not force a linearrelationship between ageand probability of survival.
The tick marks on thecurves represent datapoints, so the viewer cantell which parts of thecurve were estimatedusing sparse data.
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
0-21.9
22-27.9
28-39.9
40-80
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Gender, Age, and Survival on the Titanic
MalesFemales
Age
Pro
po
rtio
n t
ha
t S
urv
ive
d
0 10 20 30 40 50 60
0.2
0.4
0.6
0.8
Age,, Year
Sur
vive
d
female
male
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
Where to learn more
http://biostat.mc.vanderbilt.edu/StatGraphCourse
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
R Demonstration
Alvarez, Lu, and Wang Choosing Higher Quality Graphics
Summary of R Functions Used
plot()
lattice package
xyplot()
Alvarez, Lu, and Wang Choosing Higher Quality Graphics