Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Learning about human demography and natural selection with ancient DNA
Iain Mathieson
Department of Genetics
Perelman School of Medicine
University of Pennsylvania
1
Lazaridis et al. 2014
“Ancient human genomes
suggest three ancestral
populations for present-day
Europeans”2
Cumulative published ancient human genome-wide data
32010 2012 2014 2016 2018 2020
Cum
ula
tive a
ncie
nt hum
an g
eno
mes
01
000
20
00
3000
400
05
000
Haak, Lazaridis et al. 2015 Massive migration from the steppe was a source for Indo-European languages in Europe4
Mittnik et al. 2019 Kinship-based social inequality in Bronze Age Europe
Cassidy et al. 2020 A dynastic elite in monumental Neolithic society
Amorim et al. 2018 Understanding 6th-century barbarian social organization and migration through paleogenomics 5
Keller et al. 2018 Ancient Yersinia pestis genomes from across Western Europe reveal early diversification during the First Pandemic (541–750)
Spyrou et al. 2018 Analysis of 3800-year-old Yersinia pestis genomes suggests Bronze Age origin for bubonic plague
6
Images: Cornelius Bachter, Lot Tourisme, Istvan Takas, South Tyrol Museum, Kenny Arne Lang Antonsen, John Maynard Friedman
How do humans adapt to environmental, cultural and social change?
7
8
Mesolithic Neolithicpost-
Neolithic11,000 BP 5500 BP
7000 BP
4500 BP
26,000 BP
Early Late
1000 BP45,000 BP
BP: Years before present
Upper PaleolithicUpper Paleolithic
9
10,000 years ago
Skoglund et al. 2012Lazaridis et al. 2014
Olalde et al. 2014Gamba et al. 2014
Jones et al. 2015Haak et al. 2015Jones et al. 2017
Gonzalez-Fortes et al 2018Mathieson et al. 2018
10
Early Farmers~8500 BP
7100 BP
5100 BP
4900 BP
7000 BP8500 years ago to 5000 years ago
Bramanti et al. 2009Skoglund et al. 2012Lazaridis et al. 2014
Gamba et al. 2014Skoglund et al. 2014
Haak et al. 2015Mathieson et al. 2015
Cassidy et al. 2016Hofmanová et al. 2016
Lipson et al. 2017Mathieson et al. 2018
11
Mesolithic Neolithic
11,000 BP 5500 BP
7000 BP
4500 BP
26,000 BP
Early Late
45,000 BP
BP: Years before present
Upper PaleolithicUpper Paleolithic
12
Steppe ancestry~4500 BP
4500 years ago
Allentoft et al. 2015Haak et al. 2015
Olalde et al. 2018Gamba et al. 2014Cassidy et al. 2016
13
Mesolithic Neolithicpost-
Neolithic11,000 BP 5500 BP
7000 BP
4500 BP
26,000 BP
Early Late
1000 BP45,000 BP
BP: Years before present
Upper PaleolithicUpper Paleolithic
14
13980 7700 6950 5620 4935 4405 4191 3856 3350 2400 1345
Individual Date (years BP)
Ance
stry
0.0
0.2
0.4
0.6
0.8
1.0
Time (years BP)
Ancestry
14,000 7000 5000 4000 3000 2000
Hunter-gatherer
Early Farmer
Steppe 15
13980 7700 6950 5620 4935 4405 4191 3856 3350 2400 1345
Individual Date (years BP)
Ancestry
0.00.2
0.40.6
0.81.0
Agriculture Metallurgy
Images: South Tyrol Museum, Kenny Arne Lang Antonsen, John Maynard Friedman
Urbanization Social hierarchy
Changes in genetic ancestry
How do humans adapt to environmental, cultural and social change?
16
Detecting selection with ancient DNA
17
●
●
●
●●●●
●●●
●
●●●●
●
●●●●●●●
●
●●●●
●●●●●●●
●●●●●●●
●
●●
●●●●●●
●
●●●●●●●
●
●
●●
●●
●●
●
●●
●●●●●
●
●●●
●
●
●●
●
●
●●
●●●●●●
●
●●
●
●●●●●●
●●●●●●●●●●●●
●
●●●●
●
●●
●
●●●
●
●●
●●
●
●
●
●●
●●●●
●
●
●
●●
●
●
●●●
●
●
●●
●
●
●
●
●
●
●
●●●
●●●●
●
●●●
●
●
●
●●
●
●
●●
●●
●
●●●●
●●●●●●
●
●●
●
●●
●●●
●
●
●
●
●
●
●
●●●●●●●●●
●●
●
●●
●
●●
●●●
●
●●●
●
●●●
●●
●●●
●
●●
●●
●
●
●
●
●●
●
●
●●
●
●
●●●
●
●●
●
●
●
●●
●●
●
●●
●●●
●
●
●●
●
●●●●
●
●
●●●●●
●●
●●●
●●●●●●●●
●
●
●
●
●●●●●
●●●●●●●●
●
●●●
●
●●
●●
●●
●
●
●●●●
●
●
●●
●●
●
●●
●●●
●
●
●●
●●●
●
●●●
●
●
●●
●●
●●
●●
●
●●●●
●
●
●
●●
●
●
●
●●●●
●
●
●●
●
●●●●●
●●
●
●●●
●
●
●
●
●●
●●●●●
●
●
●
●●
●●●●
●
●
●
●●●●
●
●●●●
●●●●●
●
●●●●
●
●●
●●●●
●
●
●●●●
●●
●
●
●●
●
●
●
●
●
●
●
●
●●●●●
●●
●
●
●●
●●●●
●
●
●●
●●●
●●●●
●●●
●
●●
●●●●
●
●●●●●●●●
●
●
●●●
●
●
●●●●
●
●
●
●●
●
●●●
●●
●
●
●●
●●
●●
●
●
●
●
●●●
●●●●●
●
●
●
●
●
●●●
●●
●●
●
●●●●
●●
●
●
●●
●
●●●
●●●●
●●●●●●●●●●●●●●●●
●
●●●●
●
●
●
●●●
●●
●
●●●●●●●●●●●●●●●●●●●
●
●●●●●
●
●●
●●●●
●●
●
●
●
●●
●●
●●
●●●
●●●●●●
●
●●●
●●●
●●
●
●
●●
●●
●●●
●
●●●
●●●●
●●
●●●●●●●●●
●
●
●
●
●
●●
●●●
●●
●
●●●
●
●●
●
●
●●●
●●
●●●
●
●
●●●●●
●
●
●●
●
●
●●●
●●
●●
●
●●
●
●
●●
●
●●●●●
●
●●
●●
●
●●●●●●●
●●
●●
●●●
●●
●
●●●●
●
●
●
●
●
●●●●
●
●●●●●●●●
●
●
●
●●●●●●
●●●●
●●
●
●
●
●
●●
●
●●●
●●
●
●●●
●
●●
●●●
●●
●●
●●
●
●●●●●
●●
●●●●●●●
●
●●●●●●
●
●●
●
●●●●
●
●
●
●●●
●
●●●
●
●
●●●
●
●●
●●●
●●●●
●
●●●
●
●
●●●
●
●
●●
●●●
●●●
●
●●
●
●●●●●●
●●
●
●●●●
●
●●
●
●
●●●●
●
●
●●
●●
●
●
●●
●
●
●●●●
●
●
●
●
●
●●●●
●
●
●●●
●
●
●●●
●●
●
●●●
●●
●
●●●
●●
●
●
●
●●
●
●
●
●
●●●
●●
●●●●●●●●●●
●●●●●●●
●
●●
●
●●●●
●
●
●
●●
●
●
●
●●
●
●●●●
●●
●
●●●
●●
●●●●●●●●●●●
●
●●●●
●●●●●●●●●●
●
●
●●
●●
●
●
●●
●●●
●●
●
●
●●●●●●●
●●
●
●
●●
●
●
●●●●
●
●●●●●●●●●●●
●
●●
●●
●●
●●
●
●●
●●●●
●
●●●
●●
●●●●●●●
●
●
●
●●●
●
●●●
●●
●
●●●●●●
●
●
●
●
●●●●
●●
●
●●
●●●●●●
●●
●
●●●●●●●●
●●●
●●
●●
●
●●●●
●●●●●
●
●●●●
●●●●
●
●●
●●
●
●
●
●
●
●●
●
●●●
●●●●
●
●●
●●
●●
●●●
●
●●●
●
●●●●●●●●●●
●
●●●
●
●
●
●
●
●
●
●
●●●
●
●
●●
●●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●●●
●
●
●
●
●●●
●●
●●●●
●●
●●●●●●●
●
●
●●●●●●
●●
●●●●●
●●
●
●●
●
●
●●
●●●●
●●
●
●
●●
●
●●●●●●●●●●●●●●●●●●
●
●●●●●●●●●
●●●
●
●●
●
●●
●●●
●
●
●
●●●●●●●●
●
●
●
●●●
●
●●
●
●●
●
●
●
●
●
●
●●
●●●●
●●●
●
●
●
●
●●●●
●
●
●
●●
●●●●●
●●●●●
●●●●●●●
●●●
●●
●
●
●●●
●●●●●●●
●●
●●●●●●
●●
●
●
●
●
●
●
●●
●●
●●
●
●
●
●
●●
●
●
●
●
●●●●●
●
●●
●
●
●●●
●
●
●
●
●
●
●●
●
●●●●●
●
●●●
●●
●●
●●●●●●●●●●●●●●
●●
●
●
●
●
●●
●●●
●●●●●●
●●●●
●
●
●●
●
●●●
●●●●●●●●
●
●
●
●●●
●
●●●●
●●●●●
●●●
●
●
●
●
●
●●●●●●●●●●●●●
●
●
●●●●●
●
●
●
●●
●●
●●
●
●●●●●●●
●
●●
●
●
●
●●●●
●
●●
●
●●●
●
●
●●
●
●●
●●
●
●●●
●
●
●●
●
●●
●●
●
●●●
●●
●
●
●
●
●●
●
●●●●●
●
●
●
●●●
●
●●●●●●●●●
●
●
●●
●●
●●●
●
●●●●
●
●●●●
●●●
●●●●●
●●●
●
●●
●●
●●●
●
●●
●●●
●●
●●
●
●●●●
●
●
●●●●
●
●●●●●●
●
●●●●●●●
●●
●
●●●●●
●●●●●
●
●●●
●
●
●●●
●
●
●●●●●
●
●●●●
●●
●
●●
●
●
●●
●●●
●
●
●●●●
●
●
●●●●
●
●●
●●
●●
●●
●
●●
●
●●
●●●●
●●●
●●●
●●●●●
●
●●●
●●●●●●●●●●●
●●
●●●●●●●●
●
●
●●●●●●●●●
●●
●
●
●
●●
●
●●
●
●
●●●
●
●
●●●
●
●
●●●●
●●●
●●●●
●●●●
●●
●
●●
●●
●
●●●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●●●●●
●
●●
●●
●
●●
●
●
●
●
●
●●●●●●
●
●
●
●●
●●●●●●●●●●
●●
●
●
●
●
●
●
●●●●●●●●
●●
●●●●
●●
●
●●●●●●●
●
●
●●
●
●●●
●●
●
●
●
●●
●●
●●
●●●
●
●●●●●●
●●
●●●●
●●
●●●●
●
●
●
●
●
●
●
●●●●
●
●●●●
●
●
●
●
●●●
●
●
●●●●●●
●
●
●
●
●
●
●●●
●●
●
●●●●●
●●●
●
●●
●
●
●
●●
●
●●
●
●●
●
●
●
●●
●
●
●●●
●
●
●
●●●
●
●
●
●
●
●
●●●●●
●
●
●●
●●●
●
●
●●
●
●
●
●●
●●
●●●
●
●●●●●●●
●
●●
●
●
●
●
●
●
●●
●
●●●●●●
●●●●
●
●
●●●●●●
●
●●●●●
●●
●●
●
●
●
●●
●
●
●
●
●
●
●●
●
●●●●●●
●
●●
●
●●●●●
●
●
●
●
●
●●
●
●●●●●
●
●●●●●●
●●
●
●
●
●
●●●●●
●
●
●
●
●
●●●●●●
●
●
●●
●●
●●
●
●
●●●
●●
●
●
●●●●●
●
●●●
●●●
●
●
●
●●
●●
●
●●
●
●
●●
●
●
●●
●●
●
●
●
●●
●●●●●●●●●●●
●●
●
●●
●
●
●●
●●
●
●
●
●
●
●●
●
●●
●
●
●●
●●
●
●●●●●
●
●●●●
●●●●●●●
●●●●●●
●●●
●●●●●●
●
●●●
●
●
●●
●●●
●●
●●●●
●
●
●
●●●●●●●
●
●●●●
●
●●
●
●●●
●
●●●●
●●●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●
●●●●●
●
●●●●
●
●
●●●
●●●●
●
●
●●
●
●
●●
●
●
●
●●●
●
●
●●
●
●●
●●●
●●●●●●
●●
●
●
●
●
●●
●●●
●●
●
●
●
●●●●●
●
●●●
●
●●
●●
●
●
●
●●●
●●●
●
●
●
●
●
●●
●●●
●●●●●
●●
●●●
●
●●
●●●●
●
●
●
●
●
●
●●●●
●
●
●●●●
●●
●
●
●
●●
●●
●
●
●●●
●●
●●●
●●
●●
●●●
●
●●●
●●
●●●●
●●
●
●●●●●●●
●
●●
●
●
●
●●
●
●
●●
●●
●●
●
●●●
●
●
●
●●
●
●
●
●
●●
●
●
●
●
●●
●●●●●
●●●
●●●●●
●
●
●
●●
●●●
●●
●
●
●
●●
●●●
●
●●
●
●
●
●●●
●
●
●●
●
●●●
●
●●●●●●●●●●●●●●●●●●
●
●●●
●●●
●
●●●
●●●●●●●
●
●
●●●●●
●●●
●
●●
●●
●
●
●●●●●●
●●
●●
●●
●●●●
●●●
●●
●●●
●
●●
●
●●
●
●●
●
●
●
●●●●●●●●●●
●
●
●
●●●
●●●
●●●
●●
●●
●●
●
●●●
●
●
●
●●
●
●●
●●●
●
●
●
●
●
●
●
●
●
●
●●
●●●●●●
●
●●●●
●●
●●
●
●
●●●●
●●●
●
●
●●●●●●
●●
●
●●
●
●
●
●●●
●
●●●●●
●●
●
●●●
●
●●
●
●
●●
●
●●
●
●
●
●
●●
●●●
●●
●●
●
●●
●
●
●
●●●
●●
●●●
●
●
●
●●●●●
●
●
●
●
●●
●
●●●●●
●
●
●
●
●●●●
●
●●
●●●●●●●●●
●●●
●
●
●●
●
●●●●●●●
●
●●●●
●
●●●●
●●
●●●
●
●●●
●
●●●●●●●●●●
●
●
●●
●●●
●
●●●●
●●
●
●
●
●
●●
●
●
●●●
●
●●
●
●
●●
●
●●●●●●●●●
●
●
●●●
●●
●
●
●
●
●●
●
●
●
●●
●●
●
●●
●
●●
●●
●
●
●
●●●
●
●●
●
●●●
●
●
●●●
●●●
●
●
●
●
●●
●
●
●●●
●
●
●●
●●●
●●
●●
●
●
●●
●
●
●
●
●●
●
●●
●
●●
●●●
●●
●
●●
●●●●
●●
●
●
●●●●●
●
●●●●●
●
●●●●
●●●
●
●
●
●●●
●
●●●●●●
●
●●●●●●
●●
●
●
●
●
●●●●●
●
●
●●
●
●●●
●●●
●
●●
●●●
●
●●●●●
●
●
●
●●●
●●
●●
●
●
●●●●
●
●
●●●
●
●
●
●
●
●●
●
●●●●●●●●
●
●●●●●●●●
●●●
●●
●●
●●●
●●●●
●
●●
●
●
●
●
●●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●
●
●●
●●
●●
●
●
●
●
●●●●
●
●
●
●●
●
●
●●
●
●
●●●
●●
●
●
●
●
●
●●
●
●●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●
●
●●●
●
●
●
●●●
●
●
●
●
●●●
●
●
●●
●
●●
●●●
●
●●●●
●
●●
●
●
●●
●●
●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●●
●
●●●
●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●●
●
●
●
●
●●
●
●
●●●●●●●●
●●●●●●●●●●●●
●
●●
●●●
●
●●
●●
●
●●●
●
●
●●●
●
●
●●●●●●
●●●
●
●●●●●●
●●
●●●●●
●●●●
●●●●●
●
●●●
●
●●●
●
●●
●●
●●●●●●●
●●●
●
●●●●●●
●
●●
●
●●●●●●
●
●●●●●
●
●●
●
●
●
●●
●
●●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●●●
●
●●●●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●
●●
●●
●●
●
●
●●●●
●●●●
●
●●●
●●●
●●●●●●●●●
●●●
●
●●●
●
●
●●
●
●
●●
●●
●
●
●●
●
●●●
●●
●
●●
●
●●●
●●●
●
●
●●●
●
●
●●
●●
●
●●●
●
●●
●
●●●
●
●
●●●●●●
●
●●●●
●●●●●●●●
●
●
●
●●●
●●●●●
●
●
●●
●●
●
●●●●●
●●
●
●●
●●
●
●●
●●
●●
●●
●
●
●
●●
●●●●●●●●
●●
●
●●
●
●
●
●
●
●
●
●
●
●
●●●●●
●
●●●●
●
●
●●●●
●●●
●
●
●●●
●
●●●
●
●●●
●●
●●
●●●
●
●●●●
●●●●●
●
●●●●
●●●●●●●●●●
●●●●●●
●
●●●●●●●●
●●●●●●●●●●●●●●●●●
●●
●
●
●
●●●●
●●●●●●
●
●
●
●●
●
●●●
●●●●
●
●●●●
●●
●●●●●●
●
●
●●●
●
●
●●●●
●
●●
●
●
●
●
●●
●
●
●●
●
●●●●●●
●
●
●●
●
●●
●
●
●●●●
●●
●
●
●
●●
●
●●●●●●●
●
●●
●
●
●●
●●
●
●●●
●
●
●●●
●●●●
●●●●●●●
●
●●
●
●
●●●●●●
●●●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●●
●
●●●●
●
●
●
●
●●●●
●●●●●
●●●
●●
●●●
●●●●●●●
●
●●
●●
●●●
●
●
●●●
●
●●●●●●
●●●●
●
●●●
●●
●●
●
●
●●
●
●●●●●●
●●●●●
●●
●
●
●●
●
●
●
●●●●
●●
●●
●●
●
●
●
●
●
●
●
●
●●●●●●●
●
●●
●●
●
●●●
●●●●●●●
●
●●
●●
●●
●
●●
●
●●
●
●
●●
●●●
●
●
●
●●
●●●
●
●●●●●●●●●●●●●●
●
●
●●
●
●●
●
●
●●
●●●
●●
●●●●
●●●
●●
●
●
●
●
●
●●●
●
●●
●
●●●●
●●
●
●●
●
●●
●
●
●
●●
●
●●●●●●●●●
●●
●●
●●●●●
●
●
●
●●
●
●●●●
●
●
●●
●●
●
●●
●●
●
●●
●
●
●
●●●
●
●
●●
●●●
●●●
●●●
●●●
●●●
●
●●●●●
●
●●●●●●●●●
●
●●●●
●
●
●●●
●
●
●●●●
●
●
●
●●
●
●●
●
●●●●●●●●●
●●
●●●●●●●●
●
●●●
●●●
●
●●●●
●
●
●
●●●●●●
●●
●
●
●●●
●
●●
●
●●●●
●
●●
●●
●●●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●●
●●
●
●●●
●●●●●●
●
●●
●●
●
●
●
●
●
●●●
●●●
●●
●
●
●●●●●●
●●
●●●
●●
●●
●
●
●
●
●
●●
●
●
●●
●
●●
●●●●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●●●
●
●
●
●
●
●
●
●●●●●
●
●●
●●
●●
●
●
●●
●●
●
●●
●
●
●
●●
●
●
●●●●
●
●●
●●●
●●
●●●●●
●●●
●●●
●
●●●●●●●●
●●●
●
●●●
●●
●
●
●
●●
●●●●
●
●
●
●●●●●●●●●●●
●●
●●
●
●●
●
●
●
●●
●
●
●●
●
●
●●●●●
●●●●●
●●●●
●
●●
●●
●●
●●●
●
●
●●
●
●
●●●●●●●●●●●●●
●
●●
●
●
●●●●●
●●●
●
●
●
●
●●●●
●
●●●●●●
●●
●●
●
●
●
●●●●●
●
●●●●●●●●●●●●
●●
●
●●
●●●
●
●
●
●
●●
●●●
●●●
●●
●
●●●●
●
●●
●
●●
●●
●
●●●●
●●●●●●●●●
●●
●●●●
●
●●
●
●
●
●
●●●
●●●
●
●
●
●●●●
●
●●●●●●
●●●
●
●
●●●●
●
●
●●
●●●●●●●●●●●●●●●●●●●●●●●●
●
●●●
●
●
●
●
●
●●
●●
●●●●●●
●●
●
●
●●
●
●●●
●●●
●
●
●
●
●●●●●
●
●
●●●●●●
●
●●●●●●●
●
●
●●
●
●
●●●
●
●●
●●●
●
●●●●●●●
●
●●●●●●
●●●●
●
●●●●●●
●●●
●
●●●●●●●●
●
●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●
●
●●●
●
●●●●
●●●
●
●●●●●●●●
●●●●●●●●●●●●
●●
●●●
●
●
●
●
●
●
●●
●
●
●●
●●●●
●
●
●●
●
●●●
●
●
●●●●
●
●●
●
●
●
●
●●
●
●
●●●●
●
●●
●
●
●
●
●
●●●
●●●
●●
●
●
●●
●●
●●●●●●●●●
●
●●●●●
●
●●●
●●●
●●
●
●●●●●●●
●●●●●●
●
●
●
●●
●●●
●●●●
●●●●●
●●
●
●●●●●●●●●
●
●
●●
●
●●●
●●●●●
●●●
●●
●
●●
●●●
●●●
●
●●●●
●
●●
●
●
●●●
●
●●●●
●●●●●
●
●
●●●●●
●
●
●●
●
●
●●●
●●●
●
●
●
●●●
●●●●●●
●●●
●
●
●●
●
●
●
●
●●●
●●●
●
●
●
●
●
●●
●
●●●
●
●●●●●●
●
●●●
●
●●●
●
●●
●
●●●
●
●●●●●●
●●●●●●●●
●●
●●
●
●●●●●●●●●
●●
●●●●●●●●●●●●●
●
●
●
●
●●
●
●●
●
●
●●●●●●●●●●●●●●●
●
●
●●●●●●●●●●●●
●
●●
●●●●●●
●●●●
●
●●●●
●
●
●●
●●●●
●
●●●●●●●●●
●●
●
●
●
●●●●●
●●●
●
●
●
●●
●
●
●●●●●●●●●●●●●
●
●
●
●●●●
●
●●●
●
●
●●●
●
●
●●●
●
●●●
●
●
●
●
●
●
●
●●●
●
●
●●●●
●
●●●
●
●
●
●●●●●
●
●
●
●
●●●●
●●●
●●
●●
●●
●
●●
●
●
●
●
●
●●●
●
●●●●●
●●●
●●
●
●
●●●●●
●●●
●●●
●
●
●●●●
●●●
●
●●●
●●
●●●●●●●●●●●
●
●
●
●●
●●●
●
●●●●●
●
●
●
●●●●
●●●●
●●●●
●
●
●●
●
●
●
●●
●
●
●●
●●●●●●●●
●
●
●
●
●●
●
●
●●●
●
●●
●
●●●●
●
●
●
●●
●●
●●●●●
●
●
●
●
●●●●●●●●●●●●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●●
●
●●●●●●
●●●●●●●●●
●●●●●●●●
●
●●
●
●
●
●
●
●●●
●●●●●
●
●
●
●
●●●
●
●●●●●
●
●●●●●●●
●●●●●●●●●●
●●●
●●
●
●
●●●●●
●●
●●
●
●●●●●
●
●
●
●●●●●
●
●
●●●
●
●
●●
●
●●●●●●●●●●
●
●
●
●●●
●
●●
●
●●●●●●●●
●
●●●
●
●●●●●●●●●●●●
●
●
●
●●●
●●
●
●
●
●
●●
●
●●●
●
●●●●●●●●●
●
●●●●●●
●●
●●
●
●●●
●●●●●●●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●●
●●●●●
●
●●
●●
●●
●
●●
●●
●●●●●
●●
●
●●●
●
●
●
●●
●
●
●●
●●●
●●●●●●
●
●
●●
●
●●●
●
●
●
●●●●●●●●●
●●
●●●●●●●●●●●●●
●●●
●●
●●●
●●
●
●●
●
●
●●●●●●
●
●
●
●
●
●●●●●●●●
●
●
●
●
●●●●
●●
●
●●
●
●●
●●●
●●●
●●
●●●●●●●●
●
●
●●
●
●●
●●●●●●●
●
●●●
●
●
●
●●●●●
●●●
●
●●
●●●●
●●●●
●
●●
●
●●●●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●●●●●●
●
●●
●
●
●
●●●●●
●
●●
●●
●●●●
●●●
●
●●
●
●
●
●●
●
●
●●●
●●
●
●
●
●
●
●
●●
●●
●
●●●●●
●
●
●
●●
●
●
●
●
●
●●●●●●
●●●●●●●●●
●●
●
●●
●
●●●●
●●
●
●
●
●
●●
●●
●●●
●
●
●
●●
●
●
●●
●●●
●
●●●●●
●
●
●
●●●●●
●●●
●
●
●
●
●
●●
●
●
●
●
●
●●●
●
●●●
●
●●
●●
●●
●
●●●
●
●
●
●
●●●
●
●●
●
●●●●●
●●
●
●●
●●●●●
●
●●
●
●●●●
●
●
●
●●
●●●●●
●
●●●●●
●●
●
●
●●●●●●●●●●●●●●●
●●
●
●●
●●
●●●
●
●●●
●
●
●
●
●●
●●●●●●●●●●●●●●●●
●●
●
●
●●●
●
●●
●●
●
●●●●●
●
●●●
●●●
●●
●
●
●
●
●
●●
●●●●●●
●●
●
●
●●●
●
●
●
●
●
●●
●●
●●●
●●
●
●●●
●
●●●
●●●●
●
●●●●●●
●●●●
●
●●●
●●
●●
●
●
●
●●
●●●●
●
●●●●●●
●●●●●
●●
●●●●●●●
●
●
●
●
●●●
●●●●●●●
●
●●●
●
●●
●
●
●●
●
●●●●●
●
●
●●●●
●●
●
●●●
●●●●
●
●●
●
●
●
●
●●
●●●●●
●●
●
●●
●●●
●●●●●
●●
●
●●
●
●●
●
●●●●●●
●
●●
●●
●
●
●●
●
●
●●
●
●●
●●
●
●
●
●●●●
●
●●
●●●
●●
●●●●●●●
●●
●
●●●●●●●●
●
●●
●
●
●
●
●●●
●
●
●●●
●
●
●
●●●
●
●●●●●●●●●●●●●●●●●●
●
●●
●●
●●
●●●
●●
●●●●●
●●
●
●●●
●
●
●
●●●●●
●●●●●●
●●
●
●
●
●●
●
●
●●●●
●
●
●●●
●
●●
●
●●
●
●●●●●
●
●
●
●
●
●●
●
●
●
●●
●●
●●●
●●●●●●
●●●
●
●
●
●
●
●
●●
●
●●●●●●●
●●
●
●
●●●●●
●●
●
●
●
●●●
●●
●
●
●●
●
●●●
●
●
●
●
●●
●●●●●●●●●
●
●●●●●●●
●
●●●●●●●●●●●●●●●●●●●●●●●●●
●●●
●
●
●
●●●
●●
●
●
●
●
●●●
●
●
●●
●●
●
●
●●●●
●
●
●
●
●●●
●●●●●
●●
●●●●
●●●●●●●
●●●
●
●
●
●
●●
●●●
●●
●
●
●
●●●●
●
●
●●
●●●●
●●
●●●●
●
●●●●●●
●●
●●●●●●●●
●●●●
●●
●
●●●●●●●●
●●
●
●
●●●●●●
●
●●●●
●
●
●
●●
●
●
●
●●
●
●
●●
●●●●
●●
●
●●
●
●●
●
●
●●●●●●●●
●●●●●●●●●
●
●●●●●●
●
●●●
●
●
●
●
●●
●
●
●
●●●●●●●●●
●●
●
●
●
●●●
●●●●●
●
●●
●●●
●●●●●●
●
●●
●
●●●
●
●
●
●●●●
●●●
●
●●
●
●●●
●
●●●●
●
●●●●
●
●●
●
●
●●
●
●●
●
●●●●●●●●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●
●
●●
●
●●●●
●
●●●
●●
●●●●●●●●●●●●●●
●
●
●
●●
●
●
●●
●●●●
●
●●●●●●●
●●
●●●
●
●●●●●●●●
●●●●●●●●
●●●
●●●●
●●
●
●●●
●●
●●
●
●
●
●
●●●●●●●
●●
●●●●●●●●
●●
●●●●●●
●
●
●●
●
●
●
●
●
●●●
●
●●
●●
●
●
●
●
●
●
●●
●
●●
●●
●●
●
●
●
●
●●●
●
●●●●●●
●●●●●
●
●●●●●●
●
●●●●●●●●
●●
●
●
●●
●
●
●
●●●
●●
●
●●●
●
●●
●●●●●●●●●●●●●●●●
●
●●
●
●●●
●●
●●●
●●●●●
●
●●●●●●●●●●
●
●●●●●●●●●●●●
●
●
●●
●
●●●●
●
●●●
●
●
●●●
●
●
●
●
●
●
●●●
●●
●
●●
●●●●●
●
●●●●●●●●●
●
●●
●
●●●●●●●
●
●
●
●●●
●
●
●
●
●
●●●
●●●●●
●
●●●●
●●
●●●●
●●
●
●●●●●
●
●●●●●●
●
●
●
●●
●
●
●●
●●
●
●
●●●●
●
●●●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●●
●
●
●●●●●●●●●●●●●●
●
●
●
●
●
●
●
●●●●
●
●●
●●
●●
●
●
●
●
●
●
●●●
●
●
●●
●●
●
●
●
●●
●●●
●●
●●
●●●●●
●
●●●●●●●
●
●
●
●●
●
●
●
●●●●●
●
●●
●
●
●
●●●●●
●●●●
●●●
●●
●●●●●
●
●●●●
●●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●●
●
●●●●
●
●
●
●
●
●
●
●●
●●
●●
●
●
●●●●●●●●●
●●●
●
●
●
●
●
●●●●
●
●●
●●
●●●
●
●
●
●
●●●●●●●●
●●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●●
●●●
●
●●●●●●●●●●●●●●●
●●
●
●
●
●
●●●●
●●●
●
●●
●
●●
●●
●
●●
●●●
●●●●
●●●●
●
●●●●●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●●●●
●
●●●●●●
●●●
●●●
●
●
●
●●
●●
●●●
●
●
●
●
●
●●
●
●●
●
●●●
●
●
●
●●●
●●
●
●●
●
●
●
●●
●
●●●●●
●●●●
●
●
●
●
●●
●
●
●
●
●
●
●●●●●●●
●
●
●●
●●●●
●●
●
●
●●
●●●●
●
●●
●
●●●
●
●●●
●
●●
●
●●●●
●
●●●●●
●
●●●
●
●●●●●●●●●●
●●
●●●●●
●
●●●
●
●
●●
●●
●●●
●●●●
●
●●
●●
●●
●
●●●●●
●●
●●●
●
●
●
●
●●
●●●●
●
●●
●
●●
●
●
●●●●
●●●●●
●
●●●●●
●
●
●
●
●
●
●
●●●
●
●
●
●
●
●●●●●●●●●●●●
●●
●
●
●
●
●●●●
●
●
●●●●
●
●
●●
●●
●
●
●●●
●
●●●
●●●●
●
●
●●
●●
●
●
●
●
●
●
●
●
●●
●●●●●
●
●
●●●●●●
●
●●
●
●
●
●
●
●
●●●●●
●
●
●●●●
●
●●
●
●●●
●
●
●
●
●●●●
●●
●
●●●●●
●●●●
●
●●●●
●●●●
●
●
●●●●●●
●●●●●
●●●●●●●●●
●
●
●
●
●
●
●●
●●●●●●●●
●●●●
●
●
●
●●●●●●●
●●
●●
●
●●●●●●●●●
●
●●●●●●●
●●
●●●●
●●●●●●
●
●
●
●●
●●●
●●●
●
●●
●
●
●●
●●●
●
●
●
●●
●●●
●
●
●●●●●
●●
●●
●
●●●
●
●
●
●●●
●
●
●
●●
●●●
●●●●●●
●●
●
●
●●
●
●●
●●●●●●●
●●●●●●
●
●
●●
●
●
●●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●●
●●●●
●●
●
●●
●●●●●●
●●●●●●
●
●●
●
●
●●●●
●●
●
●
●
●●●
●
●
●
●●●●●●●●●●●●●●●
●
●●●
●
●
●
●
●
●
●
●
●
●
●●●●●●●●
●●●
●●●●●●●
●
●●●●
●
●
●
●●●
●●●●●
●
●
●●●
●●●
●●●
●●●
●
●
●
●●●
●
●
●●
●●
●
●●●
●
●●
●
●
●●●●
●●●
●●●
●
●
●
●●●
●●●
●
●●●●●●●●
●
●
●
●
●
●●
●●●
●
●
●
●
●
●●●●●●●●●●●●●
●
●●
●
●●●●
●
●
●
●●●●
●
●●●●●●●
●
●
●●
●
●●
●
●●
●
●●●●●
●
●●
●
●
●
●●
●●●
●
●●
●
●●
●
●●●
●
●
●
●
●●
●
●●●
●
●●●●●●●●●●●●●●●●●●
●
●●
●●
●
●
●
●●
●●
●
●
●
●●●
●
●●●●●●●●●●●●●
●
●●●
●
●●
●
●●
●
●●●●●●●●●
●
●
●
●●●
●●
●●●●●●●
●●
●●●
●
●
●●
●●●●●
●●
●
●
●●●●●●●●●●
●
●●●●
●●●●●●●●●
●
●●
●
●●
●
●●●●●●
●
●
●
●●●●●●
●
●
●
●●●
●●●
●
●●
●●
●●●●
●
●●●
●
●
●●●●●
●
●●●●●●●●●
●●●●●
●
●●
●
●
●●
●
●●●●●●●●
●
●●
●
●●
●●●
●
●●●
●●●●●●●●
●●
●●
●
●
●
●
●
●
●●
●●●●●●●
●
●
●
●
●
●
●
●
●
●●
●●
●
●●●●●●●●
●●
●●
●●
●●●●
●●●
●
●
●
●●●●●●
●
●
●
●●●●
●
●
●
●●
●●●
●
●
●●
●
●
●●●●
●
●
●●
●
●●●●
●●●●
●
●●●●●●●●●●●●●●●●●●●●●●
●●
●●
●
●
●●
●●●
●
●
●●●●●
●
●
●●●●
●●
●
●●
●
●
●●●
●●●●
●
●●●●●●
●●
●●
●●
●●●
●
●
●●●●
●●●●
●
●●●●
●
●●●●●●
●
●
●●●●
●●●
●
●
●●●
●●
●
●
●●●●●●●●
●
●●●●●●
●
●●
●●●●
●
●
●●●
●
●
●
●
●
●
●●●●●●
●●
●
●●
●
●
●
●
●●●●●
●
●
●
●
●●
●
●
●●
●
●●●
●●●●●
●
●
●●●●
●
●
●●
●●
●●●
●
●●●●●
●
●
●
●
●
●●●
●●●●
●
●●
●
●
●
●
●
●●●●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●
●
●●
●
●
●●
●●
●
●
●
●●●
●●
●●●
●●
●●●
●
●
●
●
●●
●
●
●
●
●●●●●●
●
●
●
●
●
●
●
●●●
●
●●●●●
●
●
●●
●
●
●●
●
●
●
●
●
●●●●
●
●●●●●●●●
●
●
●
●
●
●
●●●●●●●
●
●
●
●
●●●
●●●●●
●
●●●
●
●
●●
●
●●●●
●
●●●●●
●●●●●
●●●
●
●●●
●
●●
●●●
●
●●●●
●●●
●●●
●●●●●
●●●●●
●●●●●●●
●
●
●
●●
●
●
●●
●●
●
●
●
●●
●
●●●
●
●●
●
●●
●●
●●●●
●●●●●●
●
●
●
●
●●
●●
●
●
●●●●●●●●●
●●
●
●
●●●●●●●●
●●
●
●●●
●●●●●●●●
●
●●
●
●
●
●●●
●
●●
●
●●●
●●
●●●●
●
●●●●●●●●●●●●
●
●●●●●
●●●
●●
●
●●
●
●●●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●●●●●●●
●●
●●●
●
●●
●
●
●
●
●●
●
●
●●●●
●●●●
●
●
●
●
●
●●
●
●●●●●●
●
●
●●●
●●
●
●
●
●
●
●●
●●●●
●
●●●
●●
●●●●●
●
●●●●
●
●
●
●
●●
●●
●●
●
●
●●●
●
●
●●●
●●●●●●
●●
●
●●
●●
●
●●●●●●
●
●
●
●
●
●
●●●
●
●
●●
●●●●
●●
●
●
●●●
●●
●
●●
●
●
●
●●●●
●●●
●●
●
●
●
●
●●
●
●●●●
●
●●●●●
●●●
●
●
●
●
●●
●
●●●●●●●●
●
●●
●●●
●
●
●●
●●●●
●
●
●●●●
●
●
●
●●
●
●●●●●●●●●
●
●
●
●●●●
●
●●●●
●
●●
●
●●●●●●
●●●
●●●●●●
●
●●●●
●
●●
●●
●
●
●●●●●
●
●●●●●●●●●●●●●
●●
●●●●
●●●
●●●●
●
●●
●●●
●
●●●●
●●
●●
●
●●●●●●●
●
●●●●
●
●●
●
●●
●
●
●
●
●
●●●
●●
●
●
●
●●
●●●●
●
●●●●●
●
●●
●
●●●●●●●●
●
●
●●●●●●●●●
●●
●
●
●
●
●
●●●
●
●●
●●●●●
●
●
●
●
●
●
●
●●●●
●
●●●●●
●●
●●
●●●●●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●●
●
●●●●●●
●●
●
●
●
●
●
●
●
●
●
●●●
●●
●●
●●
●●
●
●●
●
●●●●●●●●●●
●●
●●●●●●●
●
●
●
●●
●
●●
●
●●●●●●
●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●
●
●●●●●●●
●
●
●
●●●●
●
●●
●●
●●●●●●●●
●
●●●●●
●
●
●●
●
●●
●
●●●●
●
●●
●
●
●
●
●●●
●●
●●
●
●●●
●
●
●
●●●●●●
●●●
●●
●●
●
●●●
●
●●●●●
●●●
●
●
●●●●●●
●
●
●
●
●
●●●●●●●●●●
●
●●●
●
●
●●●●●●●●
●●●●●
●
●●●●●●
●●●●●●●●●
●●
●●●●●
●●●●
●●
●
●
●●●●●●●●
●
●●●●●●●●●●●●●
●●
●
●
●●●
●●●●●●●●●
●
●
●●●●●
●
●●●●
●●
●
●
●
●
●●●●●●
●
●
●●●
●
●
●
●
●●●●●
●
●
●●●
●
●
●
●●●●
●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●
●●●●●●●●
●
●●●●●●●●●●●●●●●●●●
●
●●●
●
●●●●●●
●●●●●●●●●●●●●
●
●●●●●●●●●●●●●●
●●●●●●●●●
●●●●●●●●●●●●●●●
●●●●●●●●●
●
●●
●●●●●
●
●●
●
●
●
●
●
●
●●
●●●●●●●
●●
●
●●●●●●●●●●●●●
●
●●●●
●●●●●
●
●●●●●●●●●●●●
●
●●
●●
●●●
●
●
●●●
●●
●
●
●
●
●
●
●
●●
●
●●●●●●
●
●
●●
●●
●●●
●
●
●●●●●●●●●●●
●●●●
●
●
●●●●
●●
●●●●●●●●●●
●
●
●●
●●●●●●●
●
●●
●
●●●
●
●●●●●●●●●●●●●
●●
●●●●
●
●●●
●●●●●●●●●●●●
●●●
●●●●●
●
●●●●●●●
●●●●●●
●●●●●●●
●
●
●
●
●●●●●
●●
●●●●●
●
●●●
●
●●●●
●●
●
●●●●
●
●●
●
●
●
●●●
●
●●●●●●●●●
●●●
●
●●
●
●●
●●
●
●●●
●
●●●●●●●●●●
●●●
●
●
●●
●●
●●
●
●
●
●●●
●●●●●
●
●●●●●
●●●
●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●
●●
●
●●●
●
●
●
●
●●●●●●●
●●●●●●
●
●
●
●●
●
●
●●●
●
●
●●
●●
●●●●●
●
●●●●●●
●
●
●●●
●●
●●
●
●●
●
●
●●
●
●●
●●●●●
●
●●●
●
●●●●●●●
●
●
●
●
●●
●●
●●
●●
●●
●
●
●●●●●●●
●●●●
●
●●
●
●●●
●●●●●●
●
●●●●●●●●
●
●
●
●
●●●●
●●●●●●
●●
●
●
●
●●●
●
●
●
●
●●
●
●●●●●●●●
●
●
●
●●●●●
●
●
●
●●●
●
●●
●●●●●
●
●
●●●●●●
●●●
●●
●
●●
●
●
●
●
●
●
●●
●●
●●●
●
●
●
●●●●●●
●
●
●
●
●●●●
●
●
●
●●
●
●
●●
●
●
●●
●●●
●●
●
●●●●
●
●
●●●
●
●
●
●
●●●
●
●
●
●
●
●
●●
●
●●●
●●●●●
●●●
●●●
●
●
●
●
●●●
●
●●●●●●●●●●●
●●●
●●
●●●●●●
●
●●●
●●●
●
●●●
●●
●●●●●
●
●
●●●
●
●●
●
●
●●●●●●●
●
●
●●
●
●
●
●●
●
●
●
●●●●●
●●
●
●
●●●●●●●●●●
●
●
●●●●●
●
●
●
●
●●●
●
●●●●
●●●●
●
●
●
●
●●
●●●●●
●
●●●●●●
●
●●●
●
●
●
●●●●●
●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●●●
●
●●●●●●
●
●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●
●
●
●
●
●●
●
●●
●●
●●●
●
●
●
●
●
●●●●●●●●
●
●●●●●●●
●
●
●
●
●●
●●●●●●●●
●
●●●●●●●●●●●●●
●●
●
●●●●●●●●
●●
●
●
●●●●
●
●●●●●●●●●●●●●
●
●
●
●●●●●●●●●
●
●●●●
●
●●●●●
●●
●●
●
●●●●●
●●●
●
●●
●●●●
●
●●
●
●●
●●
●●●●●●●●●
●
●●
●●●
●
●
●
●●●●
●
●●
●
●●
●
●●●
●
●
●
●●●
●
●
●
●●●●●●●●
●
●●●
●●●●●●
●
●●●
●
●
●●●
●
●●●
●
●●●
●●●
●
●●●●●
●
●
●●●
●
●●●
●●
●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●●●
●
●●
●●●
●●
●●●●●
●●●
●●●●●●●●●●●●●●●●
●
●●●●●●●●●
●
●
●●●●●●●●●●
●●●●
●●●●●●●●●●●
●
●●●●●●
●
●●●●●●
●●
●
●
●●●●●●●●●●●
●
●●●●●●
●
●
●
●●
●
●
●●
●●●
●
●
●
●●
●
●●
●
●●●●●●●●
●●
●●
●
●
●
●●
●●●●●●●●●●●●●●
●
●●●●●
●
●
●●●
●●●
●
●●●●
●
●●●●
●
●
●●●
●
●●●●
●
●
●●●
●●●●●●●●
●
●●●
●●●●
●●●
●
●●●
●
●●●●
●
●●●●●
●
●●
●
●●
●●●●●●●●●●
●
●●●●●●●●●●●●●●●●●●
●
●●
●●
●●●●
●
●●●●
●
●●
●
●
●●●
●
●●●
●●
●
●
●●●
●
●●●
●
●●
●●●
●
●
●
●
●●●
●●●●●●●●●
●
●
●
●●●
●●●●
●●
●●●●●●
●
●
●
●
●●●●
●
●
●
●●
●
●
●
●●●
●
●●
●●
●
●●●●●●●●
●
●
●
●
●
●
●
●
●●
●●●●
●
●
●
●
●●●
●
●●
●
●●
●
●●
●●●●●●
●●
●●●●●
●
●
●●
●
●
●●
●●●
●
●
●
●●
●●
●●
●
●
●●
●
●●
●
●
●
●●
●
●
●
●●●●●
●
●
●●●●
●
●
●
●●●●●●●●
●●●●
●
●●●●
●●●●
●
●
●●●
●
●
●
●
●●●●●
●●●●●
●
●●
●
●●●●●●●●●
●●●
●
●
●●●●●
●●
●
●
●●●●●
●
●
●●
●●
●●
●
●●●●●
●
●●●
●
●●
●●
●
●●
●●●●●●
●
●●
●●●●●●●
●
●
●
●
●
●
●
●●
●
●
●●●●
●
●●●
●
●
●
●●●●●
●●●●●
●●
●
●
●
●
●●●●●●●●●●
●●
●●●
●●
●●●●
●●
●
●●●●
●●●●●●
●●
●
●
●
●●
●
●●●●
●
●●
●
●●●
●
●
●●
●
●●
●●
●●
●
●●
●
●
●
●
●●●
●
●●●
●
●●●●
●●
●
●●
●●●
●
●
●●●
●●
●
●●●●
●
●
●
●●●
●●●●
●
●●●●●
●●●
●●
●
●
●●●
●
●
●
●
●●●●
●
●
●
●●
●
●
●
●●●
●
●
●
●●
●
●●●●
●●●
●
●●●●
●
●●●
●
●●●●●●●
●●●●●●●●
●
●●●●
●
●
●
●
●
●●●●●●●
●
●●●
●●
●●●●
●
●●●
●●
●●
●
●
●
●
●
●
●●
●●●●●
●●●●●
●●
●
●
●●●
●
●
●●
●●
●●
●
●
●●●●
●
●●●
●●●
●●●
●●●
●
●
●
●●●
●●
●●
●
●
●
●
●●●
●●
●
●●●
●
●●●
●
●
●
●
●
●
●●●●●
●
●
●●
●
●
●●●
●●●●●●●●●●●●●●●
●
●●
●●
●
●●
●●●●●●●●
●
●●●●●
●●
●
●
●
●
●●●
●
●
●
●
●
●●
●
●●
●
●●●
●●●
●
●
●●
●●●●
●
●●
●●
●●●●
●●
●
●●
●●
●●●
●
●
●●●
●●
●●●
●
●
●●●
●
●●●
●●
●
●●
●
●●●
●●
●
●●●●●●●
●●●
●●
●
●
●
●●●
●●
●●●
●●●●●●●
●
●●●
●
●●●
●
●●
●●●●●
●
●●●●
●●●
●
●●●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●●●●
●
●
●●●●●
●●
●
●●●●●
●
●
●
●
●
●
●●●
●●●●●●
●
●
●●
●●
●
●●
●●●
●
●
●
●
●●
●●
●
●
●●●●
●
●●●●
●●
●●●●
●
●●
●●
●
●●
●●
●
●
●
●●
●
●
●
●
●
●●●●●
●
●
●
●●●
●
●
●
●●
●
●●●
●●●
●
●
●
●●●●●
●●●
●●
●
●●●●●●●
●
●●●●●●●●●●●●
●
●
●
●●●
●
●●●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●●
●●●
●
●●●
●
●●
●●
●●
●
●
●●●●●●●●●
●
●
●●●
●
●●●●●●●
●
●●●●●●
●
●●
●
●
●
●
●●
●●
●
●●●
●
●
●
●
●●●●●
●
●
●●
●
●
●
●
●
●●
●
●●●●
●
●●●
●
●
●
●●
●
●
●
●●●●●
●
●●
●●●
●●
●●●●●
●
●●
●
●
●●●●
●●
●
●●●●●●
●●
●
●●
●
●
●
●
●●●●●●●
●
●●●●●
●
●
●
●●●●●●
●●
●●●
●●●
●
●
●●●
●
●●●
●
●●●●●●●●●●
●
●●●●●●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●●●●●
●●
●
●
●
●●●●●
●
●●●
●●●●●●●●●●●
●
●●●●
●
●
●
●
●
●●
●●●
●
●●●
●
●
●●●
●●●●
●
●●●●●
●
●
●●
●●
●
●●
●
●●●●●●
●
●●●●
●
●●●●●●●
●●●●●●●●
●
●
●●●●●●
●●●●●
●
●●
●●
●
●●
●
●
●
●●
●
●
●
●
●●
●●●●
●
●
●
●
●●
●●●●●●●
●●
●●
●●
●●●●
●
●
●
●
●●●
●
●
●
●●●●●
●●●●●
●
●●●
●
●●
●
●●●●
●●●●
●●●●
●
●
●●●
●●
●●●
●
●●●●
●●●
●
●
●●●
●
●●●●
●●●
●
●●
●●●●
●
●
●
●●
●●●
●
●
●
●●●
●●●
●●●●
●●●●●
●
●●●●●
●
●●●●
●
●
●
●
●
●●●
●
●
●
●
●●
●
●●●●●●
●
●
●●
●
●●
●●●●
●
●●●
●●●
●
●
●
●●
●
●
●
●●●●●
●
●●
●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●●●●
●●
●
●
●●●
●
●●●
●
●
●●●
●●●
●●●●●●●
●
●●●
●
●
●
●●●●●●●
●
●●
●
●●●●
●
●
●
●
●
●●
●●
●●●●
●●●
●
●●●
●●●●●
●
●
●●●
●●●●
●●
●
●
●●
●●
●
●
●
●●
●
●●●
●
●●
●●●●●●●●
●
●●●●●●
●
●●
●
●●●●●
●
●●●
●●●●●●
●●●●●●
●
●●
●
●●
●●
●
●
●
●
●●
●
●
●●●●
●
●
●
●
●
●
●●
●●●
●
●●●●●
●
●
●
●●●●
●
●
●
●
●●
●
●●
●
●
●●●●●
●
●●●●●●
●
●
●●●
●
●●●●●●●●
●
●
●
●●
●●●
●
●●
●●
●
●●
●
●
●
●●
●
●
●
●
●
●●●●
●●●
●
●
●●
●●●●●
●
●●●
●
●
●●
●
●
●
●●●
●●●
●●●
●
●●
●
●●●●●●●●
●
●●●
●
●
●
●●●●●●●●●●
●
●●
●
●●
●
●●●●
●
●●●
●
●
●●
●●●●●●●●●●●●
●●
●●
●●●
●●●●●●●●
●
●●●●●
●●●●
●●
●
●●●●●●●●●●
●●●●
●
●
●
●●●●●●●●●●●
●●●●●
●●●●
●●
●
●
●
●●●●●●
●
●●●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●●
●
●
●●●●●●
●●●
●●●
●
●●●
●
●
●●
●●●●●●
●
●
●
●●
●
●●
●
●●
●●
●●
●
●●●●
●●●
●
●
●●●
●
●
●
●
●●
●
●
●
●●●●●●●●●●
●●
●●●●●
●●
●
●
●
●
●
●
●
●●
●●
●●●
●
●●●●
●
●●●●●●●
●
●
●●●
●●●●●●
●
●
●
●●●
●●●
●
●
●
●
●
●
●
●●
●
●
●●●●●
●
●●●●●●●●●
●
●●●●●●
●●●●●●●●●●●●●
●●●
●
●●●●●
●
●
●
●●●●●
●●●●●●
●●●
●●
●
●
●
●●
●
●
●●●●●●●
●
●
●●●●●●●●●●●●●
●
●●
●
●●
●
●●●
●
●●●●
●●●
●
●
●●
●●●●
●●
●
●
●
●
●
●
●
●
●●●
●●●
●●
●
●●●
●
●●
●●●●●●
●●●●●
●●
●
●●●
●●●
●●●
●
●
●●●
●
●●●
●●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●
●
●
●●
●●
●●●
●
●
●
●
●
●●
●
●●●●●●●
●●
●
●●
●
●●●
●
●●●●●●●
●
●●●●
●
●●●
●
●●
●
●●
●
●●●●●●
●●●●
●
●●●
●
●●
●
●●●
●●
●
●
●●●
●●
●●
●●●●●●●
●
●●
●
●
●
●
●●
●●●●
●
●
●
●
●
●
●●●
●●
●
●
●●●●●
●●●●●●
●●
●
●
●
●●●●●●●●●●●●
●
●
●
●
●
●●●●
●
●●
●
●
●●
●●●●●●●
●●
●
●●●
●
●
●
●●
●●●
●
●
●●
●
●
●
●
●
●
●●●
●
●●
●●
●●
●
●●
●●
●●
●●
●
●●●●
●
●
●
●
●●
●●
●
●●●
●
●●●
●●●
●
●
●
●
●●
●
●
●●●
●
●
●
●
●●
●●
●
●
●●
●●
●
●
●
●●
●
●
●
●●●
●
●
●●●●●
●
●●●
●●●●●●●
●
●●
●●
●●●●●●
●●
●
●●●●●●●●●●
●
●●●●●●●
●
●●●●
●
●●●
●
●●●
●
●
●
●●●●●
●
●●●
●●●●●
●
●●●●●●●
●
●●●●●●●●
●
●
●●●
●
●●●●●●●●
●
●●●●●
●●●
●
●
●●●
●
●●●●●●●●●●●●●●●●●●●●
●●●
●
●
●
●
●
●
●●●
●●●●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●●●
●
●●●
●
●
●
●●●●
●
●
●
●
●
●
●●
●●
●
●●
●
●
●
●●●
●●●●●
●●
●●
●●●●●●●
●●
●
●
●
●●
●
●●●●●
●
●
●●
●●
●●
●●●●
●
●
●
●
●
●
●●●●●●
●
●●
●
●
●
●●
●
●
●●
●●●
●
●
●
●●●●
●
●
●
●
●
●●●
●●
●●●●●●
●
●
●
●
●●●●●●●●
●●
●●●●●●
●●●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●●
●●●●
●●
●●●●●
●
●●
●●●●●●●●●●●●●●●●●
●
●●
●●●●●
●●
●
●●
●
●
●●●
●●●●
●
●
●
●
●
●●●●●●●
●
●●●
●
●●
●
●●●
●
●●
●
●●●●●●●●
●
●
●
●●●●
●●
●
●●
●
●
●●●
●●●●
●
●
●
●●●●●●●●
●
●●
●
●
●
●
●●
●
●●
●
●●●
●
●
●●●
●
●
●
●
●
●●●●●
●
●●
●
●
●
●●
●
●●
●●●●●●●●
●
●
●
●
●●
●
●●●●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●●●●●
●
●
●
●●
●●●
●●●
●●●
●
●●
●●
●●●●●●●
●●●
●
●
●●●●
●
●
●
●●
●●
●
●●●●●●●
●
●●●●●
●
●●●
●●●●●●
●
●
●
●●●●●●●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●●●●
●
●●●●●●
●●●
●●
●
●
●●●●
●
●●
●
●●●●●
●●
●
●●
●●●●
●
●
●
●●●●●●
●
●
●
●●
●
●●
●
●●
●●●
●●
●
●●
●●
●
●
●●●●●
●
●●●●●●
●●
●●
●
●
●●●●●
●●
●
●●●
●
●
●●●●●
●
●
●
●
●●●
●
●●●●●
●●●
●
●●
●
●
●●●●●●●●●
●
●●●●
●
●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●●●
●●●
●●
●●●●
●
●●●
●
●●●●
●
●
●●
●
●
●●●●
●
●●●●●●●
●●●
●
●
●●●●
●
●
●●●
●●●●●●●●
●●
●●●
●
●●●●
●
●●●●
●
●
●●
●
●
●
●
●●●
●
●
●
●●●●●●●●●●
●
●●●
●
●
●
●
●●
●●●
●●●●●●●●●●●●●●●●●●●●●●●●●●
●
●●
●
●
●
●●●●●●
●
●●●
●
●
●
●
●
●●●●●●
●
●●
●
●
●
●
●●
●
●●
●●
●●
●●●●
●●
●●
●
●●
●
●
●●
●●●
●
●●●●
●●●●●
●
●●●
●●●
●●
●
●●●●●
●
●●
●
●
●
●
●●
●●●
●
●
●●
●
●
●●●●●●●●●
●
●
●
●●●●●●●
●
●
●●
●●
●●●
●●●●●●●●●
●
●
●●●
●
●●
●
●●●
●
●●●
●
●
●
●
●
●●●●●●
●
●
●
●
●
●●●
●●●●●●●●
●
●
●●●●
●
●
●
●●
●
●●
●●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●●
●
●
●●
●
●●
●
●
●
●●
●
●●
●
●
●
●
●
●●
●
●●●●
●
●
●
●
●
●
●
●●
●●●●●
●
●●●●●●●●●●●●●
●●●●
●
●
●
●●
●●
●●●●●●
●●●
●●
●●●●●
●
●
●
●
●
●
●●●
●●●●
●
●●
●
●
●
●●●
●
●
●
●
●●●
●
●●●●●●
●●
●●●●●●●●●●●
●●
●
●●
●●
●
●
●
●●●
●●
●
●●
●●●●
●
●●
●
●●●
●
●●
●
●●●
●
●●
●●
●
●●●
●●●
●
●●
●
●
●
●●
●
●●
●
●
●●
●
●●●
●
●●
●
●●●●
●
●
●
●
●●
●●●●●●●
●●●
●
●
●●●●●●●
●●●●●●●●●
●●
●●●●
●
●
●
●
●●●
●
●
●
●
●
●●
●
●●
●
●●●●●●●●●
●●●
●●
●
●●
●●
●
●
●
●
●●●●
●
●
●
●
●●●●
●
●●●●●●●●●
●●●●
●●
●●
●●●●
●
●
●
●
●
●●●●
●●●●●●
●
●●
●
●
●●●
●●●●
●
●●●●
●●
●●●●●
●●●●●
●●●●●●●●●●●●●
●
●●●
●●
●●
●●
●
●
●●●●●
●●
●
●●●●
●●●●●●
●●
●
●
●●
●●●●●●●
●
●●●●
●
●
●●
●●●
●
●
●●
●
●●●
●
●
●
●
●
●
●●●●●●●
●
●●●
●
●●
●
●
●
●
●●
●●
●
●●●●●●
●
●●●●●●●●●●●●●●●●
●●●●●●
●●
●●
●●●●
●●
●●●●
●●
●
●●
●●●
●
●
●
●●●●
●●
●
●●
●
●●●●●
●
●●●●
●
●●
●
●●●●●
●●
●●●
●
●●
●
●●
●●
●
●●●
●
●
●●●●●●●●●
●●
●
●
●●●●●●
●
●
●●●●●
●
●●●●●
●
●
●
●●●
●●
●●●●●●
●
●●●●●
●
●
●
●
●
●
●
●
●●
●●●●●●●
●
●●●●●●
●
●●
●●●●●●
●
●●●●
●
●●
●
●●●●
●●●
●●●●●●●●●
●
●
●
●●●●
●
●
●●
●
●
●●
●
●●●●
●
●
●
●
●●●●
●●●
●●
●●
●
●●
●
●
●
●
●●●
●●
●●
●
●
●●●●
●
●
●●●
●●●●
●●●●●●
●●
●
●●
●
●
●
●●
●●●●●
●●●
●
●
●●
●
●
●●●●●●●●●●●●●●●
●
●●●●●
●
●●
●
●
●●
●●
●●
●
●
●
●
●●
●●●
●
●●●
●
●●●
●●●●
●
●●●●
●●●●
●
●●
●
●●●●
●
●●●●
●
●●
●●●●●
●●
●●
●●●
●
●●●●
●●
●
●
●
●●●●●●●●●●
●
●●●
●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●●
●
●●●
●●●●●●●
●
●●●●
●●
●●
●
●●●●●●●●●●
●●●●
●
●●
●
●●
●
●●●●●●
●
●
●●●●●●●●
●
●●
●
●●●●
●
●●●●●●●●
●●●●●●
●
●
●
●●●●●●
●
●●●●
●●●●●●
●●
●
●
●●●
●●●●
●
●
●●●●
●
●
●●●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●
●●
●
●●
●●●●●●
●
●
●
●
●●
●
●●●●●
●
●
●
●●●
●●●●
●●●
●
●●●
●
●●●●●●●●●●
●
●
●
●●●
●●●●●
●
●
●●●●●●●
●●
●●●●●●●●●●●●●●
●●
●
●●●●●●
●●●●●●
●●●●●
●●●●●
●
●
●●●●
●●●
●●●●●●●●●●●●●●
●●
●
●●●●●●●●●●●●
●●●●●●●
●●
●●
●
●
●●●
●
●●●●●
●
●●●●●●●●●●●●●
●●●
●
●●●●●●●●
●●
●●●
●
●●
●●
●
●●●●●●●●●
●
●●●
●
●●
●●
●
●●●●●●●
●
●●
●
●●●
●
●
●●
●●
●
●●●●●
●
●
●●
●
●
●
●●●●●
●●
●●
●
●
●
●●●●●●●
●
●
●
●●●●●●
●
●
●
●●●
●
●
●
●
●
●
●
●●●●●●●
●
●
●●
●
●●
●
●●●●●●
●●
●
●
●●●
●
●●●
●●●●
●●
●●
●●
●●●●●●●
●
●●●
●●●●●
●
●●●
●●
●
●●
●●
●
●●●
●
●●
●●●●
●
●●●
●●
●●
●
●
●
●●●●
●●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●●
●
●
●
●●●●
●
●●●
●
●●●
●
●
●
●
●●
●●●
●
●●
●
●
●●●
●
●●●
●●
●●
●
●●
●
●●●●
●
●
●
●
●
●
●
●●
●
●●
●
●
●
●●●●
●
●
●
●●●
●
●●
●●●●●●●●
●●●●●
●
●●●●●●●●●●●●
●
●●●●●
●●●●
●●
●
●
●●
●●●
●●
●●●
●●
●●
●
●●●
●●
●
●
●●
●●
●●
●
●
●●●●
●
●●●
●
●
●
●
●●
●
●
●
●
●●
●
●●
●
●
●●
●
●●●●
●
●●●●●●●●●●●●
●
●
●
●
●
●
●
●
●●●
●
●
●
●●
●
●
●
●
●●●
●
●
●●●
●
●●
●
●
●●
●●
●
●●
●●
●●
●●●
●
●
●●●●●
●●●●
●●●
●●
●●●●●
●●
●●●●●●●
●
●●
●
●●
●
●
●
●
●
●●
●●●●
●●●●
●●●●●●●●●●●
●●
●
●
●●●●●●●
●
●●
●
●●●
●
●
●●●●●●●
●
●
●
●
●
●
●●●●
●●●
●
●●
●●●
●
●
●
●
●
●●●●
●
●
●
●
●●
●
●●
●
●●
●●
●
●
●●
●●●●
●●
●●●
●
●●
●
●●●●●
●
●
●
●
●
●●●
●
●
●
●●
●●
●●
●
●
●●
●●●
●●●●●●
●●
●
●
●●●●●●
●
●●●●
●
●●●
●●●●●●●●
●
●
●
●●●
●
●
●
●●●●●●●●●●
●
●●
●●●●●●●●●
●●
●
●
●●
●●●●●
●
●●●
●
●
●●●●●
●●●
●
●●
●
●●●●●●●●
●
●●●●●●●●
●●●●●
●
●
●
●
●
●●●
●●
●
●
●●
●●
●●●
●
●
●
●●●●●●●
●
●●●●●
●
●
●●●●
●●
●●
●●
●
●
●●●●
●
●●●
●●
●
●●●●●●
●
●
●●●
●
●●●●●
●
●
●
●
●
●
●
●●
●
●●
●●
●
●
●
●
●
●
●●●
●●●
●
●
●
●●
●
●●
●●●
●●●
●
●
●
●●
●
●●●●
●
●●●
●
●●
●●
●●●
●
●●
●
●
●
●
●●●●●●●
●
●
●●●●●●
●●
●
●
●
●
●
●●
●
●
●
●●●●
●
●●●●●
●●
●●
●
●
●
●
●
●
●
●●●
●
●●
●●●●
●●●
●
●
●●
●
●
●●
●
●
●●●●
●●
●●●●
●●●
●●
●●●●●
●●●●●●
●●●
●
●●●
●●●●
●●
●
●
●
●●
●●
●
●●●●●●
●
●
●●●●
●
●●●
●
●●●●
●
●
●
●
●●
●
●
●●
●●
●●●●●●
●
●
●
●●●
●
●●●●
●
●●
●
●●●●
●●
●
●
●●●●
●
●
●●●
●●●●●
●
●●
●●
●●
●●●
●●
●
●●●●
●●
●
●●
●●●●●●
●
●
●
●
●●●●
●●●
●
●
●●●●
●●
●●
●
●
●●
●●
●●●●
●●●●●●
●
●●●●●
●●●●
●
●
●●●
●●●
●
●
●
●●
●
●●●
●
●●●●●●●●
●
●
●
●
●
●●
●
●
●●●●●
●●
●
●
●
●
●
●●●●
●
●●●
●
●●
●
●●●●●
●
●
●●
●●
●
●
●●●
●
●●
●
●
●●
●●
●
●
●●
●●
●●●●
●●
●
●
●●
●
●
●●
●
●
●●
●
●
●●
●●●
●
●
●
●
●
●
●●
●
●
●
●
●●
●●
●●
●●●
●
●
●
●●●
●
●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●
●●●●●●●●●●
●
●
●
●
●●
●●
●
●●●●●●●●
●
●●
●
●●●
●
●
●●
●●
●●●●●●●●●●
●
●●●
●●●●
●●●
●●●
●●●●
●
●●●
●
●●●
●
●
●
●
●●●●
●
●●●
●
●●●●●●●●
●●●●●●
●●●●
●
●●●●●●●●●●●
●●
●●
●●●●●●
●
●●
●
●●
●
●
●●
●
●●
●
●
●
●
●●
●●
●
●●●●●
●●●
●
●●●
●●●●
●●
●
●
●●
●●
●
●
●●
●●
●●●
●
●
●
●●
●
●
●
●●●●
●
●●●
●
●
●
●
●●●●●●●●
●●
●
●
●●
●●●
●
●●●
●
●
●●
●
●●●
●●
●●●●●●●
●●
●
●●●●●
●
●
●
●●
●●
●
●
●
●
●●●
●●●●●
●
●●●●●●
●
●
●●
●
●●
●●
●●
●●
●●●
●
●
●
●
●
●●
●
●●●●●
●
●
●●●
●●
●●
●
●
●●●●●
●
●●●●
●●●●
●
●
●
●
●●
●●
●●
●
●
●●
●●
●●
●●
●●●●●●●
●
●
●
●
●●
●
●
●
●●●
●●●●●●
●●
●
●
●
●
●●●
●
●●●●●
●
●●●
●●
●●
●●
●●●●●●●●●●●●●●●●●●●
●●
●●●●
●
●●
●●●
●
●
●
●●
●
●●
●●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●
●
●●●
●●●●●●●
●●
●
●●
●
●●
●
●●
●
●
●
●●
●
●●
●●●
●
●●
●
●●●●
●●●●
●
●
●
●
●
●
●●●●●●
●●
●●
●
●
●
●●
●●
●
●●●●●●
●●●
●
●
●●
●
●
●
●
●
●●●●
●
●
●
●●●
●●
●●●
●
●●●
●
●●●
●
●
●
●●●●
●
●●
●
●
●
●●●●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●●●●●●
●
●●●●
●●●●●●●●
●
●
●●●●●
●●
●
●●●
●●●●●●
●
●
●
●●●●●●●●
●
●●●●●
●
●
●
●●●●
●
●
●
●●●
●
●
●●●●●
●
●●●●●
●
●●
●
●
●
●
●
●
●
●
●●●
●
●●●
●●●●
●
●
●
●●●●
●●●
●
●
●●●
●●●●●●
●
●●●●●●●●●
●
●●
●●●
●
●●●●
●●●
●●●
●
●●●●
●
●
●
●
●●
●
●
●●●
●●
●●●
●
●●
●●●
●●●
●●
●●●●
●
●●
●●●
●
●●
●
●
●
●
●
●
●●●
●
●●●●●●●●
●●●
●
●
●
●
●
●●
●
●
●
●
●
●
●
●●
●●●●
●●●
●
●
●●●●●●●●●
●●●●●●●●●
●
●●
●
●●
●●●●●
●
●●●
●
●●
●
●●
●●
●
●●●
●
●●
●
●
●
●●●
●
●
●
●●
●●●
●
●
●●●
●●●
●●
●●●●●
●
●●●
●●
●●●●
●
●●
●
●●●●●●●●
●
●●●●●●●●●●
●
●
●
●●●●
●●
●
●●●
●
●
●
●●●●●●
●
●
●●
●●
●
●
●●
●
●●●
●
●
●
●
●●●
●
●●●
●●●
●
●
●
●
●●
●
●
●●●
●
●
●
●
●●●●●
●
●
●
●●
●●
●●●●●●●●●●
●●●●●●●●●●●
●
●
●
●
●
●●
●
●●●●●
●
●●●
●
●●●
●
●
●
●
●●
●●
●
●
●
●●●●●
●
●
●●
●
●●●●●●
●
●
●●●●
●
●●●●
●●●●
●
●●●
●●●●●
●
●●●
●
●●●
●
●
●
●
●●
●
●
●●
●
●●●●●
●●●●
●
●
●
●
●●
●●
●
●●●●
●
●
●
●
●
●
●
●●●●●●●●
●
●●
●
●
●
●●
●●●
●●●●●●●
●●●
●
●
●
●
●●
●●
●●
●
●●●
●
●
●●●●
●●●
●
●
●
●
●
●●
●
●●
●
●●
●●●●
●●●
●●
●●●●
●
●
●●●●●●
●●●
●
●
●●●●
●●
●
●
●
●●●●
●●
●●●●
●●
●●
●●●
●●
●
●●
●●●●●●●●●●●●●●●
●●
●
●
●●●
●●●
●
●
●●
●
●●
●
●
●
●●●●●●●●●
●
●●●●
●●●
●
●
●
●●●●●●●●
●
●●●●●
●●●●●●●●●●●
●
●
●●●●
●●
●●●●●●●
●
●●●●●●
●●
●
●
●●
●●
●
●●●●●
●
●
●
●●●●●
●
●
●
●
●
●
●●●●
●●●
●●
●
●●●●●
●
●
●●
●●
●●
●●●
●
●●●●●●●●●●●
●●●●●
●●
●●
●●●●●●●●●
●
●●●●●●●●●
●
●●
●
●
●
●
●
●
●
●●●●
●
●
●●●●●●●●
●
●
●
●
●●●●●●
●●●●●●
●●
●
●
●●
●
●●
●●●●●●
●●
●
●
●
●
●
●
●●●●●●
●
●●
●
●●
●●
●
●
●
●●●●●
●
●●
●
●
●●
●
●
●●●●
●●●
●
●
●
●●
●●
●
●●●●●
●
●●
●
●●
●●
●
●●●●
●●●●●●●
●●
●●●
●
●●
●
●
●●
●
●
●●●
●
●●
●
●
●
●●●●●●●●●●●
●●
●●●●●●
●
●
●
●
●
●●●
●●●●●
●
●
●
●
●●
●
●
●
●●●
●●●●●●
●
●
●●
●●●●●
●
●●
●
●●
●●
●
●
●
●●
●
●●
●●●
●
●
●
●
●
●●
●
●
●
●●●
●
●●
●
●
●
●●●●●
●
●
●●●
●
●
●
●●●●●
●
●●●
●
●●
●●●●
●
●
●●
●
●●●
●●●●●
●
●●●●●●
●●
●
●●●●
●●●
●●
●
●
●
●
●
●
●
●●●●
●
●●●
●●●
●
●●
●
●
●
●●●
●
●
●●
●●●
●
●
●●
●
●
●
●
●
●
●●●●●●●●
●●●
●
●●●
●●
●●●●●
●●●
●●
●
●
●
●●
●●
●●●
●
●
●
●●
●●
●●
●
●
●●
●
●●
●
●●●●
●
●
●
●
●
●
●
●
●
●●●●●●●●●
●●
●●
●●●
●●●●●●
●
●
●●●
●●●●●●●●●
●
●●●
●
●●●
●
●
●
●●
●●●
●●●●●●
●
●●●
●
●●●●●
●
●●●●●
●
●
●
●
●●●
●
●●
●
●●●
●
●●●
●
●●●
●●
●
●●
●
●
●●
●
●●●●●●●●
●●
●●●●●●●●
●
●●●●●
●
●
●
●●●●●●●●●●●
●●
●●●
●
●
●●
●●
●●●●
●
●
●●●●●
●●●●●●
●
●●●●
●●●●●
●●
●
●●●●
●●
●
●
●●●●●
●
●●●
●
●
●
●
●
●
●●
●●
●●●●●
●●●
●
●●●●
●
●
●
●●
●
●●●●●●
●●●
●●●●
●
●●●
●●●●
●
●●●
●
●
●●●
●●●●
●
●●●●●
●
●
●
●
●●
●●●
●
●
●●
●
●
●
●●●●●
●
●
●●●●●●●●●
●●●●●
●●●●●●●●●●●●●●
●
●
●
●●●●●●●●
●
●●●
●
●●●●●●●
●
●
●●●
●
●
●
●
●
●●
●
●
●
●●●
●
●●●●
●●●●●●
●
●
●●●
●●
●
●●
●
●
●●
●
●
●
●●
●
●●●
●●●
●
●●
●●●●
●●●
●●
●
●●●
●●
●●●●●
●●
●
●●●●●●
●●●●
●●●●●●
●●
●●●
●●●●●
●●
●●●●●
●
●
●●
●●●●●●●
●
●●●●●●●●●
●
●●●
●●●
●
●●●
●
●●●
●
●
●
●●●●●●●●●●●●●●●●
●
●●
●●●●●
●●
●
●●
●●
●●
●●
●
●●●
●●●●
●●
●
●
●
●
●●●●●
●●
●
●●●
●
●●
●
●
●●●●●
●
●●●●●●●●
●
●
●
●
●
●●●●●●●●●
●
●●●●●●●●
●
●
●
●●
●●
●
●
●●●●
●●
●
●
●●●
●●●●
●
●●●●
●
●●
●
●●
●
●
●
●●
●
●●●●●●
●
●●●●●●●
●●●●●
●●
●
●●
●
●
●
●●●●●
●●
●
●●●●
●
●●●●●●●●●
●●
●●
●
●●
●●
●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●
●●●●
●●
●
●●●
●●●●
●●
●●
●●
●●●●●
●
●
●
●
●
●
●●●●●
●●
●●
●●●●
●
●
●●●●
●
●
●●●
●●●●
●
●
●
●●●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●●●●●
●●●●●●●●●
●
●
●
●●●●
●●●
●
●
●
●
●●●
●●
●●
●
●●●
●●
●
●
●
●
●
●
●●●●
●
●●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●●●●
●
●●●●●●●●●●●●●
●
●●
●●
●
●●●●●●●
●
●
●●
●●●●
●
●
●
●
●
●
●
●
●●
●●●●
●
●
●
●
●●●●●●
●●
●
●●●
●●
●
●
●●●●
●
●
●
●
●●
●
●●
●●
●●
●
●
●
●●
●
●●
●
●●●●●
●
●●●●●●●●●●●●●
●●
●
●
●●
●
●
●●●●
●
●
●●
●●●●
●
●
●●●
●●●●●●●●●●●●●●
●
●●
●
●●
●
●
●
●●●●
●
●
●●
●
●
●
●●●
●●
●
●
●
●●
●
●●
●
●
●
●
●●●
●
●●●●●●●●●●●●●●
●
●
●
●●●
●
●
●
●
●
●
●
●●●●●●●
●
●●●
●
●●●●●
●
●●●●●●
●●●
●
●
●●●●●●
●●●
●
●●
●
●
●●
●●●
●●
●
●●●
●
●
●
●
●
●●
●●
●●●●●●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●
●
●●●●●●●
●
●
●
●
●
●●
●●●●
●●●
●
●
●
●
●●
●●●
●●●
●
●
●
●●●
●
●
●
●
●
●
●
●●
●
●
●●●●
●
●
●
●●●
●●●
●
●
●●●●
●●
●●
●●
●●
●●●●●
●
●●●●●●●
●
●●●
●●●●
●●●●
●●
●●●●
●●●●
●●●●●●
●●
●●●
●
●
●●●
●
●●●●
●●
●●●●●
●
●
●
●●
●●
●
●●●●●●
●
●
●
●●●●●●●●●
●●●●●
●●●●
●●●●●●●
●
●●●●
●
●●
●
●●●●
●●●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●●●
●
●●●
●●●
●●
●●
●
●
●●
●
●
●
●
●
●
●●●●●
●
●●
●●●●●
●●
●
●●●
●
●
●
●●
●●●
●●
●
●
●●
●●
●
●●
●●●●●●
●●●
●
●
●
●●●●
●
●
●●
●
●
●●●
●
●
●●●●
●
●●●●●
●
●●●●
●
●
●
●●●●●
●
●●●
●
●●●●●●●●
●
●●●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●●●●
●●
●●
●●
●
●
●●●●●
●●
●●●●●
●
●
●
●●●
●
●
●●
●
●●●
●●●
●
●
●
●●
●●
●
●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●
●
●
●●
●●●●
●
●
●
●
●
●
●●●●
●
●●
●
●
●●●●●
●
●●●
●
●
●●●
●
●
●
●●
●●
●
●
●
●●●
●●●●●
●
●●●
●
●
●
●
●
●
●
●●
●●●
●
●
●●●
●●
●●●●
●●
●
●●
●
●
●
●
●●●
●●●●●●●
●
●
●
●
●
●●
●●
●●●
●
●
●●●
●
●●●●●●
●
●●
●
●●●
●●
●
●
●●
●●
●●●
●
●●●●
●
●
●●●
●●
●
●
●●
●
●●●●●
●
●●
●
●●
●
●
●
●
●
●
●●●
●●●●
●
●●●●●●
●●●
●●●
●
●
●●●●●●●●
●
●●●
●
●
●
●
●
●●●
●●●
●
●
●●●
●
●●●●●●●●●●●●●●●●
●
●●●●●●●●
●
●
●
●●
●●●●
●●
●
●
●
●
●
●
●
●●●●●●
●
●
●
●
●
●
●
●●●●●
●●
●●●●●
●
●
●
●
●●
●●●
●●
●●●●●●
●●●
●
●
●
●
●●
●●
●●
●●●●
●●
●
●
●
●
●
●
●
●●●●
●
●●
●
●
●●
●
●
●
●
●●
●
●
●
●●●●
●
●●●●
●
●
●●
●
●
●●●●
●
●●●
●●
●●●
●
●●●
●●
●
●
●
●
●
●
●
●
●
●
●●
●
●●
●●
●
●
●
●
●
●
●
●
●
●●●
●●●●●●
●●
●●●
●●
●
●
●●
●
●●
●●
●
●●●
●
●●●●
●
●
●●
●
●●
●
●
●
●●●●●●●
●●●●●●
●●
●●
●
●●●
●
●●●
●
●
●
●●
●●
●●●
●
●
●
●
●●
●●
●
●●●
●
●
●●
●
●●●
●
●●
●
●
●
●●●
●
●
●●
●
●●
●
●
●●
●
●●
●●
●●
●
●●●●●●●●●●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●●●●
●●
●
●●●●
●●
●●
●●●
●●●
●
●
●
●
●●●●
●
●
●●
●●●●●
●●
●
●●
●
●
●
●●
●
●
●●
●
●●●●
●●
●
●●●
●●●●●●●●●●●●●
●
●
●
●
●●
●
●
●
●●
●
●
●
●●●
●
●●
●●
●
●●
●
●●●
●●●●●
●●
●●
●●
●
●●
●●●
●●
●●●
●
●●●●●
●
●
●
●●
●
●
●
●
●●●
●●●●
●●
●
●●●
●●●●
●
●●●
●
●●
●
●●
●●●●●●●●●
●●●●
●●
●●●●●●●
●
●
●●
●●●●●
●
●
●
●
●●●
●
●●●●
●
●●●
●
●●
●●●●●●●●●●●
●●
●
●
●●
●
●
●●●
●
●●
●
●
●
●●●
●
●●●
●
●
●
●●●●●
●
●
●●
●●●●●●●
●
●
●
●●
●
●
●
●●
●
●●
●
●
●
●
●●
●●●●●●
●
●●
●●
●●
●
●●●●●●●
●
●●●●●
●●
●
●
●●●●●
●
●●
●
●●
●
●●●
●
●
●
●
●●●
●
●●
●
●
●
●
●
●●
●●●●●
●
●●●●●●
●
●●
●
●
●●
●●●●●
●
●●●●
●●●
●
●●
●
●
●
●●●
●●●●●●●
●
●●●●
●
●●●●●
●
●●●●●●●●●●●●
●
●
●●
●●●
●
●●
●●
●●
●
●
●●
●
●
●●●●●●●
●
●●
●
●●●
●
●
●●●●●●
●●
●●●●
●●●●
●
●●●
●●●
●
●●●●●
●
●●●●●●●●
●●●●●●●
●
●●●●●●●●●
●
●●●●●●●●
●●
●
●
●●●
●
●●
●
●●
●
●
●
●
●
●●
●
●
●●
●●
●
●●●
●
●
●●●
●●
●●
●●●●●●
●
●●
●
●●●●●●●
●
●
●
●●●●●●●●●
●
●●●●●●
●●●●●●●
●
●
●
●
●●
●
●
●●●●●
●●
●
●●
●
●
●
●
●
●
●●●
●
●●●
●
●
●
●●
●●●●●●
●
●
●●
●
●
●
●
●●
●
●
●●●●
●●●●●
●
●●
●●
●
●
●
●●
●
●●●
●
●
●●
●●●●
●●
●●●●●●
●
●●
●
●
●
●
●
●●
●
●
●
●●
●●
●
●●
●
●
●●●●●●●
●●
●●●●
●
●
●●
●
●
●●
●
●●●
●●●
●●
●
●●●
●
●●●●●
●●
●●
●
●
●●
●●●
●●
●
●
●
●
●
●●●
●
●●
●
●
●●●
●●
●●●
●●
●
●●●●
●
●●●●
●●●
●●●●●●●●●●●●●●●●●●●●●●●
●●
●●●●
●●●
●●●●●●●●●●●
●●●●●●●
●
●
●●●
●●●
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●●
●
●
●
●●
●●
●
●
●●
●
●
●
●●
●●
●●
●
●●●●
●
●●●
●
●
●
●
●
●●●
●●●
●
●●●
●●
●●
●
●●
●
●
●●●●
●●
●
●●
●●
●●●●●
●
●
●
●●●●●●
●
●
●
●●
●
●●
●●●
●
●
●●
●
●●●●●
●
●●●●
●
●●
●
●●●●●
●●●●
●
●
●●●●
●●●
●
●
●●●●
●●
●
●●●●●●●
●
●
●●
●●●
●●●●●
●
●
●●●
●
●
●●
●
●
●
●●●
●
●●●●
●●●
●
●●
●●
●●●●●●●●
●
●
●
●●
●
●
●●●●
●●
●
●●
●
●●
●
●
●●
●
●
●
●
●
●●●●●
●
●●●●
●●●●●●●
●
●●●●
●●●●
●●●
●
●●
●
●●
●●●
●●
●●●●●●●●●●●
●
●
●●●●●●●
●●
●
●
●●
●
●
●
●●●
●●●●●●●
●●
●●●●
●
●
●●●●●
●
●●●●
●
●●●●●●●●●●●
●●●
●●
●●
●
●
●
●
●
●●
●
●●●●
●
●
●
●
●
●
●●●
●●●●
●●●●
●●●●●●●●●●●●●
●
●●
●
●●●
●●●
●●
●
●●●
●
●●●
●
●●●●●●
●●
●●●●●●●●●
●
●●
●
●
●
●●
●
●●●●
●
●
●
●●
●
●●
●●●
●●●●
●
●
●
●●●●●●●●●●
●
●●●
●●●●●●
●●●●
●
●●●●
●●
●●●●●●●
●●●●
●
●
●●
●●
●
●●
●
●●
●
●●●●
●
●●●
●
●●●●
●●●
●●
●●
●
●
●●●
●
●●●●●●●●●●●●●●●●●●
●
●●●●●●●●●●●●●●●●●●●●●●●
●
●●●●●
●●
●
●●
●●●
●●
●
●●●●
●
●●●●●
●
●●
●●●
●
●●
●●●●●●●●●●●●
●●●●●●●
●
●●
●
●
●
●
●●
●
●●●●●
●
●
●
●
●●●
●
●
●
●
●
●●●●
●
●
●●●●
●●
●●
●●
●
●●●●●●
●
●●
●
●
●
●
●
●
●
●●●●
●●●●
●●
●
●
●
●
●●
●●●●●●●●●●●●●●
●
●
●
●●●●
●
●
●●
●
●
●●●●●
●●
●
●
●●●
●
●●●
●
●
●
●●
●●●
●●●
●
●●
●
●
●●●
●
●
●
●●●
●
●
●
●●
●●●●
●●
●●
●●●●●
●●●●●●●●●
●
●●●●●
●●●
●
●●●●
●
●●
●●
●●
●●
●●
●●
●●
●
●
●●●
●
●
●●
●
●
●●●●●●●
●
●●●●●●●
●
●
●●
●●
●
●●●●
●
●●
●
●●●●●●
●
●●●●●●
●
●●●●●
●
●
●●
●
●
●●
●
●●●●●●●
●
●
●
●●
●
●
●●●●
●
●●●
●
●
●
●
●
●
●●
●●●
●
●
●
●●
●
●
●●●●
●
●●●
●
●
●
●
●
●●●●●●
●
●●●
●●●
●
●●●●●
●
●
●
●●
●
●●●●
●
●●●●
●●●
●
●
●●●
●●
●
●●●
●●
●●●●
●
●●
●●●●●●●●
●●●●●●●●
●
●
●●●●●●●●●●●●●●●●
●●
●
●●●●●●●●●
●
●
●
●
●
●●
●
●●
●●
●
●●●
●
●
●
●
●●
●
●
●●●
●●●●
●●●●●●
●●●●●●●●●●●●●●●●●●
●
●●●●●●●●●●
●
●●●
●
●●●●●●
●●
●●
●
●
●●●●●
●●
●●●
●●●●
●
●●●
●
●
●
●
●
●
●
●
●
●●
●
●●
●
●
●●
●
●
●
●●
●●
●
●●
●
●●●
●●●
●●●
●●●●●●●●●
●
●●
●●
●
●
●
●●
●
●
●
●●
●
●●●
●
●
●
●
●●
●
●
●●●●●●
●
●●
●
●
●
●●●●●
●
●
●●●
●
●●●●●●●●●●●●●
●
●●●
●●●●
●
●
●●
●●●●
●
●●●
●
●●
●
●
●
●●●
●
●
●●
●
●●●
●
●●
●●
●●
●●●
●●●●
●
●●●●●●
●
●
●
●
●
●●
●
●●●●●
●
●
●
●●
●●
●●
●
●●●
●
●●
●●
●
●●
●
●
●
●●●●●●
●●●●
●
●
●●●●
●
●
●
●
●
●
●●●
●
●
●
●
●
●
●●●
●●●
●
●
●
●●●
●
●
●
●
●●●
●
●
●●
●
●●
●
●
●●
●
●
●●●
●
●●●●●
●
●
●
●●
●
●
●
●
●
●
●
●
●●
●
●●●
●●●
●●●●
●
●●
●●
●●
●●●●●
●●
●
●
●
●
●●●
●
●●●
●
●●●
●●●●
●
●●
●●
●
●
●
●
●
●●●●●●
●●
●
●●
●
●
●●●●●●
●
●
●●●
●●●
●
●●●●●●●
●
●
●
●●●●●
●●●●
●
●●
●●
●●●●●●●●●●
●●●●●●●●
●●●
●
●
●
●●
●
●
●●●●
●●
●●●●
●
●
●●●●●●●●●
●●●●●●●●●
●
●●●●●●●●●●●●
●●●
●
●
●●●●
●●●
●●●●
●●
●
●
●●
●
●
●
●●●
●●●●●
●●●
●
●●
●
●
●●●
●
●●●
●●
●
●
●●●
●
●●●
●
●●
●
●●●●
●
●●●●●
●
●
●●
●●
●
●
●
●
●●●
●
●
●
●
●●
●
●●●●
●
●
●●
●●
●●●
●
●●
●
●●
●
●●
●●
●
●●●●●
●
●●
●●
●
●
●
●
●●●●●
●●
●●●●●●●●●●●●●
●
●●●●●●●●●
●●●●
●
●●●●●●
●
●●●●●●
●
●●●
●●●●●●●●●●●●●
●
●●
●
●●
●
●●
●
●
●●●
●●●●●●●●●●●●●●●●
●
●●●●●●●●●●●
●●●●●●●●●●
●●●
●
●●
●
●●●●●
●
●
●
●●
●
●
●
●
●
●●●
●●●
●●
●
●
●●
●
●
●
●
●●●
●●●
●
●●
●
●
●
●
●
●●
●
●●
●
●●●●●●●●●●●●●●●●●●
●
●
●●●●●
●●●●●●●
●
●●●
●
●
●
●●●●
●●
●
●
●
●●●●●●●
●
●
●
●●
●●
●●●
●
●●
●
●
●
●
●
●
●●●●
●
●
●●
●
●
●
●
●
●
●●●●
●●●
●
●
●
●
●●
●●●●●●●●●
●
●●
●●
●
●●
●
●
●
●●
●
●
●●
●●●●●●●●
●
●
●
●
●●
●●
●●●●
●
●
●●●●
●●●●●●
●
●●●
●●●
●
●
●●
●●
●●●●●●●●●●●●●●●●●●●●●●●●●
●
●●
●
●●●●●
●●●
●●●
●●●●●●●
●
●
●●●
●
●
●
●
●●●
●
●
●
●
●
●●
●
●●
●
●●●
●
●●●
●
●●
●
●
●
●●
●
●
●●●●●●
●
●
●
●
●
●●
●
●●
●
●●
●
●
●●
●●●●●●●
●
●
●●
●●●
●
●
●●●●●
●
●●
●●●
●
●
●
●
●
●●●●
●
●●●
●●
●
●●
●●
●●●●●●
●
●
●●●●●●●●●●●●●
●
●●
●
●
●●
●
●●●
●
●
●●
●
●
●●●●
●
●
●
●
●●
●●
●●●●
●●●●●●●
●●●
●●
●
●
●●●
●
●
●●●●●●●●
●●
●
●
●●
●●
●●●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●●●●●●
●
●
●
●
●●●●
●
●
●
●●●●
●
●●●●●
●●●
●
●●
●
●●●
●●
●●●●●●●●●●
●
●
●●●
●●
●●
●
●
●
●●
●
●
●
●
●
●●
●
●●●●●
●
●●
●
●●
●●●
●●●●●●
●
●●●
●
●
●●●
●●
●●●●●
●
●●●●
●
●
●
●●●●
●
●●●●
●
●●●
●●
●●●
●
●
●
●
●
●●●●
●●
●●
●●
●●●●
●●
●●
●
●●
●
●●●●●
●
●●●●●●●●●
●●
●●
●●●●
●●●
●●
●
●
●
●●●
●●
●
●
●●
●●●●
●●
●
●
●●
●
●●●●
●●●●●●
●
●
●●
●●
●
●●
●●
●
●●●
●●
●●
●
●
●
●
●
●●
●
●●
●
●
●
●●
●●
●
●●
●●●●
●
●●
●
●●
●
●
●
●
●●
●
●●
●
●
●
●●●●
●
●
●
●
●
●●●●●●●
●●
●●
●●●
●
●
●●●●
●
●●●●
●●
●
●
●
●
●●
●
●
●●●●●●
●
●●●●●●
●
●
●
●●●●
●
●●●
●
●
●
●
●●●●●●
●
●
●
●
●●
●
●●
●
●●
●●●
●●
●
●●●
●
●●●
●●●
●●
●
●●
●●
●
●●●
●
●
●
●●●●●
●
●
●
●
●
●
●
●●
●●
●
●
●
●
●
●
●●●
●●●●
●
●●●●●●●
●
●●●●●
●
●
●
●●●●●●●●●●●●●●●●●●●
●
●
●●●
●
●●
●●●
●
●●
●●●●●
●
●
●●●
●
●
●●●●●●
●
●●●●●
●●●●●
●●
●●●●●●
●
●●
●●
●●
●
●●●
●●
●
●●
●
●●●●
●
●
●●●
●
●
●
●●
●●●●
●●●●
●
●●●●●●
●
●
●
●●●
●
●●
●
●●
●
●
●
●●●●●●●●●●●●
●●●●●
●
●
●
●
●●
●
●
●●
●●
●●●
●●●●
●
●
●
●●●●
●●●●
●●
●
●
●●
●●●●
●●
●●●
●●
●
●
●●●
●
●●
●
●●●●●●●●●●●●
●●●●
●
●●●●
●●●●
●●●
●
●
●●
●●
●●
●●
●
●
●
●
●
●
●
●
●
●●●●●
●
●●
●●●●●●
●
●●
●
●●●●●
●
●●●
●●
●
●●●
●●●●●
●
●●●●●●
●
●
●●●
●●
●●
●
●●
●
●●●
●
●
●●
●
●●●●●
●
●●●●
●
●●●●●
●●●
●●●●●●
●●●●●●●●●
●
●
●●
●●
●●
●●●●●
●●
●
●
●●●●●●●●
●
●
●
●
●
●
●●●●
●
●●
●
●
●
●●●●●
●
●●●
●
●
●
●
●●●
●
●
●
●
●
●
●
●
●●
●
●
●
●
●●●
●●
●
●●●●●●●●
●●●●●
●
●
●
●●
●
●
●●
●
●
●
●
●
●
●●
●
●
●
●
●
●●●●
●●
●
●
●●
●●●
●●
●
●
●●
●
●
●
●
●●●●●●
●●
●●
●●
●●●●●●●●●●●
●
●●●●
●
●
●
●●●●●●●●
●
●
●●●●
●●
●●
●●
●
●
●
●●●
●
●
●●●
●
●●●
●●●●●●●
●
●
●
●
●
●●●●●●●●●●●●●
●
●
●●●
●
●●●●●●
●
●
●
●
●
●
●●●
●
●
●
●
●●●●●●●●●●●
●
●●●●●
●●
●●
●
●●●●
●●●●●●●
●
●
●
●●●●●●
●
●●●●●
●●●
●●
●
●●●●●
●
●●●●●●●
●
●●
●
●
●
●
●
●●
●
●
●●●●●
●
●
●●
●
●
●
●●
●
●●●●●●●
●
●●
●●
●●
●
●●●●●●●●
●●●
●
●●●●●●●
●
●
●
●
●
●●●●●
●
●●●
●
●
●
●
●●●
●
●●
●
●●●●●●●●●●
●
●●
●●●
●
●
●
●●●●●●
●
●●●●●
●
●
●
●
●
●
●
●●●
●
●●●
●●
●
●
●
●
●
●●●
●
●●
●●
●
●●
●●
●●●●●●●
●
●●●●●●●●
●●●●
●●
●
●●
●
●
●
●●
●●
●
●
●
●
●
●●
●●●●●●●●●●●
●●●
●
●●●●●●
●
●●●
●
●●
●
●
●
●
●
●●
●●
●
●
●
●
●●
●
●
●
●
●
●
●
●●●●●●●●
●
●●●●●●
●●
●●
●
●●
●
●
●●
●
●●●●●●●●●●●●
●
●
●
●●●
●●
●●
●
●
●
●
●
●
●●
●●●●
●●
●
●●
●●●●●●
●●
●
●●●●
●
●
●
●
●
●●●●
●
●●●
●●
●●●●●
●
●
●
●
●
●
●
●
●
●
●●●
●●●●●
●
●●
●●●
●●●●
●
●●●●●●●●
●
●
●
●
●●●●●●●●●●●●●●
●
●
●
●
●
●●
●
●●●
●
●●●●●●
●●●
●●●●
●●●●●●●●●
●
●
●
●
●
●
●●●●
●●
●
●
●
●●
●
●
●
●
●
●●
●●
●●●●●●●
●
●●
●
●●
●
●
●
●●
●
●
●
●●
●
●●●
●●
●
●●●●●●●●●●
●●●
●
●●●●●●●●
●
●●
●
●
●
●●
●●●
●
●
●
●
●●●●●●●●●●●●
●
●●●●●●
●
●
●●
●
●●
●
●●●●●
●
●
●
●
●
●●●●●●
●●●
●●
●
●
●●
●
●●
●
●●
●●●●●
●●
●●
●
●●●●
●●
●
●●●
●
●
●
●
●●●●●●●●●●●●●
●
●●●
●
●
●
●●●●
●●●●●
●
●
●
●
●
●
●●●●●●●●
●
●●●●●
●●
●
●●●●●●●
●
●
●●●●
●
●
●
●
●
●●●●
●
●●
●
●
●
●
●
●
●●
●
●
●●●●●●●●●
●
●●●●●
●
●●
●
●●
●
●●●
●
●
●
●●●
●
●●●
●
●
●
●
●
●●
●●●
●
●●●●●●
●●
●
●
●
●●
●●●
●●●
●
●●●●
●
●
●●●●
●
●●●●●●●●●
●
●
●
●●
●
●●
●
●●
●
●●
●
●●●
●●
●●
●
●●
●
●●
●●●
●●
●●
●
●●
●
●●●●●
●●●
●●
●●●
●●●
●
●
●●●
●●●
●
●●●
●
●
●●●●●●●●●●●
●●
●●
●
●●●
●
●
●
●●●●●●
●●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●
●
●
●●●●●
●
●
●
●●●
●●
●
●
●
●●●
●
●●●●●●
●
●●●
●●●●●●●●
●●
●
●
●
●●●
●
●
●
●●
●●●●
●●●
●
●●●●
●●●
●
●
●
●●●●●●●●
●●
●●●
●
●●●
●
●●
●●
●
●●
●●
●
●●
●
●●
●
●
●●●●●
●
●
●
●
●●
●
●●
●
●
●
●
●●●
●
●
●
●●
●
●
●
●●
●
●●●●
●●●
●●
●
●
●
●●●
●
●●●●●●●
●
●●●●
●
●●●
●
●●
●
●●●
●●●●
●
●
●
●
●
●●●●●●●●●
●●
●●
●
●●
●
●●●
●
●●
●
●●
●
●
●●
●●●
●
●
●●●
●●●
●
●
●
●●
●
●●
●●●●●●
●
●
●●
●●
●●●
●●
●●●●
●
●
●●
●
●
●●●
●
●
●●●
●
●
●●
●
●
●
●●
●
●●●●●
●●●
●●●
●●
●
●
●●●
●●
●●
●●●
●●
●
●
●●●
●
●●●●●
●●
●
●●
●
●●●●●●
●●●●
●●
●
●
●●
●●●
●●
●
●
●
●●●
●●
●
●●●
●
●
●
●
●●●
●
●●●●●
●
●●
●●
●●●
●
●●
●●●
●
●●
●
●
●
●
●●●●
●●
●
●●
●●
●
●
●●
●
●
●
●
●●●
●
●
●●
●
●
●●
●●●●●●●
●●
●●●●●
●●
●●
●
●●
●●●
●●
●
●
●●
●
●●●
●●●●●●●
●
●
●●●●●●●
●
●
●
●●
●
●●●
●
●●●●●●
●
●●●●
●
●
●●
●●
●
●●
●●●
●●●●●●●
●
●●●
●
●
●
●●●
●●●
●
●●
●
●
●●
●
●●
●
●
●●●●●
●
●●
●●●●●
●
●
●
●
●●
●●●●
●
●
●●
●●●●●
●
●
●
●●●●
●
●●
●●
●
●
●
●
●●
●
●
●●
●
●●●●
●
●●
●●●
●
●●
●
●●●
●
●●●
●
●
●●
●
●
●
●●●●
●
●●
●●
●
●●
●●●
●
●
●●
●
●
●●●●●●●●●●●●●●●●●●●
●
●●
●●
●●●
●
●●●
●
●
●
●●●
●
●
●
●
●●
●
●
●
●
●●
●
●
●
●●●●●
●
●●●
●
●●
●
●●●●●
●●●●
●●●●●
●
●●●
●●
●●●
●●
●
●
●
●
●●
●
●●
●
●
●
●
●●
●●
●●●
●
●
●●●
●
●●
●●
●●
●
●●●
●
●
●●
●
●
●●
●●
●
●
●
●
●
●
●
●
●
●
●
●●●●●
●
●●
●
●●
●●●●
●
●
●
●●●
●●
●●●●●●
●●
●
●
●●●●●●●●●
●●●●●●●●●●●●●●
●●
●
●●●
●●●
●●
●
●●
●●●●●●●
●●
●●●●
●●●
●●●●●●
●
●
●
●
●●●●●
●
●
●●
●●●
●
●
●●●●●
●●●
●●●
●●●
●
●●●
●
●●●
●
●●●●●●●●●
●
●●●
●●
●●●
●●
●
●
●●
●
●●●
●●
●●
●●●
●
●●●
●●●
●
●●●
●●
●
●
●
●
●
●
●●
●●●●●
●
●●
●
●●
●
●
●
●
●●
●●●
●●
●
●
●
●
●
●
●●●●
●
●
●●
●
●
●
●
●●●
●●
●
●●
●
●●●
●
●●●●
●●●●
●●
●
●
●
●●
●
●●●●
●
●●●●
●
●●●●●●●
●
●●
●●
●
●
●●
●
●●●●●●●●●
●●●●●●●
●
●
●
●●
-lo
g1
0(P
-valu
e)
0
10
20
30
40
50
60
Chromosome
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 22
LCT
TLR1
SLC45A2
SLC22A4
MHC
ZSCAN31
DHCR7NADSYN1GRM5 ATXN2
OAS1
CHR13:31MbHERC2
CYP1A2
14 genome-wide significant signals of selection
Mathieson I et al.
Genome-wide signals of selection in 230 ancient Eurasians
December 2015 18
LCT: Lactase persistence
NADSYN1/DHCR7: Vitamin D metabolism
FADS1/2: Decreased triglyceride levels
ATXN2/SHD2B3: Associated with celiac disease, Type 1 diabetes
SLC22A4: Ergothioneine uptake, celiac disease, IBD
CYP1A1: Metabolism of exogenous substances; caffeine.
SLC45A2, GRM5: Light skin pigmentation
HERC2/OCA2: Blue eye color
TLR1/6/10: Immunity, leprosy, TB and other mycobacterial resistance
OAS1/2/3: Viral resistance; Neanderthal introgressed haplotype
ZSCAN32: Autophagy
MHC: Immunity, everything.
Diet
Pigmentation
Immunity
19
35°N
40°N
45°N
50°N
55°N
60°N
10°W 5°W 0° 5°E 10°E 15°E 20°E
Longitude
Latitu
de
Alle
le f
requ
en
cy
Se
lectio
n c
oeff
icie
nt
010002000300040005000
0.0
0.2
0.4
0.6
0.00
0.01
0.02
Date in years BP
Population
Britain
Central
Iberia
Italy
Lactase persistence appears very recently
Date in years BP5000 4000 3000 2000 1000 0
20
Selection coefficient
rs1229984 (ADH1B)
Selection coefficient
rs671 (ALDH2)
Allele frequency
rs1229984 (ADH1B)
Allele frequency
rs671 (ALDH2)
02000400060008000 02000400060008000
0.0
0.1
0.2
0.3
0.0025
0.0050
0.0075
0.0100
0.0
0.2
0.4
0.6
0.8
0.005
0.010
0.015
0.020
Date in years BP
Population
North
South
CHB
CHS
20°N
25°N
30°N
35°N
40°N
45°N
50°N
55°N
90°E 100°E 110°E 120°E 130°E
Longitude
Latitu
de
Ethanol Acetaldehyde Acetic Acid
ADH1B ALDH2
Selection on the alcohol dehydrogenase pathway in East Asia
21
LCT: Lactase persistence
NADSYN1/DHCR7: Vitamin D metabolism
FADS1/2: Decreased triglyceride levels
ATXN2/SHD2B3: Associated with celiac disease, Type 1 diabetes
SLC22A4: Ergothioneine uptake, celiac disease, IBD
CYP1A1: Metabolism of exogenous substances; caffeine.
SLC45A2, GRM5: Light skin pigmentation
HERC2/OCA2: Blue eye color
TLR1/6/10: Immunity, leprosy, TB and other mycobacterial resistance
OAS1/2/3: Viral resistance; Neanderthal introgressed haplotype
ZSCAN32: Autophagy
MHC: Immunity, everything.
Diet
Pigmentation
Immunity
22
Fumagalli et al 2015
Increase; p < 0.0001
Decrease; p<0.0001
Increase; p < 0.05
Increase
Decrease; p<0.05
Decrease
What does the selected FADS allele do?
Trait p-valueMean platelet (thrombocyte) volume 3.0477e-105Red blood cell (erythrocyte) distribution width 5.1363e-93Platelet count 1.256e-87Red blood cell (erythrocyte) count 1.2592e-50Haemoglobin concentration 5.6775e-40Monocyte percentage 8.5623e-30Platelet crit 2.7662e-25Mean sphered cell volume 4.3386e-25Eosinophill count 5.2404e-25Haematocrit percentage 1.8602e-23Mean corpuscular volume 2.7039e-21
Top 10 UK Biobank PheWAS
http://geneatlas.roslin.ed.ac.uk
One of the most significant
genome-wide signals for lipids
(Teslovitch et al. 2010)
Other associations:
Sex-hormone binding globulin
(P=10-20)
Male testosterone (P=10-5)
Male estrodiaol (P=10-4)23
See also:
Harris et al. 2019
Hlusko et al. 2019
Mathieson & Mathieson 2018
Buckley et al. 2017
Ye et al. 2017
Amorim et al. 2017
Mathieson et al. 2015
Fumagalli et al. 2015
Mathias et al. 2012
Ameur et al. 2012
Mathieson (2020)
In fact, FADS1 has been under selection
for hundreds of thousands of years…
24
Ameur et al. 2012
Derived allele
Ancestral allele
“Mixed” (~derived)
25
See also:
Harris et al. 2019
Hlusko et al. 2019
Mathieson & Mathieson 2018
Buckley et al. 2017
Ye et al. 2017
Amorim et al. 2017
Mathieson et al. 2015
Fumagalli et al. 2015
Mathias et al. 2012
Ameur et al. 2012
Mathieson (2020)
In fact, FADS1 has been under selection
for hundreds of thousands of years…
26
Mathieson 2020
But…. the selected (ancestral) allele was already common
before the split of Eurasian and Native American ancestors
(consistent with a meat-heavy Upper Paleolithic diet)
27
See also:
Harris et al. 2019
Hlusko et al. 2019
Mathieson & Mathieson 2018
Buckley et al. 2017
Ye et al. 2017
Amorim et al. 2017
Mathieson et al. 2015
Fumagalli et al. 2015
Mathias et al. 2012
Ameur et al. 2012
Mathieson (2020)
In fact, FADS1 has been under selection
for hundreds of thousands of years…
28
Years BP
De
rive
d a
llele
fre
quen
cy
0.02
0.02
0.04
0.04
0.06
0.06
0.08 0.08 0.1 0.12
12000 10000 8000 6000 4000 2000 0
0.0
0.2
0.4
0.6
0.8
1.0
0.01
0.01
0.02
0.02
0.03
0.03
0.04
0.04
0.05
0.05
0.06
0.06
0.07
0.07
0.08
0.08 0.09 0.1 0.11
0.12 0.02
0.02
0.04
0.04
0.06
0.06
0.08
0.08 0.1 0.1
0.12
0.12
0.14
●
●
●
●
Hunter−gatherers
Early Farmers
Steppe Ancestry
Direct evidence of selection on the derived allele
Mathieson & Mathieson (2018)
In Europe
02000400060008000
0.0
0.2
0.4
0.6
0.005
0.010
0.015
0.020
Date in years BP
Region
North
South
In East Asia
8000 4000 06000 20008000 4000 06000 200010,00012,000
Date in years before present Date in years before present
29
See also:
Harris et al. 2019
Hlusko et al. 2019
Mathieson & Mathieson 2018
Buckley et al. 2017
Ye et al. 2017
Amorim et al. 2017
Mathieson et al. 2015
Fumagalli et al. 2015
Mathias et al. 2012
Ameur et al. 2012
Mathieson (2020)
In fact, FADS1 has been under selection
for hundreds of thousands of years…
30
… and may still be under selection today
Mathieson et al. (bioRxiv)
Genome-wide analysis identifies genetic effects on reproductive
success and ongoing natural selection at the FADS locus.
CADM2 – strong signal of balancing selectionassociated with risk-taking behavior
FADS1
Melinda Mills John Perry31
Selection scan (past 10,000 years)
Mathieson et al. (2015); selection
coefficient estimated to be 0.78%
Genome-wide association study for fertility
Derived allele increases number of children
by ~0.013, corresponding to a selection
coefficient of ~0.74%
… and may still be under selection today
Mathieson et al. (bioRxiv)
Genome-wide analysis identifies genetic effects on reproductive
success and ongoing natural selection at the FADS locus. 32
Years BP
De
rive
d a
llele
fre
qu
en
cy
0.02
0.02
0.04
0.04
0.06
0.06
0.08
0.08
0.1
0.1
0.12
0.12
0.14
0.14 0.16
0.16
12000 10000 8000 6000 4000 2000 0
0.0
0.2
0.4
0.6
0.8
1.0
0.01
0.01
0.02
0.02
0.03
0.03
0.04
0.04
0.05
0.05
0.06
0.06
0.07
0.07
0.08
0.08 0.09
0.1
0.11
0.12
0.02
0.02
0.04
0.04 0.06
0.06
0.08
0.08
0.1
0.1
0.12
0.12
Hunter−gatherers
Early Farmers
Steppe Ancestry
EarlyUP
ElMiron
Malta
Satsurblia
(cov=7.8)
Vestonice
Villabruna
0.0
0.2
0.4
0.6
0.01 0.10 1.00
Coverage
Derived haplotype frequency (false positive)
Villabruna
EarlyUPVestonice
ElMiron
Malta
Satsurblia
EarlyUP
ElMiron
Malta
Satsurblia
Vestonice
Villabruna
0.0
0.2
0.4
0.6
100002000030000
Date (Years BP)
Derived haplotype frequency
Method
Direct
Imputed
Years BP
Mathieson & Mathieson 2018
Increases in frequency by about 20% in 4,000 years
(0.005% per-year, correcting for changes in ancestry)
Increases by 0.009% per-birth-year
in UK Biobank (correcting for 10
PCs and assessment center)
Mathieson et al. bioRxiv
No other fertility GWAS signals overlap with historical selection scans (CMS, SDS or ancient DNA
scans) (with the exception of CADM2 which has a strong signal of long-term balancing selection)
… and may still be under selection today
33
• How did humans adapt to changes in environment and culture? Evolutionary change is one (but only one) aspect.
• Ancient DNA allows us to track the evolution of functional loci very precisely in time and space.
• The real goal here is to try to understand why these loci are under selection by integrating archaeological and biological evidence.
• The FADS locus is an extreme (perhaps unique) example of an allele that has been under selection, at different times and places, for hundreds of thousands of years.
34
Selection on polygenic traits
Dan JuSamantha Cox 35
Jablonski & Chaplin 200936
~180 independent loci for skin pigmentation
Data: UK Biobank; Visualization: http://geneatlas.roslin.ed.ac.uk37
AFR
EAS
EUR
SAS
0.0
0.5
1.0
010000200003000040000
Date (years BP)
Score
Dark skin pigmentation alleles were more common in the past
Proportion of dark skin
pigmentation alleles
Ju & Mathieson 2020 bioRxiv38
0.0
0.5
1.0
500010000
Date (years BP)
Score
Population
EF
HG
SP
Proportion of dark skin
pigmentation alleles
Hunter-gatherersEarly farmersSteppe ancestry
Dark skin pigmentation alleles were more common in the past
Ju & Mathieson 2020 bioRxiv39
Selection driven by a relatively small number of variants
DDB1
HERC2HERC2
SLC24A5
MC1R
SLC45A2
0.00
0.01
0.02
0.03
0.04
0.000 0.005 0.010 0.015
VE within UK
VE
be
twe
en
UK
and
YR
I
Ju & Mathieson 2020 bioRxiv
Variance explained within the UK population
Variance explained between UK and West Africa
40
Selection on skin pigmentation likely drove frequency changes at 5-10 large-effect loci
Alleles associated with lighter skin pigmentation were less common in the past
The data are consistent with constant selection over the past 45,000 years
Caution against interpreting these results as prediction of pigmentation in ancient populations.
41
Anatomical femur length
Lateral tibia length
Talo-cural height
Sacral height
Vertebral height
Basion-bregma height
“Anatomical model” Fully 1956
“Mathematical model” Trotter & Gleser 1952
See: Raxter, Auerbach & Ruff 2006
Stature estimation from skeletons
Slide: Samantha Cox 42
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1617
1819
2021
22
0
50
100
150
200
250
Chromosome
log 1
0p
-val
ue
Height
Genome-wide association studies for height
UK Biobank: ~3000 genome-wide significant loci
=
𝑆𝑁𝑃𝑠
𝛽𝑖𝑋𝑖
For some set {i} of SNPs, effect sizes 𝛽 and genotypes 𝑋
Polygenic risk score (PRS)
43
Height PRS predicts skeletal stature
44
p=0.002
p=8.7x10-11
p= 2.9x10-7
p=3.6x10-5
Cox SL, Ruff CB, Maier RM & Mathieson I Genetic effects on stature in Prehistoric Europe 2019
p=8.2x10-7
Cox SL, Ruff CB, Maier RM & Mathieson I Genetic effects on stature in Prehistoric Europe 2019
Sitting height remains nearly constant
45
Recent decrease in bone density
[Chirchir et al 2017] 46
Neolithic decrease in bone density and strength
p=0.002
p= 2.9x10-7
p=3.6x10-5
Heel Bone Mineral Density PRS
Cox SL, Ruff CB, Maier RM & Mathieson I Genetic effects on stature in Prehistoric Europe 2019
Femoral bending strength
47
Chan et al. 2015
Decreasing limb length in
paleolithic Europe may have a
genetic basis
Reflects difference between
present-day Northern and Tropical
populations
An example of Allen’s rule, driven
by adaptation to climate?
Stature certainly seems adaptive….
48
Increasing stature in Bronze Age Steppe
ancestry populations contemporary with
increasing social inequality, rapid
population range expansions and increased
male reproductive variance.
Stature certainly seems adaptive….
Varna Man - 6500 years ago
Buried with more gold than anyone ever had before
Image: Ivan Ivanov
Varna regional museum of history49
Steppe ancestry is fairly strongly correlated with stature…
Skoglund & Mathieson 201850
…but the causality is unclear
Present-day populations with
more steppe ancestry are taller
Height-increasing variants are
associated with steppe ancestry
Environmental effects cause greater
height in some populations
Steppe populations were genetically taller than other
populations
Question 1Natural
selection
Genetic drift
Question 2
1. Are there genetic differences in height between populations?
2. If there are differences, are they driven by selection
51
• For skin pigmentation we can find robust evidence of polygenic selection. Ancient DNA allows us to identify the timing of selection, as for single loci.
• For height, we can actually measure the correlation with phenotypes, but the genomic evidence for selection is unclear. Technical issues such as population stratification in GWAS limit our ability to make inference
• Future program involves using ancient DNA to resolve the interaction of genetics and environment.
52
AcknowledgmentsPennSamantha CoxDan JuBárbara BitarelloLaura ColbranArslan Zaidi
ElsewhereDavid Reich (Harvard)Sara Mathieson (Haverford)Christopher Ruff (Johns Hopkins)John Perry (Cambridge)Melinda Mills (Oxford)
Results and opinions presented here are the responsibility of the author(s) and do not necessarily represent the official views of NIH or other funding sources
53
54
Questions?