Date post: | 17-Jul-2015 |
Category: |
Software |
Upload: | paul-richards |
View: | 193 times |
Download: | 3 times |
This talk
Using R to grab, visualize, and analyse data from a mini mountainmarathon
I getting data from web tables with rvestI manipulating the dataI visualisation with ggplot2I mapping with ggmapI analysis of speeds and leg lengthsI genetic algorithms for optimisation with GA
rvest
library(rvest)library(ggplot2)rurl <- 'http://www.sportident.co.uk/results/....html'rurl %>% html() %>% html_table() %>% as.data.frame() %>%
ggplot(.,aes(x=Score)) %>%+geom_histogram(binwidth=10) %>% print
Data manipulationdata frame sdf with position, score and route:
## [1] "Pos" "Name"## [3] "Team" "Category"## [5] "Score" "Time"## [7] "Points" "Bonus.Penalty"## [9] "Manual.Adj" "Controls..in.order.visited"
data frame sdf splits:
## [1] "Pos" "Name" "Category" "Score"## [5] "Time" "X.U.00A0." "X.U.00A0..1" "X.U.00A0..2"## [9] "X.U.00A0..3" "X.U.00A0..4" "X.U.00A0..5" "X.U.00A0..6"## [13] "X.U.00A0..7" "X.U.00A0..8" "X.U.00A0..9" "X.U.00A0..10"## [17] "X.U.00A0..11" "X.U.00A0..12" "X.U.00A0..13" "X.U.00A0..14"## [21] "X.U.00A0..15" "X.U.00A0..16" "X.U.00A0..17" "X.U.00A0..18"## [25] "X.U.00A0..19"
Data manipulation
CN <- c('S1',paste0('10',1:9),paste0('1',10:24),'F1')
getpath <- function(pos){tt <- tdf$Controls..in.order.visited[pos]tt2 <- unlist(strsplit(tt,', '))tt3 <- sapply(X=tt2,FUN = function(x)which(CN==x))g <- G[tt3,] #df of controlsg$Pos <- posg$Pos <- factor(g$Pos)tt <- gettimez(sdf[pos,6:ncol(sdf)]) #splitsg$split <- tt[!is.na(tt)]return(g)
}
Data manipulationlibrary(grid) #for arrowBP <- ggplot(data=G,aes(x=LON,y=LAT,label=Value)) +
geom_point(shape=1,size=3) +geom_text(size=4,hjust=-.5,color='red') +
scale_shape_discrete(solid=FALSE)
for(i in 1:nrow(tdf)){GP <- BP+
geom_segment(data=getpath(i),aes(xend=c(tail(LON,n=-1),NA),yend=c(tail(LAT,n=-1),NA),color=split),arrow = arrow(angle = 15, ends = "last", length = unit(0.2, "inches")),alpha=.9)+ggtitle(paste0(i,': ',tdf[i,2],'\nScore: ',tdf$Score[i],', penalty: ',tdf$Bonus.Penalty[i]))+scale_colour_gradient(limits=c(0,45),high='red',low='blue') + theme(plot.title = element_text(hjust = 0))
ggsave(GP,file=paste0('graphs/GP',sprintf("%03d",i),'.png'))}
Use FFMPEG to make movie!
Mapping
library(ggmap)bbox <- make_bbox(LON, LAT, G, f = .8)map <- get_map(location = bbox,maptype='terrain')mp <- ggmap(map) + geom_point(data=G,aes(x=LON,y=LAT),shape=1,size=3)+
geom_text(data=G,aes(x=LON,y=LAT,label=Value),size=4,hjust=-.5,color='red')+scale_shape_discrete(solid=FALSE) + ylim(c(min(G$LAT)-eps,max(G$LAT)+eps)) +
xlim(c(min(G$LON)-eps,max(G$LON)+eps))
NB geom_leg needed rather than arrow for some reason.
Mapping
Lessons:
I easy to use & integrates well with ggplot2I osm can be used rather than google, but service only runs in
middle of night!I discrete zoom levels can be awkward if youβre in betweenI bboxβs are square; although you can trim the display with xlim
etc.I usual shenanigans with different coordinate systems
Analysis
β
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
ββ
β
30
40
20
20
30
20
20
30
30
20
10
30
20 30
30
20
20
20
20
10
20
403030
53.23
53.25
53.27
53.29
53.31
β1.64 β1.62 β1.60 β1.58 β1.56LON
LAT
Analysis
Need a way of standardizing the leg durations, given splits fromdifferent runners.
One might imagine for leg i and runner j , split Tij
Tij = di/sj
where di is an inherent leg duration, and sj is a relative speed. Then
logTij = log di β log sj
Suggests linear regression:
lm(log(split) ~ leg + Pos + 0)
Analysis
β
β
βββ
ββ
β
β
β
β
β
β
ββ
β
β
ββ
β
ββββ
β
β
βββ
ββ
ββ
β
β
β
βββ
β
ββ
β
β
β
βββ
β
ββ
βββββ
β
ββ
β
βββ
β
β
β
ββ
β
β
β
βββ
β
β
ββ
β
β
β
ββββ
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
ββ
βββ
β
β
ββ
β
ββ
β
ββ
β
βββ
ββ
β
β
β
ββ
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
0.00
0.25
0.50
0.75
1.00
0 50 100 150position
Spe
ed r
elat
ive
to w
inne
r
Optimization problem
I Combinatorial optimisation problem, similar to the travellingsalesman problem
I These problems are (NP) hardI Need to encode routes and their fitness (including penalties)
I sample a route as a permutation of 1:no_checkpoints,extracting the points between 1 and no_checkpoints
I 26! β 4Γ 1026 (cf Avogadroβs number)I =β need heuristics; not true solutions
Genetic algorithms
A class of optimization algorithms inspired by evolution.
There is a population of solutions with:
I a notion of fitnessI generationsI mutationI crossover (sex)
Package GA
Makes using these techniques pretty easy:
GA <- ga(type = "permutation", fitness = fitness,min = 1, max = length(ptz),popSize = 1e2, maxiter = 1e4,run = 5e3, pmutation = 0.2)
Package GA
0 2000 4000 6000 8000 10000
010
020
030
040
0
Generation
Fitn
ess
valu
e
ββββββ
β
βββββββββ
ββββββββ
ββββββββββ
ββββββββββββββββββββββββ
βββββββββββββ
ββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββ
ββββββ
βββββββββββββ
ββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββ
βββββββββββββββββ
βββββ
βββ
βββ
βββββββββ
βββ
β
ββ
βββ
ββββββββββββββββββ
ββ
ββββ
βββ
ββ
βββ
β
β
ββ
β
βββββ
ββββ
βββββββββββ
βββββββ
β
β
βββββ
β
βββββ
ββ
βββββββββ
βββββββββ
β
βββ
ββββ
βββββββββββββββ
ββββββββββ
ββββββββββββββ
β
β
ββββββββββ
ββ
βββ
β
ββββ
βββββββββββ
βββ
ββ
ββββ
βββ
β
ββββββββββββββ
ββ
ββββββββ
ββββββ
βββββ
β
βββββ
ββββββ
β
ββββ
βββ
ββ
βββ
β
βββ
β
β
ββ
ββββ
ββ
ββ
βββββ
β
βββ
ββββββ
βββ
β
ββ
β
β
ββ
ββββ
βββ
ββββ
βββ
β
βββ
ββ
β
β
ββ
β
βββββββββββββββββ
ββββ
β
β
β
ββ
ββββ
β
ββββ
β
β
β
β
β
β
βββ
βββ
βββ
β
β
β
ββββββββ
β
β
ββββ
ββ
ββ
βββ
ββ
β
β
β
ββ
β
ββββββββ
ββ
β
βββββ
ββ
ββββ
ββ
β
βββ
βββββ
β
β
β
β
β
β
β
ββ
ββ
ββββββ
ββ
βββββββ
βββ
ββββ
β
β
β
βββββ
ββ
ββ
βββ
β
β
ββ
ββββ
β
β
β
ββββ
βββ
β
βββββ
βββ
β
β
ββββ
β
ββββββ
β
β
β
β
βββββ
ββ
β
ββ
ββ
β
β
ββ
ββ
β
β
ββββ
βββ
β
β
β
ββ
ββ
ββ
β
βββ
β
βββ
ββ
βββ
β
βββ
βββββββ
βββββββββ
βββ
ββββ
β
βββ
βββββ
ββ
ββ
β
ββββββ
β
βββββ
ββ
β
β
β
β
β
β
ββββ
ββββ
ββ
βββ
β
β
ββββ
β
β
β
βββ
β
ββ
β
ββ
ββ
ββ
ββββ
β
β
ββ
β
ββ
βββ
βββ
ββ
βββ
ββ
β
β
βββ
β
ββ
ββββββββββββββ
β
ββββββ
ββββ
βββ
ββ
β
β
β
βββ
ββ
βββββ
β
ββ
ββββ
ββ
β
β
β
ββ
βββ
ββ
β
β
ββββ
β
β
β
β
ββ
ββ
β
ββ
βββ
β
βββ
β
β
β
ββββ
β
βββββ
β
β
βββββ
β
ββββββββββ
ββ
ββ
β
β
β
ββ
ββββ
ββ
β
ββββ
β
β
βββ
βββ
β
β
β
β
β
β
β
β
β
β
βββ
β
ββ
β
β
β
β
β
β
βββββ
ββ
β
β
ββ
βββββ
β
β
ββ
β
ββ
ββ
β
β
β
ββ
β
βββββ
βββ
β
βββββββ
ββ
β
β
βββ
β
β
β
ββ
ββ
ββ
ββββ
β
ββ
ββ
β
β
β
β
ββ
β
βββββ
ββββ
βββ
β
ββ
β
βββββββ
ββ
βββββββ
ββββ
ββ
ββ
β
β
ββ
β
β
β
β
β
β
β
β
β
ββββ
β
ββββ
βββ
β
β
β
ββ
βββ
ββ
β
β
ββββ
β
β
β
β
ββ
β
β
βββ
ββ
ββ
β
ββ
βββ
β
ββ
β
ββββββ
βββ
β
β
ββ
β
βββ
β
β
ββ
βββ
β
ββ
ββββ
β
βββ
ββ
ββββββ
β
ββ
β
β
β
β
β
β
β
βββββ
β
β
β
β
ββ
ββ
βββββββ
β
β
ββββ
ββ
βββ
β
β
βββββ
ββ
ββ
β
β
ββ
β
β
βββ
βββ
ββ
ββ
β
β
β
β
ββββββββββ
ββ
ββββββ
β
β
ββ
β
β
βββ
βββββββββ
ββ
β
β
ββ
β
β
βββ
β
ββ
β
β
ββ
β
βββββ
β
β
ββ
β
ββ
β
ββ
β
β
β
βββ
βββ
βββ
β
ββ
ββββ
ββββββ
ββ
βββ
βββ
ββ
β
β
βββ
β
βββ
β
β
ββββββ
ββββ
ββ
ββ
ββ
β
ββ
ββ
ββββ
β
ββ
β
βββββββββ
β
βββ
ββ
β
ββ
ββ
ββββ
β
ββββββββ
β
ββ
ββββ
ββββ
β
β
ββ
ββ
βββ
β
βββ
ββ
β
β
β
β
ββββββββ
β
β
β
ββ
β
β
βββ
β
ββ
ββ
βββ
ββ
ββββββ
ββ
β
ββ
β
ββββββ
βββ
βββββ
βββββ
β
ββ
ββ
β
β
ββββ
βββ
ββ
β
βββ
β
β
β
β
β
ββ
βββ
β
β
βββββ
βββ
β
ββββ
ββ
β
β
βββ
ββββ
β
ββ
β
β
β
β
ββ
ββββ
ββ
β
β
β
ββββ
βββββ
ββ
β
β
ββ
β
ββ
β
β
β
βββ
β
ββββ
β
ββ
β
ββ
ββββ
β
β
β
ββ
β
β
β
β
β
ββ
ββββ
β
ββ
ββββ
β
βββ
ββββ
βββ
βββββββ
βββ
β
β
ββ
β
ββββ
β
β
βββ
ββββ
βββββ
ββ
ββ
β
β
βββ
β
βββ
ββ
β
ββ
β
β
β
βββ
ββ
β
ββ
ββββββ
β
β
βββββ
β
β
ββ
ββββ
ββββ
β
β
β
β
β
β
βββ
β
βββββββ
ββ
β
ββββββββββ
ββββββββββ
ββββ
ββ
β
ββββ
β
β
ββ
β
ββ
ββ
βββ
β
β
βββ
ββ
ββββ
ββ
ββ
β
ββ
β
β
β
ββ
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
βββ
βββ
β
β
β
ββ
βββ
β
β
β
β
ββ
β
ββ
ββββ
β
β
ββ
βββ
β
β
βββ
β
β
ββ
β
βββ
ββββ
βββ
ββββ
ββ
β
β
ββ
ββ
β
ββββ
β
βββ
βββ
βββ
ββ
βββ
β
β
ββ
β
β
β
ββ
β
ββ
ββ
ββ
β
βββββ
ββ
β
β
ββββββββ
ββββββ
βββ
β
ββ
β
β
β
β
βββ
βββββββ
βββ
βββ
β
ββ
βββββ
ββ
ββ
β
β
β
ββββββ
β
ββ
β
ββ
β
β
ββββ
ββ
βββ
β
ββββββ
ββββ
ββ
ββββ
β
ββ
ββ
β
βββ
β
ββ
β
ββββ
βββ
β
β
β
ββ
ββββ
ββββββ
ββ
β
β
β
βββ
β
ββ
βββββ
β
βββ
β
ββββ
ββββ
ββββ
ββββ
ββ
β
β
ββ
ββββ
βββ
ββ
β
βββββββββ
ββββ
β
βββ
β
ββ
β
ββ
β
βββ
ββββββ
βββ
β
β
βββ
β
βββ
β
ββ
ββ
β
β
ββ
β
β
β
ββββ
β
ββ
βββββ
βββ
β
β
βββ
β
ββ
β
β
ββ
ββββ
β
β
βββββ
ββββββ
β
β
ββββββββ
ββ
βββββββ
ββ
β
β
β
β
β
ββββββ
ββ
βββ
ββ
β
ββββββ
β
β
βββ
β
β
β
ββββββ
ββ
β
β
β
β
β
β
β
ββββ
ββββββ
ββ
β
β
β
ββ
β
β
β
ββ
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
ββ
β
β
β
βββ
β
βββ
β
β
β
β
ββ
β
ββ
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
βββββββ
ββ
β
β
βββ
β
ββ
β
ββ
β
β
β
ββ
β
ββ
βββ
β
β
β
ββ
ββββ
β
β
β
β
β
ββ
βββ
β
β
β
β
β
β
β
β
β
ββ
β
β
ββ
β
βββ
β
β
β
β
β
ββ
β
β
ββ
β
β
β
β
ββ
β
β
β
βββ
β
β
β
ββ
ββ
ββ
β
β
β
β
β
β
β
ββ
β
β
ββ
β
β
ββ
β
β
β
β
βββ
ββ
β
βββ
β
β
β
β
β
βββββ
β
ββ
β
β
β
β
ββββ
β
β
β
β
ββ
β
β
ββ
βββββ
ββ
βββ
ββ
β
ββ
β
ββ
β
β
β
β
β
ββββββ
β
ββ
β
β
β
β
β
βββββ
β
β
ββ
β
βββ
β
β
β
β
β
β
β
β
β
βββββ
ββββββ
β
ββ
β
β
βββ
ββ
β
ββ
βββ
βββ
ββββββ
β
β
ββ
ββ
β
ββ
β
β
β
β
βββ
ββββ
β
β
β
ββ
ββ
ββββ
ββ
ββββ
β
ββ
ββ
ββ
βββ
β
βββ
β
β
ββ
β
ββ
β
β
β
β
ββ
βββ
β
β
β
β
β
ββ
β
ββ
β
βββ
β
β
β
β
β
ββ
β
ββ
βββ
β
β
β
β
β
β
β
ββ
β
β
β
ββ
ββ
β
βββ
ββ
β
β
β
ββββ
βββ
ββ
β
β
β
β
ββ
β
βββ
βββ
βββββ
βββ
β
ββ
β
ββ
ββ
β
β
ββ
ββ
β
β
β
βββ
ββββ
β
β
β
β
ββββββ
β
β
ββ
ββββ
ββ
β
ββββ
ββ
β
β
β
ββ
β
β
β
β
β
β
β
β
ββ
β
β
β
β
βββββ
βββ
βββ
β
βββββ
ββ
ββββ
ββ
β
β
β
ββββ
ββββ
ββ
β
β
ββ
ββ
βββ
β
β
β
β
ββ
βββ
β
β
β
βββ
ββββ
β
β
β
β
βββ
β
ββ
ββ
β
βββ
β
β
β
ββ
β
ββ
β
β
βββ
ββ
β
βββ
βββ
βββ
β
βββ
β
β
ββ
βββ
ββ
β
β
βββ
β
ββ
β
β
β
ββββ
β
β
ββ
β
β
βββ
β
β
ββ
β
ββ
ββββββββ
β
ββββββ
βββ
β
βββ
β
β
βββ
β
β
βββ
β
β
β
βββ
β
βββ
ββ
ββ
β
β
β
β
ββ
ββ
ββ
β
ββ
β
ββ
β
ββ
ββ
ββ
ββ
β
β
β
β
β
β
ββ
β
β
ββββ
ββββ
ββ
β
ββ
ββ
β
βββ
β
β
β
βββββ
β
βββ
ββ
β
ββββ
β
βββ
β
β
β
ββββ
β
ββββ
β
βββ
β
ββ
β
ββ
βββ
βββ
β
β
β
β
ββββ
β
β
ββββ
ββββββ
ββ
β
β
β
β
β
ββββββ
ββββ
ββββββ
βββ
β
βββ
βββββ
β
β
ββ
ββββ
β
β
ββ
β
βββ
β
β
β
βββ
β
ββ
β
β
ββ
β
β
β
β
ββββ
βββ
ββ
ββ
β
ββββββ
βββ
ββ
ββ
βββββ
β
ββββββββββββββββββ
βββββ
β
β
β
βββ
βββ
ββββββ
β
βββ
ββββ
ββββ
β
βββ
β
βββ
β
β
β
β
β
β
β
β
β
βββ
βββ
ββββ
β
ββββββ
β
β
ββ
β
βββββ
β
β
β
β
β
β
ββββ
β
ββ
ββββ
β
βββββββββ
βββ
β
β
β
ββββββ
βββββ
β
ββββ
β
β
βββ
βββ
β
βββ
ββ
ββββββββββ
βββββββ
βββ
β
β
βββ
β
ββ
β
β
βββββββββ
ββββ
β
ββ
β
ββββ
ββ
β
β
ββββ
β
ββ
ββ
β
β
βββ
βββββ
β
β
ββββ
ββ
βββ
β
β
βββ
β
ββ
β
β
ββββββββ
β
β
β
β
β
ββ
β
βββ
ββ
ββ
β
β
β
ββ
β
ββ
βββ
βββ
ββ
β
ββββ
βββ
β
βββ
β
ββ
β
β
βββββ
β
ββ
β
β
β
ββββ
ββ
ββ
ββββ
ββ
βββ
βββ
β
βββ
β
βββ
ββββ
β
ββββ
β
βββ
β
ββββ
ββ
β
β
β
β
ββ
β
ββ
ββββββββββ
β
βββββ
ββ
β
ββ
β
ββ
β
ββββββ
ββββ
β
β
βββ
βββ
β
β
βββ
β
ββ
βββ
β
β
βββ
βββ
β
β
ββββ
βββββββ
β
β
ββ
β
β
β
β
β
βββ
β
β
ββ
ββ
ββββ
β
ββ
β
β
ββββ
β
β
ββββ
βββ
β
ββββ
ββββ
ββββ
β
β
βββ
βββ
βββββββββββ
β
β
ββ
βββ
β
ββββ
βββββββ
β
β
βββ
β
ββ
β
β
β
βββββββ
β
β
ββ
βββ
βββ
β
β
β
β
β
β
β
βββββ
β
ββ
ββ
β
βββ
ββ
ββββββββ
β
β
β
β
ββ
β
ββ
β
ββ
β
β
β
β
ββ
ββ
β
β
β
β
ββ
β
β
β
β
ββββ
β
β
βββ
βββ
ββ
β
β
β
β
β
ββββ
β
β
β
β
β
ββ
ββ
ββ
ββββ
ββ
β
ββ
ββ
β
ββ
β
β
ββ
β
β
β
β
ββ
ββ
ββ
β
β
β
β
β
β
β
ββ
β
βββ
β
ββ
β
ββ
ββ
ββ
ββ
β
βββ
β
β
β
β
β
βββ
ββ
ββ
ββ
β
ββ
ββ
ββ
β
ββ
ββββ
ββββ
β
β
β
β
β
β
β
β
βββ
β
β
β
β
βββ
βββ
ββ
β
β
β
ββ
ββββ
ββ
β
βββ
β
β
ββββ
ββ
βββ
βββββ
β
β
β
βββββ
β
β
βββ
β
βββ
β
β
βββ
ββ
β
β
βββ
β
β
β
β
ββ
βββ
ββ
β
βββββ
βββ
ββββ
ββββ
βββ
βββ
ββ
ββ
β
β
ββ
ββ
β
β
β
β
β
ββ
β
βββ
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
ββββ
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
ββ
ββ
β
β
β
β
β
β
β
β
β
ββββ
β
β
β
ββ
ββ
ββββ
βββ
β
ββ
ββ
ββ
ββ
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
ββ
β
β
ββ
β
β
β
β
β
β
ββ
β
ββ
β
β
βββ
β
β
β
β
βββ
β
β
β
β
ββ
β
ββ
β
β
ββ
β
ββ
ββ
β
β
β
ββ
β
βββ
ββ
β
β
β
βββββββ
βββ
βββ
β
β
β
β
β
β
βββββ
β
βββ
β
β
β
ββ
β
β
β
β
β
β
β
β
ββ
ββ
β
β
ββ
β
βββββ
β
ββ
β
β
β
ββ
β
β
ββ
β
β
β
β
β
β
β
β
βββ
β
β
β
ββ
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
ββ
β
β
ββ
ββ
β
βββ
βββ
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
βββ
β
β
β
β
β
β
β
β
β
β
β
ββ
β
ββ
ββ
β
ββ
β
β
β
ββ
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
ββ
β
β
β
βββ
β
β
β
β
βββ
ββ
β
β
β
βββ
β
β
β
ββ
β
β
β
β
β
β
β
βββ
β
ββ
ββ
β
βββ
β
β
ββ
β
β
β
β
β
ββ
β
ββ
β
ββ
β
β
β
ββ
β
β
β
ββ
β
ββ
β
β
β
β
ββ
ββ
β
β
β
βββ
β
β
β
β
β
β
β
ββ
β
β
β
β
ββ
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
ββ
β
β
β
ββ
ββ
β
β
β
βββββ
β
β
β
β
ββ
β
β
β
ββ
β
ββ
βββ
β
β
β
β
β
β
βββ
β
β
β
β
ββ
β
β
β
β
ββββ
β
ββ
β
ββ
β
βββ
βββββ
βββ
β
ββββ
β
ββ
ββ
ββ
β
β
ββ
β
β
βββ
βββ
β
β
β
β
β
ββ
ββ
ββ
ββ
β
β
ββ
ββ
β
β
ββ
β
β
β
β
β
β
β
β
ββββ
β
ββ
β
β
β
β
β
β
ββ
β
β
β
ββ
β
β
β
β
β
βββ
β
ββ
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
ββ
β
β
β
β
βββ
β
ββ
ββ
β
ββ
β
β
β
ββ
β
ββ
β
β
β
β
β
ββ
β
β
β
β
β
β
β
ββ
ββ
β
ββ
β
β
β
β
ββ
β
β
ββ
ββ
ββββββ
ββ
β
β
β
ββββ
ββ
βββ
β
ββββ
β
ββββ
βββ
βββ
ββ
β
β
βββ
β
β
β
β
β
ββ
ββ
ββ
ββ
β
β
β
β
β
βββ
β
β
β
β
ββ
βββ
ββ
β
β
β
β
β
ββ
β
β
β
β
β
ββββ
ββ
βββ
β
ββ
ββ
β
β
β
βββ
ββββββββ
ββ
ββ
ββββββ
ββββ
ββββ
β
ββ
β
ββ
β
ββ
β
βββββ
ββ
β
ββββ
β
β
β
ββ
ββ
βββ
β
β
β
βββ
β
β
βββ
ββ
ββ
βββ
ββ
β
β
β
βββ
β
β
β
β
ββ
β
β
β
ββββ
ββ
β
ββ
β
ββ
β
β
β
ββ
β
β
ββ
β
β
β
ββββ
β
β
βββ
β
β
βββ
β
β
ββββββ
βββ
ββ
β
β
β
β
βββ
β
ββ
β
βββ
β
ββ
β
ββ
β
β
ββ
ββββ
β
β
ββ
ββ
β
ββ
β
β
β
β
β
β
ββββ
ββββ
β
ββ
β
βββ
ββββ
βββ
ββ
β
ββββ
β
β
β
β
ββ
β
β
ββ
ββ
β
β
β
β
β
β
β
ββββ
β
β
β
β
β
β
β
β
β
β
β
ββ
β
ββ
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
βββ
ββ
β
β
β
ββ
β
β
ββ
β
ββ
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
ββββ
β
β
ββ
β
β
ββ
β
β
ββ
β
β
β
ββ
β
β
β
β
β
β
ββ
β
β
β
β
βββ
βββ
β
βββ
ββ
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
ββ
ββ
β
ββ
β
ββ
β
β
ββ
ββ
β
β
ββββ
βββ
ββ
ββ
β
βββ
β
β
β
β
ββ
ββ
βββββββ
β
ββ
β
ββββ
ββ
ββ
ββ
ββββ
ββββββ
β
ββ
β
β
ββ
β
β
β
ββ
ββ
β
β
β
ββ
βββ
β
β
β
β
ββ
β
β
ββ
β
β
ββ
ββ
ββ
β
β
β
ββββ
ββ
β
ββ
βββββββ
β
ββ
β
β
ββ
ββ
ββ
β
ββ
ββ
ββ
β
β
β
β
β
β
β
β
β
β
ββ
ββ
ββ
β
β
ββ
β
ββ
βββ
β
β
β
β
ββ
β
βββ
β
ββ
β
ββ
β
ββ
β
β
β
β
ββ
ββ
ββ
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
ββ
β
βββ
β
β
ββ
ββ
β
ββββ
β
ββ
β
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
ββ
β
ββ
β
β
β
β
β
β
β
β
ββ
ββ
β
β
β
βββ
β
β
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
βββ
β
ββ
β
ββββ
ββ
βββ
β
β
β
βββ
β
ββ
β
β
ββ
β
β
ββ
ββ
ββ
ββ
βββββ
β
β
ββ
β
β
β
β
ββ
β
β
β
ββββ
β
β
β
β
ββ
β
ββ
β
β
ββ
β
β
β
β
ββ
ββ
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
ββββ
ββ
β
β
β
β
β
β
β
β
β
ββ
ββ
β
β
ββ
ββ
β
ββ
β
β
β
ββ
β
β
β
β
ββ
β
β
ββ
ββ
β
ββ
β
β
ββ
β
β
β
β
βββββββ
β
β
β
β
β
β
βββ
ββββ
ββ
βββ
β
ββ
β
β
β
β
β
β
β
β
ββ
ββββ
ββ
β
ββ
ββ
β
β
β
β
β
βββ
β
β
ββ
βββ
βββ
ββ
β
β
β
βββ
β
ββ
β
ββ
β
β
β
β
βββ
ββ
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
ββ
β
β
β
ββ
β
β
β
β
β
β
β
β
βββ
β
β
β
β
β
β
β
β
β
β
β
βββ
β
β
β
ββ
βββ
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
ββ
ββ
β
β
β
β
β
β
ββ
β
β
β
β
β
ββ
β
β
β
βββ
β
β
β
βββββ
ββ
β
ββ
β
βββββ
β
β
β
ββ
βββ
ββ
βββ
βββ
β
β
β
β
ββ
β
β
β
ββ
β
ββ
β
β
β
βββ
β
β
β
β
βββββ
ββ
β
ββ
β
ββ
βββ
β
β
βββ
ββββ
β
βββ
ββ
β
β
β
βββ
β
β
β
ββ
βββββ
ββββββ
βββββ
ββ
β
ββββ
β
β
β
β
βββ
ββββ
ββ
βββ
βββ
ββ
β
β
β
β
β
β
β
β
βββ
β
β
β
β
ββ
β
β
β
β
ββ
β
ββ
β
β
β
β
β
β
β
βββ
β
β
ββ
ββ
β
βββββ
ββ
ββ
ββββ
ββββ
β
ββ
β
β
ββ
β
β
β
β
ββ
ββ
ββββββ
β
ββ
β
ββ
β
β
β
ββββ
β
ββ
β
β
β
βββ
β
β
ββ
β
β
βββ
ββ
β
ββ
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
ββ
β
ββ
β
β
ββββ
β
β
β
β
βββ
β
β
βββββββ
ββ
ββ
βββ
β
β
ββββββ
ββ
ββ
β
β
β
β
ββββββ
ββ
ββ
β
β
β
β
βββ
β
βββ
β
β
βββ
ββ
βββ
ββββββ
β
β
β
ββββ
β
βββ
β
β
βββ
ββ
β
ββββ
ββ
ββ
βββββββ
ββ
ββ
β
β
ββ
β
β
ββ
β
β
ββ
ββββ
βββ
βββ
βββ
βββββ
ββ
β
ββ
ββ
β
β
β
ββ
β
β
ββ
β
β
β
ββββ
β
ββ
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
ββ
ββ
ββ
ββ
β
βββ
β
β
β
β
βββ
β
β
ββ
β
β
β
β
β
β
β
β
βββ
β
β
β
β
β
β
β
β
β
ββ
βββ
β
β
ββ
β
β
β
ββ
β
β
β
β
ββ
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
βββββ
β
β
βββ
β
ββ
β
β
β
β
β
β
β
β
ββ
β
β
ββ
β
ββ
ββ
β
β
ββ
β
ββ
β
ββ
β
β
β
β
β
ββ
ββββ
β
β
β
β
β
ββ
β
β
β
β
β
ββ
β
ββ
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
β
ββ
β
β
ββ
ββ
β
β
β
β
ββ
ββ
β
ββ
β
β
ββ
ββ
β
β
βββ
β
ββ
βββ
β
βββββ
ββ
β
β
β
β
β
ββ
βββ
β
ββ
βββ
ββββββ
β
β
β
ββ
βββ
ββ
ββ
ββ
β
ββββββ
βββ
β
β
β
β
β
ββββ
β
β
ββ
β
ββ
ββ
ββ
βββββ
β
β
βββ
βββ
ββ
β
ββββ
β
ββ
β
β
β
ββββ
βββ
β
β
βββ
ββ
β
β
β
β
β
βββββ
ββ
ββ
β
ββββββ
ββ
ββ
β
ββ
β
β
β
β
β
βββββ
β
β
β
β
βββ
βββ
βββββ
β
ββββ
β
βββ
βββββ
ββ
ββ
ββ
β
β
ββββ
ββββββ
ββ
β
ββββ
β
ββ
β
ββ
β
β
β
β
β
ββββ
β
ββββββ
ββββ
ββββ
β
β
ββ
β
ββββ
β
β
β
β
β
ββ
β
β
ββ
β
β
β
β
β
β
β
β
β
β
ββ
β
β
βββ
ββ
β
β
β
β
β
β
βββ
ββ
β
β
β
ββ
β
β
β
ββ
β
β
β
ββ
βββ
ββ
β
β
β
β
β
β
β
β
ββ
ββββ
ββ
β
β
β
β
β
βββ
β
βββ
β
ββ
ββ
β
ββ
β
β
β
β
β
ββ
ββ
ββββββ
β
β
β
β
β
β
ββ
β
β
β
β
ββ
β
β
βββ
ββ
β
β
β
β
β
β
β
β
ββββ
β
ββ
β
β
β
β
ββ
β
β
ββ
β
β
β
β
β
β
ββ
ββ
β
β
β
β
βββ
β
β
β
β
β
β
ββ
β
β
β
β
ββ
β
β
ββ
ββ
ββ
β
ββ
β
β
ββ
β
ββ
β
β
βββ
β
ββ
β
β
β
β
ββ
ββ
β
β
β
β
β
β
β
ββ
βββ
β
β
β
ββ
ββ
ββββ
ββββ
ββ
β
βββ
β
β
β
β
ββ
ββ
β
ββ
β
β
β
β
ββ
β
β
β
ββ
β
β
ββ
β
β
β
β
β
ββ
β
ββ
ββ
β
β
β
β
β
β
β
β
ββ
ββ
β
β
β
ββ
β
ββ
ββ
ββ
β
β
β
β
ββ
β
β
β
β
β
β
β
ββ
ββ
β
β
β
ββ
ββ
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
ββ
β
β
ββ
β
ββ
β
β
β
β
β
ββ
ββ
ββ
β
βββ
ββ
β
β
β
β
β
β
ββ
β
β
β
β
β
β
ββ
β
ββ
β
β
β
β
β
β
β
β
β
ββ
β
ββ
β
ββββ
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
ββ
ββ
β
β
β
β
β
β
βββ
β
β
β
ββ
β
β
β
β
β
β
β
β
ββ
β
ββ
β
β
β
ββ
β
β
β
ββ
β
ββ
β
ββ
β
ββ
β
β
β
βββ
β
β
β
β
βββ
ββββ
β
β
β
β
β
βββ
β
β
β
β
βββ
β
β
β
β
ββ
ββ
β
β
ββ
β
ββ
β
β
β
β
βββββββ
β
ββ
ββ
β
βββ
ββ
ββ
ββ
β
β
ββββββ
β
ββββ
β
β
ββ
β
β
β
β
βββ
β
ββ
βββββ
β
ββ
β
β
β
β
β
ββ
β
β
βββ
β
β
ββ
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
ββ
ββ
ββ
β
βββ
β
β
βββββ
β
β
βββ
ββ
β
β
β
ββ
β
βββ
β
β
β
ββ
β
β
β
β
β
βββ
ββββββββββββ
β
β
β
β
ββββ
ββ
β
β
ββββ
ββββ
β
βββ
ββ
ββ
β
ββ
ββ
ββ
β
β
β
β
ββββ
ββ
β
ββ
ββββββ
β
β
β
β
β
β
β
β
β
β
β
ββββ
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
ββ
ββ
β
ββ
β
β
β
βββ
ββ
β
β
β
ββ
β
ββ
β
β
ββ
β
β
β
β
β
β
β
β
βββ
β
β
β
β
β
β
ββ
β
βββ
β
β
β
ββ
β
β
β
β
ββ
β
βββ
β
β
β
ββ
β
β
βββ
β
β
β
ββ
β
β
β
β
β
βββ
ββ
ββ
β
β
β
β
β
β
β
β
β
ββ
β
β
βββ
β
β
β
β
β
β
β
ββ
βββ
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
ββ
β
β
βββ
ββ
β
ββ
ββββ
ββ
β
β
β
β
β
β
ββ
β
β
ββ
β
β
β
β
β
ββ
ββ
ββ
ββ
β
β
β
βββ
ββ
β
ββ
ββ
β
ββ
β
β
β
β
β
β
β
β
βββ
β
β
ββ
β
β
β
ββ
β
β
β
β
ββ
β
ββ
ββ
ββ
β
βββ
ββ
β
β
βββ
β
β
β
β
ββ
β
β
ββ
β
β
β
β
βββββ
β
β
β
βββ
β
βββ
β
ββ
β
βββ
β
β
β
β
β
β
β
β
β
ββ
ββ
β
βββ
β
β
β
β
β
β
β
β
β
β
β
β
ββββ
β
β
ββ
β
β
β
β
β
β
βββ
β
ββ
β
β
ββ
β
β
β
β
β
β
βββ
βββ
ββ
βββ
β
β
β
ββ
β
ββββββ
ββββββ
β
βββ
β
βββ
ββ
ββ
β
ββ
ββββ
β
β
ββββ
βββ
β
ββββ
β
β
β
β
β
β
ββ
ββ
βββ
βββββ
βββ
ββββ
β
βββββ
β
β
β
β
β
β
ββ
β
β
β
β
ββββ
β
βββ
β
β
β
ββ
β
β
ββββ
β
βββ
β
β
ββββ
βββ
ββ
βββββ
β
ββ
ββ
β
βββββββ
ββββββ
ββββ
βββ
ββββ
β
β
βββ
β
β
ββ
β
ββ
ββββ
ββ
β
β
βββ
ββ
βββ
β
β
ββββββ
β
β
β
β
βββ
β
βββ
β
βββββββββ
ββββ
βββ
ββββββ
βββ
β
β
β
β
β
ββ
β
β
β
β
β
β
β
ββ
β
ββ
β
β
β
ββ
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
ββ
β
β
ββ
β
βββ
ββββ
ββ
β
βββ
ββ
ββ
β
β
β
β
βββ
βββββ
βββ
β
β
ββ
β
ββ
β
β
ββββ
β
ββ
ββ
β
β
ββ
β
β
β
βββ
βββ
β
βββββ
β
ββ
β
βββ
ββ
ββ
βββββ
ββββββ
βββ
β
ββ
ββ
ββ
β
β
β
β
β
ββββ
ββ
β
β
ββ
ββ
β
βββ
β
ββ
β
β
β
β
β
β
ββ
β
β
ββ
ββ
β
β
β
β
ββββ
β
βββ
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
βββββ
β
β
β
β
ββ
β
β
β
β
β
β
β
β
βββ
ββ
ββ
β
β
ββ
β
β
β
β
β
ββ
β
β
β
βββ
β
ββ
ββ
βββββββββββ
β
ββ
ββββ
ββββ
ββ
β
ββ
βββ
β
ββ
ββ
β
βββ
β
β
β
β
ββββ
ββ
β
ββ
βββ
β
β
β
β
β
βββββ
β
ββ
ββ
β
β
β
β
β
β
β
ββ
ββββ
ββββ
ββ
β
ββ
βββ
ββββββ
β
ββββ
β
β
ββ
ββββ
ββ
β
β
β
ββ
ββ
β
β
ββ
β
β
ββ
β
ββ
β
β
ββββ
β
βββ
β
β
ββ
ββ
ββ
β
β
ββ
ββ
β
ββββ
βββ
ββ
βββββ
β
ββ
ββ
ββββ
β
βββ
ββββ
ββββ
ββ
β
βββ
β
βββ
ββββββββ
β
β
β
ββββββ
βββ
β
β
ββββββ
β
β
β
β
β
β
β
β
ββ
ββ
ββ
β
β
ββββββ
β
β
β
β
ββ
β
β
ββ
β
ββ
β
β
β
β
β
β
β
β
β
β
ββ
ββ
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
ββ
β
β
β
βββ
β
ββ
β
β
β
β
β
ββ
βββ
β
β
βββ
β
β
ββ
ββββ
β
ββ
β
β
β
β
ββ
ββ
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
ββ
β
ββ
β
β
β
β
β
β
β
β
β
ββ
β
ββ
β
β
β
β
β
β
β
β
β
β
βββ
βββ
β
β
β
β
β
β
β
β
β
ββββ
β
ββ
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
ββ
ββ
β
β
β
β
β
β
βββ
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
ββ
βββ
β
β
ββ
β
β
β
β
β
β
β
β
β
β
βββ
β
βββ
ββ
ββ
β
β
β
ββ
β
β
β
β
ββ
β
β
β
β
β
β
β
β
ββ
β
β
ββ
β
β
βββ
β
β
β
β
β
ββ
β
ββ
β
β
β
β
β
β
β
β
β
βββ
β
β
β
β
β
β
β
β
β
β
β
ββ
ββ
β
β
β
β
βββ
β
β
β
β
β
β
β
β
ββ
β
β
ββ
β
βββ
β
ββ
β
β
β
β
β
β
β
ββ
β
β
β
β
β
βββ
β
β
β
β
β
β
β
ββ
β
ββ
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
β
ββ
β
ββ
ββ
β
β
ββ
β
β
β
β
β
ββ
βββ
ββ
β
β
β
β
β
β
β
ββ
β
β
ββ
β
ββ
ββ
β
ββ
β
β
β
β
β
βββ
ββ
ββ
ββ
β
β
ββ
β
β
β
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
β
ββ
β
ββ
β
β
β
β
ββ
β
β
β
β
β
β
β
β
β
β
β
β
β
βββ
β
β
β
β
ββ
β
β
β
β
β
β
β
ββ
β
β
β
ββ
ββ
β
β
βββ
β
β
β
β
β
βββ
β
ββ
βββ
βββ
ββ
β
β
β
β
β
β
ββ
β
β
ββ
β
β
β
ββ
β
β
ββ
β
ββ
ββ
β
β
β
β
β
β
β
β
ββ
β
β
β
ββ
βββ
β
β
ββ
ββββ
β
β
β
β
ββ
β
ββ
β
βββ
β
β
β
β
β
β
ββ
β
β
β
β
β
β
ββ
β
ββ
ββ
β
β
β
ββ
β
β
β
β
β
β
β
β
β
ββ
β
β
ββ
β
β
β
βββ
β
β
ββ
β
β
β
β
β
β
β
β
ββ
β
β
β
ββ
ββ
β
β
β
βββ
ββ
β
β
β
β
β
β
β
β
ββ
ββ
β
ββ
β
ββ
β
ββ
ββ
β
β
β
β
β
β
β
ββ
β
β
β
ββ
ββ
β
ββ
β
ββ
β
βββ
β
β
ββ
β
ββββ
β
β
β
β
βββ
β
β
ββ
β
β
ββ
β
β
β
β
β
ββ
β
ββ
ββββββ
β
ββ
β
β
ββ
β
β
ββ
β
β
β
β
ββ
β
β
ββ
β
β
β
β
β
β
β
ββββ
βββ
β
β
βββ
β
β
β
β
β
β
β
β
β
β
β
βββ
ββ
β
βββ
β
β
β
ββ
ββ
β
β
ββ
ββ
ββ
β
β
ββ
β
β
β
β
β
β
β
β
β
β
ββ
ββ
βββ
β
ββ
ββββ
β
β
ββ
ββββββ
β
ββ
β
β
ββ
ββ
β
ββ
β
β
β
β
β
β
β
β
ββ
β
β
β
βββββββ
βββ
ββββ
βββββ
βββ
β
ββ
β
β
βββββββ
ββ
βββ
β
β
ββ
ββ
β
ββ
β
β
β
β
β
β
ββ
β
β
βββββ
ββ
ββ
β
ββ
βββ
βββ
ββββ
β
β
β
ββ
ββββββ
β
ββ
ββ
ββ
β
ββ
β
β
β
β
β
ββ
β
β
ββββ
β
β
β
β
β
ββ
β
β
βββ
ββ
ββ
β
ββ
β
ββββ
β
β
β
ββ
ββ
β
ββ
ββββ
β
ββ
β
β
ββ
β
β
β
βββ
βββ
ββ
ββ
ββ
βββ
ββββ
β
β
β
ββ
ββ
β
β
β
BestMean
Solution
β
β
β
β
β
β
β
β
β
β
β
β
β
β β
β
β
β
β
β
β
β
ββ
β
β
30
40
20
20
30
20
20
30
30
20
10
30
20 30
30
20
20
20
20
10
20
403030
0
10
20
30
40
split
Final Score: 463, Raw Score: 470Time: 246mins, penalty: 7
Figure 4: Cf winnerβs score of 440