-
Notifications
You must be signed in to change notification settings - Fork 0
/
Populist Voting.Rmd
1061 lines (918 loc) · 90.9 KB
/
Populist Voting.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
---
title: "Populist Parties, who votes for them, and why"
author: "Declan Molloy"
output: github_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE, warning = FALSE, message = FALSE, dev = "png", dpi = 300,
fig.width = 6, fig.asp = 0.618, fig.align = "center", out.width = "70%")
options(knitr.table.format = "html")
```
```{r packages, include=FALSE}
library(tidyverse)
library(haven)
library(ggrepel)
library(hrbrthemes)
library(modelr)
library(kableExtra)
```
#Identifying populist parties
There are two main datasets that attempt to classify parties around the world on various metrics, the Chapel Hill Expert Survey (CHES) and the Manifesto Project (previously known as the Comparative Manifesto Project). Neither explicitly code for populism, and so the challenge is to figure out a way to use the variables they do measure to try and come up with a systematic way to classify a party as populist or not.
##Chapel Hill Expert Survey
To begin with, we'll look at the CHES dataset, which has asked country experts to rate various parties on different metrics. Inglehart and Norris have found that 13 variables from CHES neatly correspond to two separate cleavages: four can be reduced to an economic cleavage and nine can be reduced to a cultural cleavage. The variables summed to create the populism factor have been chosen to closely reflect ideological leanings associated with right wing populism. The results for every party is plotted below on both economic and populist scales, with parties classified as populist coloured in red, corresponding to higher cultural cleavage scores.
```{r parties, include=FALSE}
manifesto <- read_dta("data/MPDataset_MPDS2017a_stata14.dta")
parlgov.party <- read_csv("data/parlgov_party.csv")
ches.2014 <- read_dta("data/2014_CHES_dataset_means.dta") %>%
mutate(party = party_name, year = 2014)
ches <- read_dta("data/1999-2014_CHES_dataset_means.dta")
missing <- anti_join(ches.2014, ches, by = "party_id") %>% pull(party_id)
ches.combined <- bind_rows(ches, ches.2014 %>% filter(party_id %in% missing)) %>%
rename(country.code = country) %>%
mutate(country = case_when(country.code == 1 ~ "Belgium",
country.code == 2 ~ "Denmark",
country.code == 3 ~ "Germany",
country.code == 4 ~ "Greece",
country.code == 5 ~ "Spain",
country.code == 6 ~ "France",
country.code == 7 ~ "Ireland",
country.code == 8 ~ "Italy",
country.code == 10 ~ "Netherlands",
country.code == 11 ~ "UK",
country.code == 12 ~ "Portugal",
country.code == 13 ~ "Austria",
country.code == 14 ~ "Finland",
country.code == 16 ~ "Sweden",
country.code == 20 ~ "Bulgaria",
country.code == 21 ~ "Czech Republic",
country.code == 22 ~ "Estonia",
country.code == 23 ~ "Hungary",
country.code == 24 ~ "Latvia",
country.code == 25 ~ "Lithuania",
country.code == 26 ~ "Poland",
country.code == 27 ~ "Romania",
country.code == 28 ~ "Slovakia",
country.code == 29 ~ "Slovenia",
country.code == 31 ~ "Croatia",
country.code == 34 ~ "Turkey",
country.code == 35 ~ "Norway",
country.code == 36 ~ "Switzerland",
country.code == 37 ~ "Malta",
country.code == 38 ~ "Luxembourg",
country.code == 40 ~ "Cyprus"))
party.link <- read_dta("data/link file for parties in EES.dta", encoding='latin1')
```
```{r party cross ref, include=FALSE}
# Manifesto ---------------------------------------------------------------
manifesto.unique <- manifesto %>%
group_by(party) %>%
slice(which.max(edate)) %>%
dplyr::ungroup() %>%
mutate(cmp = party) %>%
mutate(cmp = as.integer(cmp))
ches.unique <- ches.combined %>%
select(country, eastwest, eumember, year, ches.id = party_id, cmp.id = cmp_id, party, vote, seat, electionyear, family, govt,
galtan, sociallifestyle, nationalism, civlib_laworder, multiculturalism, immigrate_policy, ethnic_minorities, religious_principle, urban_rural,
deregulation, econ_interven, redistribution, spendvtax) %>%
#filter(year > 2005) %>%
mutate(pop.mean = (rowMeans(select(., galtan, sociallifestyle, nationalism,
civlib_laworder, multiculturalism, immigrate_policy,
ethnic_minorities, religious_principle, urban_rural), na.rm = TRUE)) * 10,
eco.mean = (rowMeans(select(., deregulation, econ_interven, redistribution, spendvtax), na.rm = TRUE)) * 10,
pop.vote = if_else(pop.mean >= 75.35, 1, 0)) %>%
group_by(ches.id) %>%
slice(which.max(year)) %>%
dplyr::ungroup() %>%
mutate(cmp.id = case_when(ches.id == 308 ~ 41521,
ches.id == 411 ~ 34020,
ches.id == 518 ~ 33096,
ches.id == 709 ~ 53021,
ches.id == 807 ~ 32221,
ches.id == 819 ~ 32421,
ches.id == 832 ~ 32329,
ches.id == 839 ~ 32320,
ches.id == 844 ~ 32630,
ches.id == 1107 ~ 51110,
ches.id == 2005 ~ 80062,
ches.id == 2012 ~ 80620,
ches.id == 2013 ~ 80061,
ches.id == 2014 ~ 80062,
ches.id == 2015 ~ 80630,
ches.id == 2016 ~ 80330,
ches.id == 2205 ~ 83952,
ches.id == 2410 ~ 87340,
ches.id == 2411 ~ 87620,
ches.id == 2412 ~ 87062,
ches.id == 2413 ~ 87630,
ches.id == 2414 ~ 87901,
ches.id == 2517 ~ 88630,
ches.id == 2611 ~ 92021,
ches.id == 2702 ~ 93031,
ches.id == 2709 ~ 93031,
TRUE ~ as.numeric(cmp.id))) %>%
select(country, year, electionyear, party, ches = ches.id, cmp = cmp.id, vote, pop.mean, eco.mean, pop.vote) %>%
mutate(ches = as.integer(ches),
cmp = as.integer(cmp))
parlgov.party.unique <- parlgov.party %>%
select(country_name, party_name_short, party_name_english, party_name, cmp, ches = chess, parlgov = party_id) %>%
filter(!is.na(cmp)) %>%
arrange(ches) %>%
distinct(cmp, .keep_all = TRUE)
parlgov.unique.ches <- parlgov.party %>%
select(country_name, party_name_short, party_name_english, party_name, cmp, ches = chess, parlgov = party_id) %>%
filter(!is.na(ches)) %>%
arrange(cmp) %>%
distinct(ches, .keep_all = TRUE)
ches.parl <- left_join(ches.unique, parlgov.unique.ches, by = "ches") %>%
mutate(cmp = if_else(is.na(cmp.x), cmp.y, cmp.x)) %>%
select(-c(cmp.x, cmp.y))
ches.filter.na <- ches.parl %>%
filter(!(ches == 308 | ches == 411 | ches == 2005 | ches == 2709 | ches == 3113)) %>%
filter(!is.na(cmp))
first.join <- left_join(manifesto.unique, ches.filter.na, by = "cmp")
doubled.up <- first.join %>% count(ches) %>% filter(n>1) %>% filter(!(is.na(ches))) %>% pull(ches)
second.join1 <- first.join %>%
filter(!(ches %in% doubled.up))
temp.second.join <- first.join %>%
filter(ches %in% doubled.up) %>%
group_by(ches) %>%
fill(parlgov) %>% fill(parlgov, .direction = "up") %>%
ungroup()
third.join <- bind_rows(second.join1, temp.second.join)
party.link.unique <- party.link %>%
select(country, prty_code, cmp = eu_manifesto, party_name) %>%
filter(!is.na(cmp)) %>%
distinct(cmp, .keep_all = TRUE) %>%
mutate(cmp = as.integer(cmp))
manifesto.extended <- left_join(third.join, party.link.unique, by = "cmp") %>%
mutate(state.market = (per401 + per402 + per407 + per414 + per505) - (per403 + per404 + per405 + per406 + per409 + per412 + per413 + per415 + per416 + per504),
prog.con = (per104 + per109 + per601 + per603 + per605 + per608) - (per105 + per106 + per107 + per501 + per503 + per602 + per604 + per607 + per705),
eco.lr = (per303 + per401 + per402 + per407 + per414 + per505 + per702 + per704) - (per404 + per406 + per413 + per415 + per503 + per504 + per701),
lib.auth = (per104 + per601 + per603 + per605 + per608) - (per105 + per602 + per604 + per607 + per705 + per416)) %>%
select(country = countryname, party = partyname, partyabbrev, parfam, edate, edate.ches = electionyear, cmp, ches, parlgov,
vote, pop.mean, pop.vote, prog.con, lib.auth, eco.mean, rile, state.market, eco.lr,planeco, markeco, welfare, per104, per601, per603, per605, per608, per105, per602, per604, per607, per705, per416) %>%
mutate(pop.cmp = 50 + (lib.auth/2)) %>%
mutate(partyabbrev = if_else(cmp == 87630, "NSL", partyabbrev))
#corrplot(cor(manifesto.extended %>% select(-c(country, party, partyabbrev, edate, edate.ches, cmp, ches, parlgov, vote)), use = "complete.obs"), method = "circle")
# CHES --------------------------------------------------------------------
ches.extended <- ches.parl %>%
left_join(manifesto.extended, by = "cmp") %>%
select(country = country.x, year, electionyear, party_name_english, party_name, party.short = party.x, party.cmp = party.y, ches = ches.x, cmp, parlgov = parlgov.x, vote = vote.x, pop.mean = pop.mean.x, eco.mean = eco.mean.x, pop.vote = pop.vote.x, lib.auth, eco.lr) %>%
filter(year > 2005)
rm(list=setdiff(ls(), c("manifesto.extended", "manifesto", "ches.combined", "ches.extended")))
```
```{r CHES-party-positions, fig.width=7, out.width = "100%", fig.asp = 1, cache = TRUE}
ggplot(data = ches.extended, aes(x = eco.mean, y = pop.mean, colour = factor(pop.vote))) +
geom_text_repel(aes(label = party.short), size = 1.8, box.padding = unit(0.1, 'lines'), point.padding = unit(.1, 'lines')) +
geom_point(size = .005) +
coord_cartesian(ylim = c(0, 100), xlim = c(0, 100)) +
labs(x = "Left <<<< Economic Values Scale >>>> Right",
y = "Cosmopolitan Liberalism <<<< Cultural Values Scale >>>> Populism",
colour = NULL,
caption = "Data from CHES 1999-2014") +
theme_ipsum() + theme(axis.title.x=element_text(hjust=.5), axis.title.y=element_text(hjust=.5)) + scale_color_brewer(labels =
c("Not Populist", "Populist"), palette = "Set1", direction=-1) +
theme(legend.position = "top") + theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
```
##Manifesto Project
A second large scale source of data on parties is the Manifesto Project which, as the name suggests, examines the electoral manifestos and other related materials of parties, coding based on how often certain topics are mentioned. Again, parties are plotted on an economic and populist scale. Parties have also been coloured according to whether they were previously classified as populist in the CHES dataset. As parties take a much smaller range of values and are thus more tightly clustered using the Manifesto project variables, it was not possible to label all of them. In order to highlight the differences in outcomes between the CHES and Manifesto Project results, political parties have been labelled that were classed as populist by the CHES data but scored lowly on the populist scale using the Manifesto Project data, as well as parties that scored highly but were not classified as populist by CHES.
```{r cmp-parties, fig.width=7, out.width = "100%", cache = TRUE}
non.pop <- manifesto.extended %>%
filter(pop.vote == 0) %>%
top_n(20, lib.auth) %>%
pull(ches)
pop <- manifesto.extended %>%
filter(pop.vote == 1) %>%
top_n(-10, lib.auth) %>%
pull(ches)
p <- ggplot(data = manifesto.extended %>% filter(!is.na(pop.vote)), aes(x = eco.lr, y = lib.auth, colour = factor(pop.vote)))
p + geom_point(size = .1) +
geom_text_repel(data = subset(manifesto.extended, ches %in% non.pop | ches %in% pop), aes(label = partyabbrev), size = 2.8, box.padding = unit(0.1, 'lines'), point.padding = unit(.1, 'lines')) +
labs(x = "Left <<<< Economic Values Scale >>>> Right",
y = "Cosmopolitan Liberalism <<<< Cultural Values Scale >>>> Populism",
colour = "Classification from CHES") +
theme_ipsum() + theme(axis.title.x=element_text(hjust=.5), axis.title.y=element_text(hjust=.5)) + scale_color_brewer(labels =
c("Not Populist", "Populist"), palette = "Set1", direction=-1) +
theme(legend.position = "top") + theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
```
To further compare and contrast both datasets and methods, the Manifesto Project populist scores have been rescaled to a 0-100 scale, then each party plotted by their populist scores from the CHES data against the scores from the Manifesto data. Also included is a simple linear regression showing the relationship between the two scores, with some of the parties that have the highest absolute residuals from this linear regression labelled.
```{r compare, fig.width=7, out.width = "100%", cache = TRUE}
mod.compare <- lm(formula = pop.mean ~ pop.cmp, data = manifesto.extended)
grid <- manifesto.extended %>%
data_grid(pop.cmp) %>%
add_predictions(mod.compare)
manifesto.extended <- manifesto.extended %>%
add_residuals(mod.compare)
p <- ggplot(manifesto.extended %>% filter(!is.na(pop.mean)), aes(x = pop.cmp, y = pop.mean))
p + geom_point(aes(colour = factor(pop.vote)), size = .1) +
geom_text_repel(data = subset(manifesto.extended, resid > 28 | resid < -25), aes(label = partyabbrev, colour = factor(pop.vote)), size = 3.5, box.padding = unit(0.1, 'lines'), point.padding = unit(.1, 'lines')) +
geom_smooth(method = "lm") +
labs(x = "Manifesto Project - Populism score",
y = "CHES - Populism score",
colour = "Classification from CHES") +
theme_ipsum() + theme(axis.title.x=element_text(hjust=.5), axis.title.y=element_text(hjust=.5)) + scale_color_brewer(labels =
c("Not Populist", "Populist"), palette = "Set1", direction=-1) +
coord_cartesian(ylim = c(0, 100), xlim = c(35, 77.5)) +
theme(legend.position = "top") + theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
```
Finally, I've plotted the residuals themselves, with the same parties labelled. Parties above 0 means a party's CHES populism score is higher (more populist) than expected given its score from the Manifesto Project.
```{r resid-compare, fig.width=7, out.width = "100%", cache = TRUE}
ggplot(manifesto.extended %>% filter(!is.na(pop.vote)), aes(pop.cmp, resid, colour = factor(pop.vote))) +
geom_ref_line(h = 0, colour = "gray70") +
geom_point(size = .1) +
geom_text_repel(data = subset(manifesto.extended, resid > 28 | resid < -25), aes(label = partyabbrev), size = 3.5, box.padding = unit(0.1, 'lines'), point.padding = unit(.1, 'lines')) +
labs(x = "Manifesto Project - Populism score",
y = "Residual error",
colour = "Classification from CHES") +
theme_ipsum() + theme(axis.title.x=element_text(hjust=.5), axis.title.y=element_text(hjust=.5)) + scale_color_brewer(labels =
c("Not Populist", "Populist"), palette = "Set1", direction=-1) +
theme(legend.position = "top") + theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
```
##Which to use?
Looking at these comparisons, it becomes clear that the Manifesto Project populism score is worse at identifying populist radical right parties than the CHES score. The plot of its party classifications shows several widely accepted populist parties, including *Ataka* in Bulgaria, *AfD* in Germany and *Lega Nord* in Italy, with populist scores close to the mean of all parties. This difference is even more stark in when we look at the residuals, where we can see that the parties rated higher by CHES include other populist parties, such as *Jobbik* in Hungary and the *People's Party – Dan Diaconescu* in Romania. Parties that are rated as higher by the Manifesto Project metric include more left-leaning parties, such as the *Left Bloc* in Portugal and the *Green Party* in Sweden. Given this project is focused on radical right populist parties, I use the CHES data to classify populist parties. See the appendix for a full table of populist parties.
#Who votes for them?
Now that we have identified which parties fall under the banner of populist radical right parties, it is time to turn our eye to who is voting for them. In particular, we want to know if certain political generations or age groups are more likely to vote for populist radical right parties than other age groups. This leads to my main finding: **contrary to popular belief, young voters are actually more likely to vote for populist parties.** Given this counter-intuitive result, the underlying data is investigated in order to prove that this result was not driven by statistical outliers. The conclusion still stands in the face of this analysis; younger voters are indeed more likely to vote for populist parties.
To figure out which age groups and generations are voting for the populist parties identified in the last chapter, we need data about which party people have voted for, and how old they were when they did so. The European Social Survey is a survey that asks a variety of questions about attitudes and voting behaviour to respondents across Europe. It has been run biennially since 2002 with the most recent release of data from 2014, meaning there are 7 waves of data with 331,871 individual respondents. Such a large sample means that we can accurately trace the age profiles of populist party voters even though many of these parties receive quite small vote shares. Respondents were weighted using both post-stratification weighting, which attempts to correct for non-response bias by weighting respondents so that the overall sample matches the composition of the general public in demographics such as age-group, gender, education, and regional distribution, as well as by country weights, which adjusts for the fact that different countries in Europe have different populations, but the sample size in each country is approximately the same. From here, the voting data was recoded such that it matched the CHES dataset. Countries that were not in the CHES dataset as well as non-voters were discarded, leaving us with 171,341 respondents who both voted and lived in a country covered by CHES. Respondents were then grouped by age and year of birth, with the weighted percentage of people who voted for a populist party calculated for each age and birth year. Finally, a simple locally weighted regression (LOESS) curve was plotted to fit this data for each wave of the ESS, resulting in the finding that young people are more likely to vote for populist parties than older people, graphed below.
```{r load ess, cache=TRUE, include=FALSE}
ess <- read_dta(unz("data/ESS1-7e01.zip", "ESS1-7e01.dta"), encoding='latin1') %>%
mutate(source = "ESS") %>%
mutate(ches = case_when(prtvtat == 1 ~ 1301, prtvtat == 2 ~ 1302, prtvtat == 3 ~ 1303, prtvtat == 4 ~ 1304, prtvtat == 5 ~ 1306, prtvtat == 6 ~ 1399,
prtvtaat == 1 ~ 1301, prtvtaat == 2 ~ 1302, prtvtaat == 3 ~ 1303, prtvtaat == 4 ~ 1307, prtvtaat == 5 ~ 1304, prtvtaat == 6 ~ 1306, prtvtaat == 7 ~ 1399, prtvtaat == 8 ~ 1399,
prtvtbat == 1 ~ 1301, prtvtbat == 2 ~ 1302, prtvtbat == 3 ~ 1303, prtvtbat == 4 ~ 1307, prtvtbat == 5 ~ 1304, prtvtbat == 6 ~ 1399, prtvtbat == 7 ~ 1306, prtvtbat == 8 ~ 1399, prtvtbat == 9 ~ 1310, prtvtbat == 10 ~ 1399,
prtvtbe == 1 ~ 105, prtvtbe == 2 ~ 109, prtvtbe == 3 ~ 103, prtvtbe == 4 ~ 199, prtvtbe == 5 ~ 107, prtvtbe == 6 ~ 110, prtvtbe == 7 ~ 119, prtvtbe == 8 ~ 112, prtvtbe == 9 ~ 199, prtvtbe == 11 ~ 104, prtvtbe == 12 ~ 108, prtvtbe == 13 ~ 106, prtvtbe == 14 ~ 102, prtvtbe == 15 ~ 115, prtvtbe == 16 ~ 119, prtvtbe == 17 ~ 199,
prtvtabe == 1 ~ 105, prtvtabe == 2 ~ 109, prtvtabe == 3 ~ 110, prtvtabe == 4 ~ 199, prtvtabe == 5 ~ 103, prtvtabe == 6 ~ 199, prtvtabe == 7 ~ 112, prtvtabe == 8 ~ 107, prtvtabe == 9 ~ 108, prtvtabe == 10 ~ 104, prtvtabe == 11 ~ 115, prtvtabe == 12 ~ 106, prtvtabe == 13 ~ 102, prtvtabe == 14 ~ 199,
prtvtbbe == 1 ~ 105, prtvtbbe == 2 ~ 109, prtvtbbe == 4 ~ 117, prtvtbbe == 5 ~ 103, prtvtbbe == 7 ~ 112, prtvtbbe == 8 ~ 107, prtvtbbe == 9 ~ 108, prtvtbbe == 10 ~ 104, prtvtbbe == 11 ~ 115, prtvtbbe == 12 ~ 106, prtvtbbe == 13 ~ 102, prtvtbbe == 14 ~ 199,
prtvtcbe == 1 ~ 105, prtvtcbe == 2 ~ 109, prtvtcbe == 3 ~ 110, prtvtcbe == 4 ~ 117, prtvtcbe == 5 ~ 103, prtvtcbe == 6 ~ 199, prtvtcbe == 7 ~ 112, prtvtcbe == 8 ~ 107, prtvtcbe == 9 ~ 108, prtvtcbe == 10 ~ 104, prtvtcbe == 11 ~ 115, prtvtcbe == 12 ~ 106, prtvtcbe == 13 ~ 102, prtvtcbe == 14 ~ 199, prtvtcbe == 15 ~ 120, prtvtcbe == 16 ~ 199, prtvtcbe == 17 ~ 199, prtvtcbe == 18 ~ 199,
prtvtbg == 1 ~ 2003, prtvtbg == 2 ~ 2004, prtvtbg == 3 ~ 2099, prtvtbg == 4 ~ 2008, prtvtbg == 5 ~ 2001, prtvtbg == 6 ~ 2002, prtvtbg == 7 ~ 2009, prtvtbg == 8 ~ 2099, prtvtbg == 9 ~ 2099, prtvtbg == 10 ~ 2007, prtvtbg == 11 ~ 2099,
prtvtabg == 1 ~ 2003, prtvtabg == 2 ~ 2004, prtvtabg == 3 ~ 2099, prtvtabg == 4 ~ 2008, prtvtabg == 5 ~ 2001, prtvtabg == 6 ~ 2002, prtvtabg == 7 ~ 2009, prtvtabg == 8 ~ 2099, prtvtabg == 9 ~ 2099, prtvtabg == 10 ~ 2007, prtvtabg == 11 ~ 2099,
prtvtbbg == 1 ~ 2010, prtvtbbg == 2 ~ 2003, prtvtbbg == 3 ~ 2004, prtvtbbg == 4 ~ 2002, prtvtbbg == 5 ~ 2007, prtvtbbg == 6 ~ 2012, prtvtbbg == 7 ~ 2001, prtvtbbg == 8 ~ 2011, prtvtbbg == 9 ~ 2099, prtvtbbg == 10 ~ 2099, prtvtbbg == 11 ~ 2099, prtvtbbg == 12 ~ 2099, prtvtbbg == 13 ~ 2099, prtvtbbg == 14 ~ 2099, prtvtbbg == 15 ~ 2099, prtvtbbg == 16 ~ 2099, prtvtbbg == 17 ~ 2099,
prtvtcbg == 1 ~ 2010, prtvtcbg == 2 ~ 2003, prtvtcbg == 3 ~ 2007, prtvtcbg == 4 ~ 2012, prtvtcbg == 5 ~ 2005, prtvtcbg == 6 ~ 2099, prtvtcbg == 7 ~ 2014, prtvtcbg == 8 ~ 2099, prtvtcbg == 9 ~ 2099, prtvtbbg == 10 ~ 2099, prtvtbbg == 11 ~ 2099, prtvtbbg == 12 ~ 2099, prtvtbbg == 13 ~ 2099,
prtvtch == 1 ~ 3603, prtvtch == 2 ~ 3604, prtvtch == 3 ~ 3602, prtvtch == 4 ~ 3601, prtvtch == 5 ~ 3603, prtvtch == 6 ~ 3699, prtvtch == 7 ~ 3607, prtvtch == 8 ~ 3611, prtvtch == 9 ~ 3699, prtvtch == 10 ~ 3605, prtvtch == 11 ~ 3699, prtvtch == 12 ~ 3608, prtvtch == 13 ~ 3699, prtvtch == 14 ~ 3699, prtvtch == 15 ~ 3611, prtvtch == 16 ~ 3699,
prtvtach == 1 ~ 3603, prtvtach == 2 ~ 3604, prtvtach == 3 ~ 3602, prtvtach == 4 ~ 3601, prtvtach == 5 ~ 3603, prtvtach == 7 ~ 3607, prtvtach == 8 ~ 3611, prtvtach == 9 ~ 3699, prtvtach == 10 ~ 3605, prtvtach == 11 ~ 3699, prtvtach == 12 ~ 3608, prtvtach == 13 ~ 3699, prtvtach == 14 ~ 3699, prtvtach == 15 ~ 3611, prtvtach == 16 ~ 3699,
prtvtbch == 1 ~ 3603, prtvtbch == 2 ~ 3604, prtvtbch == 3 ~ 3602, prtvtbch == 4 ~ 3601, prtvtbch == 5 ~ 3603, prtvtbch == 6 ~ 3611, prtvtbch == 7 ~ 3699, prtvtbch == 8 ~ 3605, prtvtbch == 9 ~ 3606, prtvtbch == 10 ~ 3699, prtvtbch == 11 ~ 3608, prtvtbch == 12 ~ 3607, prtvtbch == 13 ~ 3610, prtvtbch == 14 ~ 3699, prtvtbch == 16 ~ 3699,
prtvtcch == 1 ~ 3603, prtvtcch == 2 ~ 3604, prtvtcch == 3 ~ 3602, prtvtcch == 4 ~ 3601, prtvtcch == 5 ~ 3603, prtvtcch == 6 ~ 3611, prtvtcch == 7 ~ 3699, prtvtcch == 8 ~ 3605, prtvtcch == 9 ~ 3606, prtvtcch == 10 ~ 3699, prtvtcch == 11 ~ 3608, prtvtcch == 12 ~ 3607, prtvtcch == 13 ~ 3610, prtvtcch == 14 ~ 3699, prtvtcch == 19 ~ 3699, prtvtcch == 20 ~ 3699,
prtvtdch == 1 ~ 3601, prtvtdch == 2 ~ 3602, prtvtdch == 3 ~ 3603, prtvtdch == 4 ~ 3604, prtvtdch == 5 ~ 3605, prtvtdch == 6 ~ 3606, prtvtdch == 7 ~ 3612, prtvtdch == 8 ~ 3607, prtvtdch == 9 ~ 3608, prtvtdch == 10 ~ 3610, prtvtdch == 11 ~ 3699, prtvtdch == 12 ~ 3699, prtvtdch == 13 ~ 3611, prtvtdch == 14 ~ 3699, prtvtdch == 15 ~ 3699, prtvtdch == 16 ~ 3699, prtvtdch == 17 ~ 3699, prtvtdch == 20 ~ 3699,
prtvtech == 1 ~ 3601, prtvtech == 2 ~ 3602, prtvtech == 3 ~ 3603, prtvtech == 4 ~ 3604, prtvtech == 5 ~ 3605, prtvtech == 6 ~ 3606, prtvtech == 7 ~ 3612, prtvtech == 8 ~ 3607, prtvtech == 9 ~ 3608, prtvtech == 10 ~ 3610, prtvtech == 11 ~ 3699, prtvtech == 12 ~ 3699, prtvtech == 13 ~ 3611, prtvtech == 14 ~ 3699, prtvtech == 15 ~ 3699, prtvtech == 16 ~ 3699, prtvtech == 17 ~ 3699, prtvtech == 18 ~ 3699, prtvtech == 20 ~ 3699,
prtvtcy == 1 ~ 4003, prtvtcy == 2 ~ 4004, prtvtcy == 3 ~ 4001, prtvtcy == 4 ~ 4002, prtvtcy == 5 ~ 4006, prtvtcy == 6 ~ 4099, prtvtcy == 7 ~ 4005, prtvtcy == 8 ~ 4099,
prtvtacy == 1 ~ 4003, prtvtacy == 2 ~ 4004, prtvtacy == 3 ~ 4001, prtvtacy == 4 ~ 4002, prtvtacy == 5 ~ 4006, prtvtacy == 6 ~ 4005, prtvtacy == 7 ~ 4099,
prtvtcz == 1 ~ 2101, prtvtcz == 2 ~ 2102, prtvtcz == 3 ~ 2199, prtvtcz == 4 ~ 2199, prtvtcz == 5 ~ 2199, prtvtcz == 6 ~ 2199, prtvtcz == 7 ~ 2106, prtvtcz == 8 ~ 2102, prtvtcz == 9 ~ 2103, prtvtcz == 10 ~ 2104, prtvtcz == 11 ~ 2199, prtvtcz == 12 ~ 2199, prtvtcz == 13 ~ 2107, prtvtcz == 14 ~ 2199,
prtvtacz == 1 ~ 2103, prtvtacz == 2 ~ 2101, prtvtacz == 3 ~ 2107, prtvtacz == 4 ~ 2104, prtvtacz == 5 ~ 2102, prtvtacz == 6 ~ 2199,
prtvtbcz == 1 ~ 2103, prtvtbcz == 2 ~ 2101, prtvtbcz == 3 ~ 2107, prtvtbcz == 4 ~ 2104, prtvtbcz == 5 ~ 2109, prtvtbcz == 6 ~ 2110, prtvtbcz == 7 ~ 2102, prtvtbcz == 8 ~ 2199,
prtvtccz == 1 ~ 2103, prtvtccz == 2 ~ 2101, prtvtccz == 3 ~ 2109, prtvtccz == 4 ~ 2110, prtvtccz == 5 ~ 2102, prtvtccz == 8 ~ 2199,
prtvtdcz == 1 ~ 2103, prtvtdcz == 2 ~ 2101, prtvtdcz == 3 ~ 2109, prtvtdcz == 4 ~ 2111, prtvtdcz == 5 ~ 2102, prtvtdcz == 6 ~ 2104, prtvtdcz == 7 ~ 2112, prtvtdcz == 8 ~ 2199,
prtvde1 == 1 ~ 302, prtvde1 == 2 ~ 301, prtvde1 == 3 ~ 304, prtvde1 == 4 ~ 303, prtvde1 == 5 ~ 306, prtvde1 == 6 ~ 305, prtvde1 == 7 ~ 399,
prtvade1 == 1 ~ 302, prtvade1 == 2 ~ 301, prtvade1 == 3 ~ 304, prtvade1 == 4 ~ 303, prtvade1 == 5 ~ 306, prtvade1 == 6 ~ 305, prtvade1 == 7 ~ 309, prtvade1 == 8 ~ 399,
prtvbde1 == 1 ~ 302, prtvbde1 == 2 ~ 301, prtvbde1 == 3 ~ 304, prtvbde1 == 4 ~ 303, prtvbde1 == 5 ~ 306, prtvbde1 == 6 ~ 305, prtvbde1 == 7 ~ 309, prtvbde1 == 8 ~ 399,
prtvcde1 == 1 ~ 302, prtvcde1 == 2 ~ 301, prtvcde1 == 3 ~ 304, prtvcde1 == 4 ~ 303, prtvcde1 == 5 ~ 306, prtvcde1 == 6 ~ 305, prtvcde1 == 7 ~ 309, prtvcde1 == 8 ~ 399,
prtvdde1 == 1 ~ 302, prtvdde1 == 2 ~ 301, prtvdde1 == 3 ~ 304, prtvdde1 == 4 ~ 303, prtvdde1 == 5 ~ 306, prtvdde1 == 6 ~ 305, prtvdde1 == 7 ~ 309, prtvdde1 == 8 ~ 311, prtvdde1 == 9 ~ 399,
prtvede1 == 1 ~ 301, prtvede1 == 2 ~ 302, prtvede1 == 3 ~ 306, prtvede1 == 4 ~ 304, prtvede1 == 5 ~ 303, prtvede1 == 6 ~ 310, prtvede1 == 7 ~ 311, prtvede1 == 8 ~ 309, prtvede1 == 9 ~ 399,
prtvde2 == 1 ~ 302, prtvde2 == 2 ~ 301, prtvde2 == 3 ~ 304, prtvde2 == 4 ~ 303, prtvde2 == 5 ~ 306, prtvde2 == 6 ~ 305, prtvde2 == 7 ~ 399,
prtvade2 == 1 ~ 302, prtvade2 == 2 ~ 301, prtvade2 == 3 ~ 304, prtvade2 == 4 ~ 303, prtvade2 == 5 ~ 306, prtvade2 == 6 ~ 305, prtvade2 == 7 ~ 309, prtvade2 == 8 ~ 399,
prtvbde2 == 1 ~ 302, prtvbde2 == 2 ~ 301, prtvbde2 == 3 ~ 304, prtvbde2 == 4 ~ 303, prtvbde2 == 5 ~ 306, prtvbde2 == 6 ~ 305, prtvbde2 == 7 ~ 309, prtvbde2 == 8 ~ 399,
prtvcde2 == 1 ~ 302, prtvcde2 == 2 ~ 301, prtvcde2 == 3 ~ 304, prtvcde2 == 4 ~ 303, prtvcde2 == 5 ~ 306, prtvcde2 == 6 ~ 305, prtvcde2 == 7 ~ 309, prtvcde2 == 8 ~ 399,
prtvdde2 == 1 ~ 302, prtvdde2 == 2 ~ 301, prtvdde2 == 3 ~ 304, prtvdde2 == 4 ~ 303, prtvdde2 == 5 ~ 306, prtvdde2 == 6 ~ 305, prtvdde2 == 7 ~ 309, prtvdde2 == 8 ~ 311, prtvdde2 == 9 ~ 399,
prtvede2 == 1 ~ 301, prtvede2 == 2 ~ 302, prtvede2 == 3 ~ 306, prtvede2 == 4 ~ 304, prtvede2 == 5 ~ 303, prtvede2 == 6 ~ 310, prtvede2 == 7 ~ 311, prtvede2 == 8 ~ 309, prtvede2 == 9 ~ 399,
prtvtdk == 1 ~ 201, prtvtdk == 2 ~ 202, prtvtdk == 3 ~ 203, prtvtdk == 4 ~ 204, prtvtdk == 5 ~ 206, prtvtdk == 6 ~ 215, prtvtdk == 7 ~ 210, prtvtdk == 8 ~ 211, prtvtdk == 9 ~ 212, prtvtdk == 10 ~ 213, prtvtdk == 11 ~ 299,
prtvtadk == 1 ~ 201, prtvtadk == 2 ~ 202, prtvtadk == 3 ~ 203, prtvtadk == 4 ~ 204, prtvtadk == 5 ~ 206, prtvtadk == 6 ~ 215, prtvtadk == 7 ~ 210, prtvtadk == 8 ~ 211, prtvtadk == 9 ~ 212, prtvtadk == 10 ~ 213, prtvtadk == 11 ~ 299,
prtvtbdk == 1 ~ 201, prtvtbdk == 2 ~ 202, prtvtbdk == 3 ~ 203, prtvtbdk == 4 ~ 206, prtvtbdk == 5 ~ 215, prtvtbdk == 6 ~ 210, prtvtbdk == 7 ~ 211, prtvtbdk == 8 ~ 218, prtvtbdk == 9 ~ 213, prtvtbdk == 10 ~ 299,
prtvtcdk == 1 ~ 201, prtvtcdk == 2 ~ 202, prtvtcdk == 3 ~ 203, prtvtcdk == 4 ~ 206, prtvtcdk == 5 ~ 215, prtvtcdk == 6 ~ 210, prtvtcdk == 7 ~ 211, prtvtcdk == 8 ~ 218, prtvtcdk == 9 ~ 213, prtvtcdk == 10 ~ 299,
prtvtee == 1 ~ 2201, prtvtee == 2 ~ 2202, prtvtee == 3 ~ 2203, prtvtee == 4 ~ 2201, prtvtee == 5 ~ 2204, prtvtee == 6 ~ 2206, prtvtee == 7 ~ 2299, prtvtee == 8 ~ 2299, prtvtee == 9 ~ 2299, prtvtee == 10 ~ 2299, prtvtee == 11 ~ 2299, prtvtee == 12 ~ 2299, prtvtee == 13 ~ 2299,
prtvtaee == 1 ~ 2201, prtvtaee == 2 ~ 2202, prtvtaee == 3 ~ 2203, prtvtaee == 4 ~ 2201, prtvtaee == 5 ~ 2204, prtvtaee == 6 ~ 2206, prtvtaee == 7 ~ 2205,
prtvtbee == 1 ~ 2201, prtvtbee == 2 ~ 2202, prtvtbee == 3 ~ 2203, prtvtbee == 4 ~ 2206, prtvtbee == 5 ~ 2204, prtvtbee == 6 ~ 2207, prtvtbee == 7 ~ 2299, prtvtbee == 8 ~ 2205, prtvtbee == 9 ~ 2299, prtvtbee == 10 ~ 2299,
prtvtcee == 1 ~ 2201, prtvtcee == 2 ~ 2202, prtvtcee == 3 ~ 2203, prtvtcee == 4 ~ 2206, prtvtcee == 5 ~ 2204, prtvtcee == 6 ~ 2207, prtvtcee == 7 ~ 2299, prtvtcee == 8 ~ 2298, prtvtcee == 9 ~ 2298, prtvtcee == 10 ~ 2299, prtvtcee == 11 ~ 2299,
prtvtdee == 1 ~ 2201, prtvtdee == 2 ~ 2202, prtvtdee == 3 ~ 2203, prtvtdee == 4 ~ 2206, prtvtdee == 5 ~ 2204, prtvtdee == 6 ~ 2207, prtvtdee == 7 ~ 2299, prtvtdee == 8 ~ 2298, prtvtdee == 9 ~ 2205, prtvtdee == 10 ~ 2299, prtvtdee == 11 ~ 2299,
prtvteee == 1 ~ 2203, prtvteee == 2 ~ 2202, prtvteee == 3 ~ 2201, prtvteee == 4 ~ 2204, prtvteee == 5 ~ 2207, prtvteee == 6 ~ 2206, prtvteee == 7 ~ 2299, prtvteee == 8 ~ 2299, prtvteee == 9 ~ 2298, prtvteee == 10 ~ 2299,
prtvtes == 1 ~ 502, prtvtes == 2 ~ 501, prtvtes == 3 ~ 504, prtvtes == 4 ~ 505, prtvtes == 5 ~ 511, prtvtes == 6 ~ 518, prtvtes == 7 ~ 506, prtvtes == 8 ~ 507, prtvtes == 9 ~ 513, prtvtes == 10 ~ 517, prtvtes == 11 ~ 516, prtvtes == 12 ~ 520, prtvtes == 68 ~ 599,
prtvtaes == 1 ~ 502, prtvtaes == 2 ~ 501, prtvtaes == 3 ~ 504, prtvtaes == 4 ~ 505, prtvtaes == 5 ~ 511, prtvtaes == 6 ~ 518, prtvtaes == 7 ~ 506, prtvtaes == 8 ~ 507, prtvtaes == 9 ~ 513, prtvtaes == 10 ~ 517, prtvtaes == 11 ~ 516, prtvtaes == 12 ~ 520, prtvtaes == 13 ~ 506, prtvtaes == 74 ~ 599,
prtvtbes == 1 ~ 502, prtvtbes == 2 ~ 501, prtvtbes == 3 ~ 504, prtvtbes == 4 ~ 505, prtvtbes == 5 ~ 511, prtvtbes == 6 ~ 506, prtvtbes == 7 ~ 513, prtvtbes == 8 ~ 517, prtvtbes == 9 ~ 506, prtvtbes == 10 ~ 523, prtvtbes == 74 ~ 599,
prtvtces == 1 ~ 502, prtvtces == 2 ~ 501, prtvtces == 3 ~ 505, prtvtces == 4 ~ 504, prtvtces == 5 ~ 524, prtvtces == 6 ~ 523, prtvtces == 7 ~ 506, prtvtces == 8 ~ 511, prtvtces == 9 ~ 513, prtvtces == 10 ~ 517, prtvtces == 11 ~ 599, prtvtces == 12 ~ 526, prtvtces == 13 ~ 506, prtvtces == 14 ~ 599,
prtvtfi == 1 ~ 1402, prtvtfi == 2 ~ 1406, prtvtfi == 3 ~ 1499, prtvtfi == 4 ~ 1403, prtvtfi == 5 ~ 1405, prtvtfi == 6 ~ 1409, prtvtfi == 7 ~ 1499, prtvtfi == 8 ~ 1408, prtvtfi == 9 ~ 1401, prtvtfi == 10 ~ 1404, prtvtfi == 11 ~ 1499, prtvtfi == 12 ~ 1499, prtvtfi == 13 ~ 1499, prtvtfi == 14 ~ 1499,
prtvtafi == 1 ~ 1402, prtvtafi == 2 ~ 1406, prtvtafi == 3 ~ 1499, prtvtafi == 4 ~ 1403, prtvtafi == 5 ~ 1405, prtvtafi == 6 ~ 1409, prtvtafi == 7 ~ 1408, prtvtafi == 8 ~ 1401, prtvtafi == 9 ~ 1404, prtvtafi == 10 ~ 1499, prtvtafi == 11 ~ 1499, prtvtafi == 12 ~ 1499,
prtvtbfi == 1 ~ 1402, prtvtbfi == 2 ~ 1406, prtvtbfi == 3 ~ 1499, prtvtbfi == 4 ~ 1403, prtvtbfi == 5 ~ 1405, prtvtbfi == 6 ~ 1409, prtvtbfi == 7 ~ 1499, prtvtbfi == 8 ~ 1499, prtvtbfi == 9 ~ 1411, prtvtbfi == 10 ~ 1499, prtvtbfi == 11 ~ 1499, prtvtbfi == 12 ~ 1499, prtvtbfi == 13 ~ 1408, prtvtbfi == 14 ~ 1401, prtvtbfi == 15 ~ 1404, prtvtbfi == 16 ~ 1499, prtvtbfi == 17 ~ 1499, prtvtbfi == 18 ~ 1499, prtvtbfi == 19 ~ 1499,
prtvtcfi == 1 ~ 1402, prtvtcfi == 2 ~ 1406, prtvtcfi == 3 ~ 1403, prtvtcfi == 4 ~ 1405, prtvtcfi == 5 ~ 1409, prtvtcfi == 6 ~ 1499, prtvtcfi == 7 ~ 1499, prtvtcfi == 8 ~ 1499, prtvtcfi == 9 ~ 1411, prtvtcfi == 10 ~ 1499, prtvtcfi == 11 ~ 1499, prtvtcfi == 12 ~ 1408, prtvtcfi == 13 ~ 1401, prtvtcfi == 14 ~ 1404, prtvtcfi == 15 ~ 1499, prtvtcfi == 16 ~ 1499, prtvtcfi == 17 ~ 1499, prtvtcfi == 18 ~ 1499,
prtvtfr == 1 ~ 619, prtvtfr == 2 ~ 615, prtvtfr == 3 ~ 610, prtvtfr == 4 ~ 614, prtvtfr == 5 ~ 614, prtvtfr == 6 ~ 699, prtvtfr == 7 ~ 620, prtvtfr == 8 ~ 612, prtvtfr == 9 ~ 601, prtvtfr == 10 ~ 602, prtvtfr == 11 ~ 612, prtvtfr == 12 ~ 609, prtvtfr == 13 ~ 613, prtvtfr == 14 ~ 605, prtvtfr == 15 ~ 699, prtvtfr == 16 ~ 699,
prtvtafr == 1 ~ 619, prtvtafr == 2 ~ 615, prtvtafr == 3 ~ 610, prtvtafr == 4 ~ 614, prtvtafr == 5 ~ 614, prtvtafr == 6 ~ 699, prtvtafr == 7 ~ 620, prtvtafr == 8 ~ 612, prtvtafr == 9 ~ 601, prtvtafr == 10 ~ 602, prtvtafr == 11 ~ 612, prtvtafr == 12 ~ 609, prtvtafr == 13 ~ 613, prtvtafr == 14 ~ 605, prtvtafr == 15 ~ 699, prtvtafr == 16 ~ 699,
prtvtbfr == 1 ~ 619, prtvtbfr == 2 ~ 610, prtvtbfr == 3 ~ 614, prtvtbfr == 4 ~ 614, prtvtbfr == 5 ~ 612, prtvtbfr == 6 ~ 621, prtvtbfr == 7 ~ 601, prtvtbfr == 8 ~ 602, prtvtbfr == 9 ~ 603, prtvtbfr == 10 ~ 613, prtvtbfr == 11 ~ 609, prtvtbfr == 12 ~ 605, prtvtbfr == 13 ~ 699, prtvtbfr == 14 ~ 699, prtvtbfr == 15 ~ 699, prtvtbfr == 16 ~ 699,
prtvtcfr == 1 ~ 621, prtvtcfr == 2 ~ 610, prtvtcfr == 3 ~ 622, prtvtcfr == 4 ~ 699, prtvtcfr == 5 ~ 614, prtvtcfr == 6 ~ 603, prtvtcfr == 7 ~ 601, prtvtcfr == 8 ~ 612, prtvtcfr == 9 ~ 601, prtvtcfr == 10 ~ 609, prtvtcfr == 11 ~ 613, prtvtcfr == 12 ~ 605, prtvtcfr == 13 ~ 699, prtvtcfr == 14 ~ 699,
prtvtgb == 1 ~ 1101, prtvtgb == 2 ~ 1102, prtvtgb == 3 ~ 1104, prtvtgb == 4 ~ 1105, prtvtgb == 5 ~ 1106, prtvtgb == 6 ~ 1107, prtvtgb == 7 ~ 1199, prtvtgb == 11 ~ 1199, prtvtgb == 12 ~ 1199, prtvtgb == 13 ~ 707, prtvtgb == 14 ~ 1199, prtvtgb == 15 ~ 1199, prtvtgb == 16 ~ 1199, prtvtgb == 17 ~ 1199, prtvtgb == 18 ~ 1199, prtvtgb == 19 ~ 1199, prtvtgb == 20 ~ 1199, prtvtgb == 21 ~ 1199, prtvtgb == 22 ~ 1199,
prtvtagb == 1 ~ 1101, prtvtagb == 2 ~ 1102, prtvtagb == 3 ~ 1104, prtvtagb == 4 ~ 1105, prtvtagb == 5 ~ 1106, prtvtagb == 6 ~ 1107, prtvtagb == 7 ~ 1109, prtvtagb == 8 ~ 1108, prtvtagb == 9 ~ 1199, prtvtagb == 11 ~ 1199, prtvtagb == 12 ~ 1199, prtvtagb == 13 ~ 707, prtvtagb == 14 ~ 1199, prtvtagb == 15 ~ 1199, prtvtagb == 16 ~ 1199, prtvtagb == 17 ~ 1199, prtvtagb == 18 ~ 1199, prtvtagb == 19 ~ 1199, prtvtagb == 20 ~ 1199, prtvtagb == 21 ~ 1199, prtvtagb == 22 ~ 1199,
prtvtbgb == 1 ~ 1101, prtvtbgb == 2 ~ 1102, prtvtbgb == 3 ~ 1104, prtvtbgb == 4 ~ 1105, prtvtbgb == 5 ~ 1106, prtvtbgb == 6 ~ 1107, prtvtbgb == 7 ~ 1108, prtvtbgb == 8 ~ 1199, prtvtbgb == 9 ~ 1199, prtvtbgb == 10 ~ 1199, prtvtbgb == 11 ~ 707, prtvtbgb == 12 ~ 1199, prtvtbgb == 13 ~ 1199, prtvtbgb == 14 ~ 1199, prtvtbgb == 15 ~ 1199, prtvtbgb == 16 ~ 1199, prtvtbgb == 17 ~ 1199, prtvtbgb == 18 ~ 1199,
prtvtgr == 1 ~ 401, prtvtgr == 2 ~ 402, prtvtgr == 3 ~ 404, prtvtgr == 4 ~ 403, prtvtgr == 5 ~ 409, prtvtgr == 6 ~ 499,
prtvtagr == 1 ~ 401, prtvtagr == 2 ~ 402, prtvtagr == 3 ~ 404, prtvtagr == 4 ~ 403, prtvtagr == 5 ~ 409, prtvtagr == 6 ~ 410, prtvtagr == 7 ~ 499,
prtvtbgr == 1 ~ 401, prtvtbgr == 2 ~ 402, prtvtbgr == 3 ~ 404, prtvtbgr == 4 ~ 403, prtvtbgr == 5 ~ 410, prtvtbgr == 6 ~ 411, prtvtbgr == 7 ~ 499,
prtvtcgr == 1 ~ 401, prtvtcgr == 2 ~ 402, prtvtcgr == 3 ~ 404, prtvtcgr == 4 ~ 410, prtvtcgr == 5 ~ 403, prtvtcgr == 6 ~ 411, prtvtcgr == 7 ~ 499,
prtvthr == 1 ~ 3101, prtvthr == 2 ~ 3102, prtvthr == 3 ~ 3105, prtvthr == 4 ~ 3103, prtvthr == 5 ~ 3104, prtvthr == 6 ~ 3106, prtvthr == 7 ~ 3107, prtvthr == 8 ~ 3199, prtvthr == 9 ~ 3109, prtvthr == 10 ~ 3199, prtvthr == 11 ~ 3199,
prtvthu == 1 ~ 2306, prtvthu == 2 ~ 2303, prtvthu == 3 ~ 2399, prtvthu == 4 ~ 2305, prtvthu == 5 ~ 2301, prtvthu == 6 ~ 2399, prtvthu == 7 ~ 2304,
prtvtahu == 1 ~ 2302, prtvtahu == 2 ~ 2303, prtvtahu == 3 ~ 2308, prtvtahu == 4 ~ 2301, prtvtahu == 5 ~ 2399, prtvtahu == 6 ~ 2304, prtvtahu == 7 ~ 2306, prtvtahu == 8 ~ 2399,
prtvtbhu == 1 ~ 2302, prtvtbhu == 2 ~ 2303, prtvtbhu == 3 ~ 2308, prtvtbhu == 4 ~ 2301, prtvtbhu == 5 ~ 2399, prtvtbhu == 6 ~ 2304, prtvtbhu == 7 ~ 2306, prtvtbhu == 8 ~ 2307, prtvtbhu == 9 ~ 2399, prtvtbhu == 10 ~ 2399, prtvtbhu == 16 ~ 2399,
prtvtchu == 1 ~ 2302, prtvtchu == 2 ~ 2303, prtvtchu == 3 ~ 2305, prtvtchu == 4 ~ 2301, prtvtchu == 5 ~ 2399, prtvtchu == 6 ~ 2304, prtvtchu == 7 ~ 2306, prtvtchu == 8 ~ 2307, prtvtchu == 9 ~ 2399, prtvtchu == 10 ~ 2399, prtvtchu == 11 ~ 2308, prtvtchu == 12 ~ 2399, prtvtchu == 13 ~ 2309, prtvtchu == 86 ~ 2399,
prtvtdhu == 1 ~ 2306, prtvtdhu == 2 ~ 2399, prtvtdhu == 3 ~ 2302, prtvtdhu == 4 ~ 2308, prtvtdhu == 5 ~ 2309, prtvtdhu == 6 ~ 2303, prtvtdhu == 7 ~ 2305, prtvtdhu == 8 ~ 2301, prtvtdhu == 9 ~ 2399, prtvtdhu == 10 ~ 2399, prtvtdhu == 11 ~ 2399, prtvtdhu == 12 ~ 2399, prtvtdhu == 13 ~ 2304, prtvtdhu == 55 ~ 2399,
prtvtehu == 1 ~ 2302, prtvtehu == 2 ~ 2308, prtvtehu == 3 ~ 2309, prtvtehu == 4 ~ 2301, prtvtehu == 5 ~ 2399, prtvtehu == 55 ~ 2399,
prtvtie == 1 ~ 701, prtvtie == 2 ~ 702, prtvtie == 3 ~ 703, prtvtie == 4 ~ 799, prtvtie == 5 ~ 705, prtvtie == 6 ~ 707, prtvtie == 7 ~ 799, prtvtie == 8 ~ 799,
prtvtaie == 1 ~ 701, prtvtaie == 2 ~ 702, prtvtaie == 3 ~ 705, prtvtaie == 4 ~ 799, prtvtaie == 5 ~ 703, prtvtaie == 6 ~ 709, prtvtaie == 7 ~ 707, prtvtaie == 8 ~ 708, prtvtaie == 9 ~ 709, prtvtaie == 10 ~ 799,
prtvtit == 1 ~ 802, prtvtit == 2 ~ 819, prtvtit == 3 ~ 836, prtvtit == 4 ~ 808, prtvtit == 6 ~ 827, prtvtit == 7 ~ 803, prtvtit == 8 ~ 815, prtvtit == 9 ~ 805, prtvtit == 10 ~ 814, prtvtit == 11 ~ 811, prtvtit == 12 ~ 835, prtvtit == 13 ~ 828, prtvtit == 14 ~ 899, prtvtit == 15 ~ 820, prtvtit == 16 ~ 821, prtvtit == 17 ~ 899,
prtvtait == 1 ~ 802, prtvtait == 2 ~ 819, prtvtait == 3 ~ 836, prtvtait == 4 ~ 808, prtvtait == 6 ~ 827, prtvtait == 7 ~ 803, prtvtait == 8 ~ 815, prtvtait == 9 ~ 805, prtvtait == 10 ~ 814, prtvtait == 11 ~ 811, prtvtait == 12 ~ 835, prtvtait == 13 ~ 828, prtvtait == 14 ~ 899, prtvtait == 15 ~ 820, prtvtait == 16 ~ 821, prtvtait == 17 ~ 899,
prtvtbit == 1 ~ 837, prtvtbit == 2 ~ 838, prtvtbit == 3 ~ 899, prtvtbit == 4 ~ 845, prtvtbit == 5 ~ 846, prtvtbit == 6 ~ 814, prtvtbit == 7 ~ 899, prtvtbit == 8 ~ 899, prtvtbit == 9 ~ 811, prtvtbit == 10 ~ 844, prtvtbit == 11 ~ 813, prtvtbit == 12 ~ 899, prtvtbit == 13 ~ 899, prtvtbit == 14 ~ 899,
prtvlt1 == 1 ~ 2501, prtvlt1 == 2 ~ 2503, prtvlt1 == 3 ~ 2519, prtvlt1 == 4 ~ 2599, prtvlt1 == 5 ~ 2506, prtvlt1 == 6 ~ 2504, prtvlt1 == 7 ~ 2599, prtvlt1 == 8 ~ 2511, prtvlt1 == 9 ~ 2517, prtvlt1 == 10 ~ 2516, prtvlt1 == 11 ~ 2518, prtvlt1 == 12 ~ 2507, prtvlt1 == 13 ~ 2515, prtvlt1 == 14 ~ 2505, prtvlt1 == 15 ~ 2513, prtvlt1 == 16 ~ 2599,
prtvalt1 == 1 ~ 2518, prtvalt1 == 2 ~ 2599, prtvalt1 == 3 ~ 2516, prtvalt1 == 4 ~ 2599, prtvalt1 == 5 ~ 2506, prtvalt1 == 6 ~ 2520, prtvalt1 == 7 ~ 2511, prtvalt1 == 8 ~ 2501, prtvalt1 == 9 ~ 2515, prtvalt1 == 10 ~ 2599, prtvalt1 == 11 ~ 2599, prtvalt1 == 12 ~ 2599, prtvalt1 == 13 ~ 2599, prtvalt1 == 14 ~ 2507, prtvalt1 == 15 ~ 2513, prtvalt1 == 16 ~ 2505, prtvalt1 == 17 ~ 2599, prtvalt1 == 18 ~ 2599,
prtvlt2 == 1 ~ 2501, prtvlt2 == 2 ~ 2503, prtvlt2 == 3 ~ 2519, prtvlt2 == 4 ~ 2599, prtvlt2 == 5 ~ 2506, prtvlt2 == 6 ~ 2504, prtvlt2 == 7 ~ 2599, prtvlt2 == 8 ~ 2511, prtvlt2 == 9 ~ 2517, prtvlt2 == 10 ~ 2516, prtvlt2 == 11 ~ 2599, prtvlt2 == 12 ~ 2518, prtvlt1 == 13 ~ 2507, prtvlt2 == 14 ~ 2515, prtvlt2 == 15 ~ 2505, prtvlt2 == 16 ~ 2513, prtvlt2 == 17 ~ 2599, prtvlt2 == 18 ~ 2512, prtvlt2 == 19 ~ 2599, prtvlt2 == 20 ~ 2599,
prtvalt2 == 1 ~ 2518, prtvalt2 == 2 ~ 2599, prtvalt2 == 3 ~ 2516, prtvalt2 == 4 ~ 2599, prtvalt2 == 5 ~ 2506, prtvalt2 == 6 ~ 2520, prtvalt2 == 7 ~ 2511, prtvalt2 == 8 ~ 2501, prtvalt2 == 9 ~ 2515, prtvalt2 == 10 ~ 2599, prtvalt2 == 11 ~ 2599, prtvalt2 == 12 ~ 2599, prtvalt2 == 13 ~ 2599, prtvalt2 == 14 ~ 2599, prtvalt2 == 15 ~ 2599, prtvalt2 == 16 ~ 2599, prtvalt2 == 17 ~ 2507, prtvalt2 == 18 ~ 2513, prtvalt2 == 19 ~ 2505, prtvalt2 == 20 ~ 2599, prtvalt2 == 21 ~ 2599, prtvalt2 == 22 ~ 2599, prtvalt2 == 23 ~ 2599, prtvalt2 == 24 ~ 2599, prtvalt2 == 25 ~ 2599, prtvalt2 == 26 ~ 2599, prtvalt2 == 27 ~ 2599, prtvalt2 == 28 ~ 2599,
prtvlt3 == 1 ~ 2501, prtvlt3 == 2 ~ 2503, prtvlt3 == 3 ~ 2519, prtvlt3 == 4 ~ 2599, prtvlt3 == 5 ~ 2506, prtvlt3 == 6 ~ 2504, prtvlt3 == 7 ~ 2599, prtvlt3 == 8 ~ 2511, prtvlt3 == 9 ~ 2517, prtvlt3 == 10 ~ 2516, prtvlt3 == 11 ~ 2599, prtvlt3 == 12 ~ 2518, prtvlt3 == 13 ~ 2507, prtvlt3 == 14 ~ 2515, prtvlt3 == 15 ~ 2505, prtvlt3 == 16 ~ 2513, prtvlt3 == 17 ~ 2599, prtvlt3 == 18 ~ 2512, prtvlt3 == 19 ~ 2599, prtvlt3 == 20 ~ 2599,
prtvalt3 == 1 ~ 2518, prtvalt3 == 2 ~ 2599, prtvalt3 == 3 ~ 2516, prtvalt3 == 4 ~ 2599, prtvalt3 == 5 ~ 2506, prtvalt3 == 6 ~ 2520, prtvalt3 == 7 ~ 2511, prtvalt3 == 8 ~ 2501, prtvalt3 == 9 ~ 2515, prtvalt3 == 10 ~ 2599, prtvalt3 == 11 ~ 2599, prtvalt3 == 12 ~ 2599, prtvalt3 == 13 ~ 2599, prtvalt3 == 14 ~ 2599, prtvalt3 == 15 ~ 2599, prtvalt3 == 16 ~ 2599, prtvalt3 == 17 ~ 2507, prtvalt3 == 18 ~ 2513, prtvalt3 == 19 ~ 2505, prtvalt3 == 20 ~ 2599, prtvalt3 == 21 ~ 2599, prtvalt3 == 22 ~ 2599, prtvalt3 == 23 ~ 2599, prtvalt3 == 24 ~ 2599, prtvalt3 == 25 ~ 2599, prtvalt3 == 26 ~ 2599, prtvalt3 == 27 ~ 2599, prtvalt3 == 28 ~ 2599,
prtvtlu == 1 ~ 3801, prtvtlu == 2 ~ 3804, prtvtlu == 3 ~ 3803, prtvtlu == 4 ~ 3802, prtvtlu == 5 ~ 3806, prtvtlu == 6 ~ 3899, prtvtlu == 7 ~ 3899,
prtvtnl == 1 ~ 1001, prtvtnl == 2 ~ 1002, prtvtnl == 3 ~ 1003, prtvtnl == 4 ~ 1015, prtvtnl == 5 ~ 1004, prtvtnl == 6 ~ 1005, prtvtnl == 7 ~ 1014, prtvtnl == 8 ~ 1016, prtvtnl == 9 ~ 1098, prtvtnl == 10 ~ 1006, prtvtnl == 11 ~ 1099,
prtvtanl == 1 ~ 1001, prtvtanl == 2 ~ 1002, prtvtanl == 3 ~ 1003, prtvtanl == 4 ~ 1015, prtvtanl == 5 ~ 1004, prtvtanl == 6 ~ 1005, prtvtanl == 7 ~ 1014, prtvtanl == 8 ~ 1016, prtvtanl == 9 ~ 1098, prtvtanl == 10 ~ 1006, prtvtanl == 11 ~ 1018, prtvtanl == 12 ~ 1099,
prtvtbnl == 1 ~ 1001, prtvtbnl == 2 ~ 1002, prtvtbnl == 3 ~ 1003, prtvtbnl == 4 ~ 1015, prtvtbnl == 5 ~ 1004, prtvtbnl == 6 ~ 1005, prtvtbnl == 7 ~ 1014, prtvtbnl == 8 ~ 1016, prtvtbnl == 9 ~ 1098, prtvtbnl == 10 ~ 1006, prtvtbnl == 11 ~ 1099,
prtvtcnl == 1 ~ 1001, prtvtcnl == 2 ~ 1002, prtvtcnl == 3 ~ 1003, prtvtcnl == 4 ~ 1015, prtvtcnl == 5 ~ 1004, prtvtcnl == 6 ~ 1005, prtvtcnl == 7 ~ 1014, prtvtcnl == 8 ~ 1016, prtvtcnl == 9 ~ 1098, prtvtcnl == 10 ~ 1006, prtvtcnl == 11 ~ 1017, prtvtcnl == 12 ~ 1018, prtvtcnl == 13 ~ 1099,
prtvtdnl == 1 ~ 1003, prtvtdnl == 2 ~ 1002, prtvtdnl == 3 ~ 1017, prtvtdnl == 4 ~ 1001, prtvtdnl == 5 ~ 1014, prtvtdnl == 6 ~ 1004, prtvtdnl == 7 ~ 1005, prtvtdnl == 8 ~ 1016, prtvtdnl == 9 ~ 1006, prtvtdnl == 10 ~ 1018, prtvtdnl == 11 ~ 1099, prtvtdnl == 12 ~ 1099,
prtvtenl == 1 ~ 1003, prtvtenl == 2 ~ 1002, prtvtenl == 3 ~ 1017, prtvtenl == 4 ~ 1001, prtvtenl == 5 ~ 1014, prtvtenl == 6 ~ 1004, prtvtenl == 7 ~ 1005, prtvtenl == 8 ~ 1016, prtvtenl == 9 ~ 1006, prtvtenl == 10 ~ 1018, prtvtenl == 11 ~ 1099, prtvtenl == 12 ~ 1020, prtvtenl == 13 ~ 1099,
prtvtfnl == 1 ~ 1003, prtvtfnl == 2 ~ 1002, prtvtfnl == 3 ~ 1017, prtvtfnl == 4 ~ 1014, prtvtfnl == 5 ~ 1001, prtvtfnl == 6 ~ 1004, prtvtfnl == 7 ~ 1016, prtvtfnl == 8 ~ 1005, prtvtfnl == 9 ~ 1006, prtvtfnl == 10 ~ 1018, prtvtfnl == 11 ~ 1020, prtvtfnl == 16 ~ 1099,
prtvtno == 1 ~ 3599, prtvtno == 2 ~ 3504, prtvtno == 3 ~ 3501, prtvtno == 4 ~ 3507, prtvtno == 5 ~ 3506, prtvtno == 6 ~ 3505, prtvtno == 7 ~ 3503, prtvtno == 8 ~ 3502, prtvtno == 9 ~ 3599, prtvtno == 10 ~ 3599,
prtvtano == 1 ~ 3599, prtvtano == 2 ~ 3504, prtvtano == 3 ~ 3501, prtvtano == 4 ~ 3507, prtvtano == 5 ~ 3506, prtvtano == 6 ~ 3505, prtvtano == 7 ~ 3503, prtvtano == 8 ~ 3502, prtvtano == 9 ~ 3599, prtvtano == 10 ~ 3599,
prtvtbno == 1 ~ 3599, prtvtbno == 2 ~ 3504, prtvtbno == 3 ~ 3501, prtvtbno == 4 ~ 3507, prtvtbno == 5 ~ 3506, prtvtbno == 6 ~ 3505, prtvtbno == 7 ~ 3503, prtvtbno == 8 ~ 3502, prtvtbno == 9 ~ 3599, prtvtbno == 10 ~ 3508, prtvtbno == 11 ~ 3599,
prtvtpl == 1 ~ 2601, prtvtpl == 2 ~ 2608, prtvtpl == 3 ~ 2609, prtvtpl == 4 ~ 2504, prtvtpl == 5 ~ 2605, prtvtpl == 6 ~ 2606, prtvtpl == 7 ~ 2603, prtvtpl == 8 ~ 2699, prtvtpl == 9 ~ 2699, prtvtpl == 10 ~ 2607, prtvtpl == 11 ~ 2699, prtvtpl == 12 ~ 2699, prtvtpl == 13 ~ 2699, prtvtpl == 14 ~ 2699,
prtvtapl == 1 ~ 2699, prtvtapl == 2 ~ 2699, prtvtapl == 3 ~ 2607, prtvtapl == 4 ~ 2599, prtvtapl == 5 ~ 2699, prtvtapl == 6 ~ 2612, prtvtapl == 7 ~ 2699, prtvtapl == 8 ~ 2699, prtvtapl == 9 ~ 2603, prtvtapl == 10 ~ 2699, prtvtapl == 11 ~ 2699, prtvtapl == 12 ~ 2699, prtvtapl == 13 ~ 2606, prtvtapl == 14 ~ 2605, prtvtapl == 15 ~ 2699, prtvtapl == 16 ~ 2699, prtvtapl == 17 ~ 2611, prtvtapl == 18 ~ 2601, prtvtapl == 19 ~ 2699,
prtvtbpl == 1 ~ 2601, prtvtbpl == 2 ~ 2607, prtvtbpl == 3 ~ 2603, prtvtbpl == 4 ~ 2502, prtvtbpl == 5 ~ 2606, prtvtbpl == 6 ~ 2605, prtvtbpl == 7 ~ 2699, prtvtbpl == 8 ~ 2699,
prtvtcpl == 1 ~ 2614, prtvtcpl == 2 ~ 2603, prtvtcpl == 3 ~ 2615, prtvtcpl == 4 ~ 2599, prtvtcpl == 5 ~ 2606, prtvtcpl == 6 ~ 2605, prtvtcpl == 7 ~ 2613, prtvtcpl == 8 ~ 2601, prtvtcpl == 9 ~ 2699,
prtvtpt == 1 ~ 1208, prtvtpt == 2 ~ 1202, prtvtpt == 3 ~ 1209, prtvtpt == 4 ~ 1299, prtvtpt == 5 ~ 1299, prtvtpt == 6 ~ 1299, prtvtpt == 7 ~ 1299, prtvtpt == 8 ~ 1299, prtvtpt == 9 ~ 1299, prtvtpt == 10 ~ 1205, prtvtpt == 11 ~ 1206, prtvtpt == 12 ~ 2699,
prtvtapt == 1 ~ 1208, prtvtapt == 2 ~ 1202, prtvtapt == 3 ~ 1299, prtvtapt == 4 ~ 1299, prtvtapt == 5 ~ 1299, prtvtapt == 6 ~ 1299, prtvtapt == 7 ~ 1299, prtvtapt == 8 ~ 1299, prtvtapt == 9 ~ 1299, prtvtapt == 10 ~ 1206, prtvtapt == 11 ~ 1205, prtvtapt == 13 ~ 2699,
prtvtbpt == 1 ~ 1208, prtvtbpt == 2 ~ 1202, prtvtbpt == 3 ~ 1201, prtvtbpt == 4 ~ 1299, prtvtbpt == 5 ~ 1299, prtvtbpt == 6 ~ 1299, prtvtbpt == 7 ~ 1299, prtvtbpt == 8 ~ 1299, prtvtbpt == 9 ~ 1299, prtvtbpt == 10 ~ 1206, prtvtbpt == 11 ~ 1205, prtvtbpt == 13 ~ 2699,
prtvtse == 1 ~ 1603, prtvtse == 2 ~ 1604, prtvtse == 3 ~ 1606, prtvtse == 4 ~ 1607, prtvtse == 5 ~ 1605, prtvtse == 6 ~ 1602, prtvtse == 7 ~ 1601, prtvtse == 8 ~ 1699,
prtvtase == 1 ~ 1603, prtvtase == 2 ~ 1604, prtvtase == 3 ~ 1606, prtvtase == 4 ~ 1607, prtvtase == 5 ~ 1605, prtvtase == 6 ~ 1602, prtvtase == 7 ~ 1601, prtvtase == 8 ~ 1612, prtvtase == 9 ~ 1609, prtvtase == 10 ~ 1610, prtvtase == 11 ~ 1699,
prtvtbse == 1 ~ 1603, prtvtbse == 2 ~ 1604, prtvtbse == 3 ~ 1606, prtvtbse == 4 ~ 1607, prtvtbse == 5 ~ 1605, prtvtbse == 6 ~ 1602, prtvtbse == 7 ~ 1601, prtvtbse == 8 ~ 1612, prtvtbse == 9 ~ 1611, prtvtbse == 10 ~ 1610, prtvtbse == 11 ~ 1699,
prtvtsi == 1 ~ 2906, prtvtsi == 2 ~ 2901, prtvtsi == 3 ~ 2904, prtvtsi == 4 ~ 2907, prtvtsi == 5 ~ 2902, prtvtsi == 6 ~ 2905, prtvtsi == 7 ~ 2903, prtvtsi == 8 ~ 2908, prtvtsi == 9 ~ 2999,
prtvtasi == 1 ~ 2902, prtvtasi == 2 ~ 2901, prtvtasi == 3 ~ 2903, prtvtasi == 4 ~ 2905, prtvtasi == 5 ~ 2904, prtvtasi == 6 ~ 2907, prtvtasi == 7 ~ 2906, prtvtasi == 8 ~ 2999,
prtvtbsi == 1 ~ 2906, prtvtbsi == 2 ~ 2901, prtvtbsi == 3 ~ 2904, prtvtbsi == 4 ~ 2907, prtvtbsi == 5 ~ 2902, prtvtbsi == 6 ~ 2905, prtvtbsi == 7 ~ 2903, prtvtbsi == 8 ~ 2999,
prtvtcsi == 1 ~ 2906, prtvtcsi == 2 ~ 2901, prtvtcsi == 3 ~ 2999, prtvtcsi == 4 ~ 2905, prtvtcsi == 5 ~ 2902, prtvtcsi == 6 ~ 2904, prtvtcsi == 7 ~ 2907, prtvtcsi == 8 ~ 2903, prtvtcsi == 9 ~ 2910, prtvtcsi == 10 ~ 2999,
prtvtdsi == 1 ~ 2906, prtvtdsi == 2 ~ 2901, prtvtdsi == 3 ~ 2905, prtvtdsi == 4 ~ 2902, prtvtdsi == 5 ~ 2904, prtvtdsi == 6 ~ 2903, prtvtdsi == 7 ~ 2914, prtvtdsi == 8 ~ 2999, prtvtdsi == 9 ~ 2910, prtvtdsi == 10 ~ 2907, prtvtdsi == 11 ~ 2999, prtvtdsi == 12 ~ 2999,
prtvtesi == 1 ~ 2906, prtvtesi == 2 ~ 2999, prtvtesi == 3 ~ 2905, prtvtesi == 4 ~ 2914, prtvtesi == 5 ~ 2903, prtvtesi == 6 ~ 2902, prtvtesi == 7 ~ 2904, prtvtesi == 8 ~ 2911, prtvtesi == 9 ~ 2999, prtvtesi == 10 ~ 2913, prtvtesi == 11 ~ 2912, prtvtesi == 12 ~ 2999,
prtvtsk == 1 ~ 2801, prtvtsk == 2 ~ 2802, prtvtsk == 3 ~ 2803, prtvtsk == 4 ~ 2804, prtvtsk == 5 ~ 2805, prtvtsk == 6 ~ 2806, prtvtsk == 7 ~ 2807, prtvtsk == 8 ~ 2899,
prtvtask == 1 ~ 2801, prtvtask == 2 ~ 2802, prtvtask == 3 ~ 2803, prtvtask == 4 ~ 2804, prtvtask == 5 ~ 2805, prtvtask == 6 ~ 2809, prtvtask == 7 ~ 2899,
prtvtbsk == 1 ~ 2809, prtvtbsk == 2 ~ 2802, prtvtbsk == 3 ~ 2803, prtvtbsk == 4 ~ 2813, prtvtbsk == 5 ~ 2805, prtvtbsk == 6 ~ 2812, prtvtbsk == 7 ~ 2899,
prtvtcsk == 1 ~ 2814, prtvtcsk == 2 ~ 2802, prtvtcsk == 3 ~ 2803, prtvtcsk == 4 ~ 2813, prtvtcsk == 5 ~ 2805, prtvtcsk == 6 ~ 2812, prtvtcsk == 7 ~ 2899,
prtvttr == 1 ~ 3401, prtvttr == 2 ~ 3499, prtvttr == 3 ~ 3499, prtvttr == 4 ~ 3402, prtvttr == 5 ~ 3499, prtvttr == 6 ~ 3499, prtvttr == 7 ~ 3499, prtvttr == 8 ~ 3499, prtvttr == 9 ~ 3403, prtvttr == 10 ~ 3499, prtvttr == 11 ~ 3499, prtvttr == 12 ~ 3499, prtvttr == 13 ~ 3499,
prtvtatr == 1 ~ 3401, prtvtatr == 2 ~ 3499, prtvtatr == 3 ~ 3499, prtvtatr == 4 ~ 3402, prtvtatr == 5 ~ 3499, prtvtatr == 6 ~ 3499, prtvtatr == 7 ~ 3499, prtvtatr == 8 ~ 3499, prtvtatr == 9 ~ 3499, prtvtatr == 10 ~ 3403, prtvtatr == 11 ~ 3499, prtvtatr == 12 ~ 3499, prtvtatr == 13 ~ 3499, prtvtatr == 14 ~ 3499, prtvtatr == 15 ~ 3499,
prtvttr == 1 ~ 3401, prtvttr == 2 ~ 3499, prtvttr == 3 ~ 3499, prtvttr == 4 ~ 3402, prtvttr == 5 ~ 3499, prtvttr == 6 ~ 3499))
```
```{r ESS cross ref, include=FALSE, cache = TRUE}
ess.select <- ess %>%
left_join(ches.extended, by = "ches") %>%
mutate(comb.weight = pspwght * pweight) %>%
select(source,
ess.round = essround,
case = cseqno,
post.weight = pspwght,
pop.weight = pweight,
comb.weight,
age = agea,
birth.year = yrbrn,
gender = gndr,
country = cntry,
ches,
cmp,
parlgov,
party.short,
party.cmp,
party_name_english,
party_name,
eco.mean,
pop.mean,
pop.vote,
imsmetn,
imdfetn,
impcntr,
imbgeco,
imueclt,
imwbcnt,
imbleco,
imwbcrm,
qfimlng,
qfimcmt,
pplstrd,
trstplc,
trstplt,
trstprt,
trstep,
trstun,
lrscale,
stfeco,
stfgov,
stfdem,
hrshsnt,
hrshsnta,
impsafe,
ipfrule,
ipbhprp,
ipstrgv,
imptrad,
imprich,
impenv,
freehms,
mnrgtjb,
wmcpwrk,
rlgblg,
rlgdgr,
rlgatnd,
pray,
polintr,
vote = vote.x,
contplt,
wrkprty,
wrkorg,
badge,
sgnptit,
pbldmn,
bctprd,
mmbprty) %>%
mutate(country = case_when(country == "BE" ~ "Belgium",
country == "DK" ~ "Denmark",
country == "DE" ~ "Germany",
country == "GR" ~ "Greece",
country == "ES" ~ "Spain",
country == "FR" ~ "France",
country == "IE" ~ "Ireland",
country == "IL" ~ "Israel",
country == "IT" ~ "Italy",
country == "IS" ~ "Iceland",
country == "NL" ~ "Netherlands",
country == "GB" ~ "UK",
country == "PT" ~ "Portugal",
country == "AT" ~ "Austria",
country == "FI" ~ "Finland",
country == "SE" ~ "Sweden",
country == "RU" ~ "Russia",
country == "UA" ~ "Ukraine",
country == "BG" ~ "Bulgaria",
country == "CZ" ~ "Czech Republic",
country == "EE" ~ "Estonia",
country == "HU" ~ "Hungary",
country == "LV" ~ "Latvia",
country == "LT" ~ "Lithuania",
country == "PL" ~ "Poland",
country == "RO" ~ "Romania",
country == "SK" ~ "Slovakia",
country == "SI" ~ "Slovenia",
country == "HR" ~ "Croatia",
country == "TR" ~ "Turkey",
country == "NO" ~ "Norway",
country == "CH" ~ "Switzerland",
country == "MT" ~ "Malta",
country == "LU" ~ "Luxembourg",
country == "CY" ~ "Cyprus")) %>%
mutate_at(vars(pop.vote:mmbprty),funs(as.integer)) %>%
mutate(impcntr = if_else(impcntr > 11, NA_integer_, impcntr))
rm("ess")
#gc()
```
```{r ess-vote, fig.width=10, out.width= "100%", fig.asp =.7, cache = TRUE}
ess.group.age <- ess.select %>%
filter(!is.na(pop.vote)) %>%
mutate(weighted.vote = pop.vote * comb.weight) %>%
mutate(study.year = age + birth.year) %>%
mutate(age = replace(age, age > 85, 85),
age = replace(age, age < 21, 21)) %>%
mutate(birth.year = study.year - age) %>%
group_by(ess.round, age) %>%
summarise(count = n(),
weights = sum(comb.weight),
pop.vote = mean(pop.vote),
weighted.vote = sum(weighted.vote)/weights)
plot.a <- ggplot(data = ess.group.age, mapping = aes(x = age, y = weighted.vote, weight = weights, colour = factor(ess.round), fill = factor(ess.round))) +
stat_smooth(se = FALSE, span = .6) +
# geom_point(mapping = aes(size = weights), alpha = .2) +
guides(size=FALSE, fill = FALSE, colour = guide_legend(title = "ESS Round - Year")) +
labs(x = "Age", y = "Populist party vote share", title = "Age of populist voters in Europe") +
scale_y_percent() +
coord_cartesian(ylim = c(0, .15)) +
theme_ipsum() + scale_color_ipsum(labels = c("1 - 2002", "2 - 2004", "3 - 2006", "4 - 2008", "5 - 2010", "6 - 2012", "7 - 2014")) +
theme(legend.position = "bottom")
ess.group.year <- ess.select %>%
filter(!is.na(pop.vote)) %>%
filter(!(vote == 3), age > 18) %>%
mutate(weighted.vote = pop.vote * comb.weight) %>%
mutate(study.year = age + birth.year) %>%
mutate(age = replace(age, age > 85, 85),
age = replace(age, age < 21, 21)) %>%
mutate(birth.year = study.year - age) %>%
group_by(ess.round, birth.year) %>%
summarise(count = n(),
weights = sum(comb.weight),
pop.vote = mean(pop.vote),
weighted.vote = sum(weighted.vote)/weights)
plot.b <- ggplot(data = ess.group.year, mapping = aes(x = birth.year, y = weighted.vote, weight = weights, colour = factor(ess.round), fill = factor(ess.round))) +
stat_smooth(se = FALSE, span = .6) +
# geom_point(mapping = aes(size = weights), alpha = .2) +
guides(size=FALSE, fill = FALSE, colour = guide_legend(title = "ESS Round - Year")) +
labs(x = "Year of Birth", y = "Populist party vote share", title = "Birth year of populist voters in Europe") +
scale_x_reverse() +
scale_y_percent() +
coord_cartesian(ylim = c(0, .15)) +
theme_ipsum() + scale_color_ipsum(labels = c("1 - 2002", "2 - 2004", "3 - 2006", "4 - 2008", "5 - 2010", "6 - 2012", "7 - 2014")) +
theme(legend.position = "bottom")
cowplot::plot_grid(plot.a, plot.b)
```
In all bar the first two ESS waves the youngest voters are the most likely to vote for populist parties. In all bar the first wave, there is also a drop off of varying intensity in the number of people voting for populist parties starting at around age 70. The graphs clearly demonstrate period effects, especially the notable rise of populist voting in the 21st century. The first ESS wave, conducted in 2001-2002, shows less than 5% of respondents at any age voted for a populist party. By contrast, in the most recent survey, wave 7, almost 15% of the youngest respondents voted for a populist party. Finally, the graphs also show generational effects. At the extreme ends of the age spectrum, it would seem that age is a better predictor of voting patterns, with the youngest and oldest portions of the voting curves lining up better in the age plot than in the year of birth plot. However, the year of birth plot reveals a small bump in the level of populist voting in four of the seven waves for those born in the 1950s, an effect that cannot be observed in the age plot.
Given the counter-intuitive result, it is worth taking a more granular look at the data. Perhaps this finding is driven by one particular country with an overwhelming youth vote for a populist party, an outlier that skews the overall finding. To check for outliers,I plot the populist vote by each of the countries that had a populist party, with all ESS waves combined into one curve in order to maximise sample size. Note that the top row shows countries with a higher populist vote, and thus has a different scale on the y-axis to the other two rows (Norway is plotted on both scales to illustrate the scale difference).
```{r ess-country, fig.width=14, out.width="100%", cache = TRUE}
ess.country <- ess.select %>%
filter(!is.na(pop.vote)) %>%
mutate(weighted.vote = pop.vote * post.weight) %>%
mutate(study.year = age + birth.year) %>%
mutate(age = replace(age, age > 85, 85),
age = replace(age, age < 20, 20)) %>%
mutate(birth.year = study.year - age) %>%
group_by(country, age) %>%
summarise(count = n(),
weights = sum(post.weight),
pop.vote = mean(pop.vote),
weighted.vote = sum(weighted.vote)/weights)
by.pop <- ess.country %>% group_by(country) %>% mutate(av.pop = mean(weighted.vote)) %>% arrange(desc(av.pop)) %>% distinct(country, .keep_all = TRUE) %>% pull(country)
high.pop <- by.pop[c(1:8)]
low.pop <- by.pop[c(8:22)]
some.pop <- by.pop[c(1:22)]
p1 <- ggplot(ess.country %>% filter(country %in% high.pop), aes(x = age, y = weighted.vote, weight = weights)) +
geom_smooth(se = TRUE, span = .75) + facet_wrap(~country, ncol = 8) + labs(x = NULL, y = "Populist party vote share") + theme_ipsum() + scale_y_percent() +
theme(panel.spacing.x=unit(0.2, "lines"),panel.spacing.y=unit(1, "lines"))
p2 <- ggplot(ess.country %>% filter(country %in% low.pop), aes(x = age, y = weighted.vote, weight = weights)) +
geom_smooth(se = TRUE, span = .75) + facet_wrap(~country, ncol = 8) + coord_cartesian(ylim = c(-.025,.235)) + labs(x = "Age", y = "Populist party vote share", caption = "Norway is plotted twice to illustrate the change of scale") + scale_y_percent() + theme_ipsum() + theme(axis.title.x=element_text(hjust=.5), panel.spacing.x=unit(0.2, "lines"),panel.spacing.y=unit(1, "lines"))
cowplot::plot_grid(p1, p2, nrow = 2, rel_heights = c(1, 2))
```
While there are significant differences in trends between the countries, it is also clear that young people voting for populist parties is not isolated to one country. France, Norway, Belgium, Netherlands, Bulgaria, Finland, Germany and Turkey all show a clear trend that younger people are more likely to vote for populist parties. Clearly, the data is not uniform, and there are countries that buck the overall trend. As such, we can conclude that the data is somewhat country specific. Nevertheless, as there is nothing particularly obvious connecting the countries to do share the trend, and because respondents have been weighted to take into account country population, we can conclude that the overall data is valid; this result is not driven by a sole outlying country that has a huge young populist vote. The trend shows up in multiple unrelated countries as well as the overall plot. As such, young voters across Europe *are* more likely to vote for populist parties than older voters.
#What drives populist voting?
Given the surprising finding that populist radical right parties are more likely to be supported by young people, we can now turn to the next question: what is driving this support? Broadly, there are two main schools of thought to answer this question, one emphasising economic insecurity and the other pointing to cultural grievances. Unfortunately, neither theory predicts that young cohorts will vote for populist radical right parties at the highest rate. The cultural grievance hypothesis explicitly predicts that young voters ought to be the least likely to vote for radical right populist parties. It is harder to judge the economic insecurity thesis because it does not specify which cohorts are the most economically insecure, but in its most usual enunciation it argues that it is the 'losers of globalisation' who are susceptible to populist voting; older workers that have been laid-off as their jobs are shipped offshore. As such, this theory also fails to predict that young people are more likely to be populist voters. Nevertheless, both theories are examined in depth in order to find out exactly where they went wrong. I conclude that failing to explicitly treat age as a variable is the downfall of these theories. Finally, I examine what might cause age itself to cause young people to vote for populist radical right parties. Study after study shows that voting is a habit, and the data supports this with young voters having a much lower turnout than any other age group. I therefore conclude that only the most motivated and therefore most extreme young voters actually bother to vote, which naturally results in radical parties of both sides receiving a higher share of the vote than they do with other age groups.
```{r ess-function}
range01 <- function(x, ...){(x - min(x, ...)) / (max(x, ...) - min(x, ...))}
essvar.plot <- function(variable){
variable <- enquo(variable)
ess.var <- ess.select %>%
filter(!is.na(pop.vote)) %>%
filter(!is.na((!!variable))) %>%
mutate(scaled.var = range01(!!variable)) %>%
mutate(weighted.var = scaled.var * comb.weight) %>%
mutate(study.year = age + birth.year) %>%
mutate(age = replace(age, age > 85, 85),
age = replace(age, age < 18, 18)) %>%
mutate(birth.year = study.year - age) %>%
group_by(age) %>%
summarise(count = n(),
weights = sum(comb.weight),
pop.vote = mean((!!variable)),
weighted.var = sum(weighted.var)/weights,
weighted.var = weighted.var * 100)
ess.var.pop <- ess.select %>%
filter(!is.na((!!variable))) %>%
filter(pop.vote == 1) %>%
mutate(scaled.var = range01(!!variable)) %>%
mutate(weighted.var = scaled.var * comb.weight) %>%
mutate(study.year = age + birth.year) %>%
mutate(age = replace(age, age > 85, 85),
age = replace(age, age < 18, 18)) %>%
mutate(birth.year = study.year - age) %>%
group_by(age) %>%
summarise(count = n(),
weights = sum(comb.weight),
pop.vote = mean((!!variable)),
weighted.var = sum(weighted.var)/weights,
weighted.var = weighted.var * 100)
p <- ggplot(data = ess.var, aes(x = age, y = weighted.var, weight = weights))
p + geom_smooth(se = TRUE, span = .6, colour = "Blue", fill = "Blue") + geom_smooth(data = ess.var.pop, se = TRUE, span = .6, colour = "Red", fill = "Red") +
labs(title = variable) +
guides(colour = FALSE)
}
essvar.group <- function(variable){
variable <- enquo(variable)
ess.var <- ess.select %>%
filter(!is.na(pop.vote)) %>%
filter(!is.na((!!variable))) %>%
mutate(scaled.var = range01(!!variable)) %>%
mutate(weighted.var = scaled.var * comb.weight) %>%
mutate(study.year = age + birth.year) %>%
mutate(age = replace(age, age > 85, 85),
age = replace(age, age < 18, 18)) %>%
mutate(birth.year = study.year - age) %>%
group_by(age) %>%
summarise(count = n(),
weights = sum(comb.weight),
pop.vote = mean((!!variable)),
weighted.var = sum(weighted.var)/weights,
weighted.var = weighted.var * 100) %>%
mutate(pop = 0)
ess.var.pop <- ess.select %>%
filter(!is.na((!!variable))) %>%
filter(pop.vote == 1) %>%
mutate(scaled.var = range01(!!variable)) %>%
mutate(weighted.var = scaled.var * comb.weight) %>%
mutate(study.year = age + birth.year) %>%
mutate(age = replace(age, age > 85, 85),
age = replace(age, age < 18, 18)) %>%
mutate(birth.year = study.year - age) %>%
group_by(age) %>%
summarise(count = n(),
weights = sum(comb.weight),
pop.vote = mean((!!variable)),
weighted.var = sum(weighted.var)/weights,
weighted.var = weighted.var * 100) %>%
mutate(pop = 1)
ess.comb <- rbind(ess.var, ess.var.pop)
return(ess.comb)
}
essvar.birth <- function(variable){
variable <- enquo(variable)
ess.var <- ess.select %>%
filter(!is.na(pop.vote)) %>%
filter(!is.na((!!variable))) %>%
mutate(scaled.var = range01(!!variable)) %>%
mutate(weighted.var = scaled.var * comb.weight) %>%
mutate(study.year = age + birth.year) %>%
mutate(age = replace(age, age > 85, 85),
age = replace(age, age < 18, 18)) %>%
mutate(birth.year = study.year - age) %>%
group_by(birth.year) %>%
summarise(count = n(),
weights = sum(comb.weight),
pop.vote = mean((!!variable)),
weighted.var = sum(weighted.var)/weights,
weighted.var = weighted.var * 100) %>%
mutate(pop = 0)
ess.var.pop <- ess.select %>%
filter(!is.na((!!variable))) %>%
filter(pop.vote == 1) %>%
mutate(scaled.var = range01(!!variable)) %>%
mutate(weighted.var = scaled.var * comb.weight) %>%
mutate(study.year = age + birth.year) %>%
mutate(age = replace(age, age > 85, 85),
age = replace(age, age < 18, 18)) %>%
mutate(birth.year = study.year - age) %>%
group_by(birth.year) %>%
summarise(count = n(),
weights = sum(comb.weight),
pop.vote = mean((!!variable)),
weighted.var = sum(weighted.var)/weights,
weighted.var = weighted.var * 100) %>%
mutate(pop = 1)
ess.comb <- rbind(ess.var, ess.var.pop)
return(ess.comb)
}
essvar.birth.reverse <- function(variable){
variable <- enquo(variable)
ess.var <- ess.select %>%
filter(!is.na(pop.vote)) %>%
filter(!is.na((!!variable))) %>%
mutate(scaled.var = range01(!!variable),
scaled.var = 1 - scaled.var) %>%
mutate(weighted.var = scaled.var * comb.weight) %>%
mutate(study.year = age + birth.year) %>%
mutate(age = replace(age, age > 85, 85),
age = replace(age, age < 18, 18)) %>%
mutate(birth.year = study.year - age) %>%
group_by(birth.year) %>%
summarise(count = n(),
weights = sum(comb.weight),
pop.vote = mean((!!variable)),
weighted.var = sum(weighted.var)/weights,
weighted.var = weighted.var * 100) %>%
mutate(pop = 0)
ess.var.pop <- ess.select %>%
filter(!is.na((!!variable))) %>%
filter(pop.vote == 1) %>%
mutate(scaled.var = range01(!!variable),
scaled.var = 1 - scaled.var) %>%
mutate(weighted.var = scaled.var * comb.weight) %>%
mutate(study.year = age + birth.year) %>%
mutate(age = replace(age, age > 85, 85),
age = replace(age, age < 18, 18)) %>%
mutate(birth.year = study.year - age) %>%
group_by(birth.year) %>%
summarise(count = n(),
weights = sum(comb.weight),
pop.vote = mean((!!variable)),
weighted.var = sum(weighted.var)/weights,
weighted.var = weighted.var * 100) %>%
mutate(pop = 1)
ess.comb <- rbind(ess.var, ess.var.pop)
return(ess.comb)
}
ess.plot <- function(d1, var){
ggplot(data = d1, aes(x = var, y = weighted.var, weight = weights, colour = factor(pop), fill = factor(pop))) +
geom_smooth(se = TRUE, span = .7) +
theme_ipsum() +
scale_color_brewer(labels = c("All voters", "Voted for a populist party"), palette = "Set1", direction=-1) +
scale_fill_brewer(labels = c("All voters", "Voted for a populist party"), palette = "Set1", direction=-1) +
labs(colour = NULL, fill = NULL) +
coord_cartesian(ylim = c(0, 100))
}
```
```{r more vars, cache=TRUE}
ess.select <- ess.select %>% mutate(imm = (range01(imbgeco, na.rm = T) + range01(imueclt, na.rm = T) + range01(imwbcnt, na.rm = T))/3,
auth = (range01(impsafe, na.rm = T) + range01(ipfrule, na.rm = T) + range01(ipbhprp, na.rm = T) + range01(ipstrgv, na.rm = T) + range01(imptrad, na.rm = T))/5,
global = (range01(trstun, na.rm = T) + range01(trstep, na.rm = T))/2,
national.gov = (range01(trstplt, na.rm = T) + range01(stfgov, na.rm = T) + range01(stfdem, na.rm = T))/3)
```
## Cultural Backlash
Perhaps the most dominant thesis for what drives populist radical right voting is that of cultural grievances, which holds that populist voting is mainly driven by a cultural backlash against the rise of progressive values in society. This thesis was first proposed by Inglehart, who advanced the notion of ‘the silent revolution,’ whereby postmaterial values such as inclusion, environmental protection and equality have all gained greater prominence in recent times. He argues that this prompted a backlash among older generations, who see the erosion of traditional values as detrimental to society and who therefore vote for populist candidates that promise to a return to a society that respects these traditional values. The problem for this theory is that younger people, as we saw earlier, are more likely to vote for populist radical right parties than older people. Given such a spectacularly erroneous prediction, it is tempting to entirely dismiss this theory, but this would be a mistake. Instead, ESS data will again be used in an attempt to figure out exactly where the cultural backlash thesis has gone astray.
The most canonical examples of post-material values were plotted for all respondents as well as for only those who voted for populist parties. Four variables were chosen to reflect how the respondents felt about the environment, LGBTQI rights, and gender equality. Each question was rescaled onto a 0-100 scale, with 100 representing the most liberal option in every case. The results are plotted below.
```{r prog-graph, out.width = "100%", fig.width = 9, fig.asp = .4, cache = TRUE}
d2 <- essvar.birth.reverse(impenv)
d3 <- essvar.birth.reverse(freehms)
d4 <- essvar.birth(wmcpwrk)
d5 <- essvar.birth(mnrgtjb)
p102 <- ess.plot(d2, d2$birth.year) +
labs(x = "Year of birth",
subtitle = "Important to care \nfor the environment",
y = NULL) +
theme(legend.position = "bottom") +
coord_cartesian(ylim = c(15, 85))+ theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
p103 <- ess.plot(d3, d3$birth.year) +
labs(x = "Year of birth",
subtitle = "LGBTQI should be free \nto live as they wish",
y = NULL) +
theme(legend.position = "bottom") +
coord_cartesian(ylim = c(15, 85))+ theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
p104 <- ess.plot(d4, d4$birth.year) +
labs(x = "Year of birth",
subtitle = "Women: \nwork vs family",
y = NULL) +
theme(legend.position = "bottom") +
coord_cartesian(ylim = c(15, 85))+ theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
p105 <- ess.plot(d5, d5$birth.year) +
labs(x = "Year of birth",
subtitle = "Prioritise men for \njobs when they are scarce",
y = NULL) +
theme(legend.position = "bottom") +
coord_cartesian(ylim = c(15, 85)) + theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
cowplot::plot_grid(p102, p103, p104, p105, ncol = 4)
```
The results are largely consistent with the part of the cultural backlash thesis stipulating that each successive generation was likely to be more progressive with regard to post-material values, with the notable exception of the environmental variable. For each of the other three variables, there is a clear linear trend of each younger cohort being successively more likely to hold a liberal view than those older. While the results are somewhat mixed, it can be concluded that the cultural backlash thesis is broadly correct so far; younger voters are more liberal when it comes to post-material values, and populist voters are less liberal than the overall population.
A variant on these post-material values of openness and tolerance is the idea that those voting for populist parties will have a certain psychological profile, specifically of being less open and more deferential to authority. To use the ESS to investigate these whether an authoritarian personality can help explain why young people are voting for populist radical right parties, we build an authoritarian index for each voter using variables that aim to measure how deferential someone is to authority, specifically the importance of living in safe surrounds, following rules, and behaving properly.
```{r auth-graph}
d2 <- essvar.birth(auth)
p107 <- ess.plot(d2, d2$birth.year) +
labs(subtitle = "Authoritarian Index",
x = "Year of birth",
y = NULL) +
coord_cartesian(ylim = c(10, 40))
p107
```
The curves for all voters and for populist voters both bear a striking resemblance to the series of curves we saw earlier when plotting post-material values. That is, the trend is linear for both groups, younger voters have less authoritarian personalities, and populist voters have more authoritarian personalities. So far so good for the post-material values thesis; as younger generations are more materially secure, they can afford to be more open and are less respectful of traditional norms than older generations.
Next, attitudes on immigration are looked at, perhaps the most widely linked variable to populist voting. The ESS asks respondents for their views on the effect immigration has on the economy, culture and overall country, with these variables combined and plotted below. Again, the result concurs with the existing literature. Younger people view immigration more positively than older people, with an approximately linear trend. Populist voters have a much dimmer view of immigrants than the overall public, with young populist voters holding a similar view of immigration to the oldest cohorts of the general public. Finally, the linear trend also holds among the subset of populist voters. Populist voters born earlier still view immigrants less favourably than those born more recently.
```{r imm-graph}
d2 <- essvar.birth(imm)
p106 <- ess.plot(d2, d2$birth.year) +
labs(y = NULL,
x = "Year of birth",
subtitle = "Immigration: net \npositive or negative") +
coord_cartesian(ylim = c(30, 60))
p106
```
At this point, a rather confusing picture is presented. There is clearly something to the idea that younger generations are more liberal when it comes to post-material values. In most of the metrics that have been looked at so far, there is a clear linear trend whereby the youngest cohort has the most liberal view. Furthermore, populist voters are also on the whole less liberal than the overall population. It thus seems logical to draw the conclusion that therefore populist voting is driven in large part by older generations, who are the least liberal. However, this conclusion is wrong; young people are more likely to vote for populist parties than older people. What have we been missed? This is a complex question that I dive into more depth in my full thesis, but essentially this is a correlation vs causation problem. While populist voters are less liberal than the overall population for every year of birth, this is not what is driving the populist vote.
## Economic insecurity
The second major thesis aiming to explain the rise in populist voting is that of economic insecurity. This theory argues that it is the losers of globalisation who are increasingly drawn to populist causes. Again we use ESS data, this time to plot satisfaction in the economy, shown below. What results is a U-shaped curve, with older and younger people most satisfied in the economy, and those born in the late 1950s the least satisfied. Again, this could be a product of the lack of longitudinal data, with someone born in 1960 being 42 years old in the first ESS wave and 54 years old in the most recent, a fairly small and specific portion of their life. Perhaps there is something about these ages that leads to dissatisfaction in the economy. In any case, there is no evidence that young people are especially dissatisfied with the economy, as would be the case if it were driving populist voting. If anything, the opposite is found to be true. Interestingly, the youngest cohort of populist voters is only marginally more pessimistic about the economy than the overall view of the youngest cohort, so much so that the populist margin of error (represented by the error bars) ever so slightly crosses the overall voter curve. Not only are young people not more pessimistic than the other cohorts about the economy, but young populist voters aren't even that much more pessimistic than young people overall. As such, we can dismiss another theory: it is not dissatisfaction with the economy that is spurring younger voters to vote for populist radical right parties.
```{r eco-graph}
d2 <- essvar.birth(stfeco)
d3 <- essvar.group(stfeco)
p110 <- ess.plot(d2, d2$birth.year) +
labs(subtitle = "Satisfaction in the Economy",
x = "Year of birth",
y = NULL) +
coord_cartesian(ylim = c(30, 55))
p110
```
To recap, both of the main theories that purport to explain why people are likely to vote for populist parties fail to predict the voting behaviour of the youngest cohort. They all predict to various extents that older voters are more likely to be populist radical right voters. Given that this has already been found to be not the case, it makes sense that these theories would also be found deficient. Clearly, something is missing. Despite their collective failure to predict the populist vote age curve, most of these theories *do* tend to accurately portray the views of younger cohorts, describing them as less authoritarian, more liberal on social values, and less likely to be victims of globalisation, all of which is true. This further illustrates why it is so perplexing that younger cohorts are more likely to vote for populist parties. However, perhaps our focus has been misdirected: so far all of the theories looked at have advocated that some particular variable is what drives populist voting, and comparing the age distribution of that variable to the age distribution of the populist vote we have come up short each time. Perhaps age itself is the variable we are looking for.
##Age as a variable
Finally, we look at age itself as a variable. Perhaps younger people are always the most sceptical of the current political system because they have the least sway in democratic societies. As 18 year olds enter the electorate, they are dwarfed in number by older generations, and accordingly politicians pay little attention to them. Young people might therefore wish to express their discontent with the political status quo with a vote for parties that are overtly hostile toward it. Populist parties, with their emphasis on anti-elites, might appeal in this scenario. Below we plot three variables that might pick up on this discontent: trust in politicians, satisfaction with the national government and satisfaction with democracy. The last plot, trust in national governance, is a simple average of the other three. This plot shows some interesting results, but while the knowledge that older people are more generally more favourable to national political institutions than younger people is valuable, these results still don't shed any light on why younger voters are more likely to vote for populist parties. At worst, younger voters are no more dissatisfied with domestic political governance than those who are 50, and yet they still vote for populist parties at a higher rate.
```{r nat-graph, out.width="100%", fig.width=9, fig.asp=.4, cache=TRUE}
d2 <- essvar.group(national.gov)
d3 <- essvar.group(trstplt)
d4 <- essvar.group(stfgov)
d5 <- essvar.group(stfdem)
p108 <- ess.plot(d2, d2$age) +
labs(subtitle = "Trust in national governance",
x = "Age",
y = NULL) +
coord_cartesian(ylim = c(25, 60)) +
theme(legend.position = "bottom")+ theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
p112 <- ess.plot(d3, d3$age) +
labs(subtitle = "Trust in politicians",
x = "Age",
y = NULL) +
coord_cartesian(ylim = c(25, 60)) +
theme(legend.position = "bottom")+ theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
p113 <- ess.plot(d4, d4$age) +
labs(subtitle = "Satisfaction with government",
x = "Age",
y = NULL) +
coord_cartesian(ylim = c(25, 60)) +
theme(legend.position = "bottom")+ theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
p114 <- ess.plot(d5, d5$age) +
labs(subtitle = "Satisfaction with democracy",
x = "Age",
y = NULL) +
coord_cartesian(ylim = c(25, 60)) +
theme(legend.position = "bottom")+ theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
cowplot::plot_grid(p112, p113, p114, p108, ncol = 4)
```
Perhaps it is not domestic governance that young voters are riled up about, but instead global governing institutions, specifically the European Parliament and the United Nations. Respondents' feelings toward these two bodies are plotted in below, alongside the average of these variables, plotted as 'Trust in Global Governance.' For comparison, the average of the national governance variables from above is also plotted. Especially among the younger voters, global political institutions are viewed in high regard. Overall, I find no evidence that younger voters are voting for populist parties because they are dissatisfied with either global or domestic governance.
```{r global-graph, out.width="100%", fig.width=9, fig.asp=.4, cache=TRUE}
d2 <- essvar.group(global)
d3 <- essvar.group(trstun)
d4 <- essvar.group(trstep)
p109 <- ess.plot(d2, d2$age) +
labs(subtitle = "Trust in global governance",
x = "Age",
y = NULL) +
coord_cartesian(ylim = c(30, 60)) +
theme(legend.position = "bottom")+ theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
p108 <- p108 + coord_cartesian(ylim = c(30,60))
p116 <- ess.plot(d3, d3$age) +
labs(subtitle = "Trust in UN",
x = "Age",
y = NULL) +
coord_cartesian(ylim = c(30, 60)) +
theme(legend.position = "bottom")+ theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
p117 <- ess.plot(d4, d4$age) +
labs(subtitle = "Trust in European Parliament",
x = "Age",
y = NULL) +
coord_cartesian(ylim = c(30, 60)) +
theme(legend.position = "bottom")+ theme(plot.margin = unit(c(.35, .35, .35, .35), "cm"))
cowplot::plot_grid(p116, p117, p109, p108, ncol = 4)
```
Finally, we turn to voting itself. There is a wealth of literature establishing that voting is habitual, both in terms of turnout and vote choice. Young people have not built the habit of voting and do so in far lower numbers than the rest of the population. The is demonstrated for each wave of ESS data below. Firstly, we can see that for the youngest age groups, the curves by age line up much more neatly than those by birth year. Secondly, we can see that after the most recent years of birth, where the respondents were young, the curves by birth year line up better than those by age, reflecting the fact that voting is a habit. Those who have experienced a few elections and voted in them are likely to continue to do so, while those who have experienced a few elections and not voted are also likely to continue to do so. Turnout therefore stabilises after the initial turbulence caused by age, and is thereafter driven more by cohort than age. Finally, a period effect in the form of the steady decline of turnout is also visible by focusing on a fixed age, for example 40 years old. Around 80% of 40 year olds voted in the first wave of the ESS, conducted in 2002, compared to around 70% of 40 year olds in the most recent wave.
```{r turnout, fig.width= 10, figure.asp = .8, out.width="100%"}
ess.var2 <- ess.select %>%
mutate(vote = ifelse(vote == 3, NA, vote)) %>%
filter(country %in% some.pop) %>%
filter(!is.na(vote)) %>%
mutate(scaled.var = 1 - range01(vote)) %>%
mutate(weighted.var = scaled.var * comb.weight) %>%
mutate(study.year = age + birth.year) %>%
mutate(age = replace(age, age > 85, 85),
age = replace(age, age < 18, 18)) %>%
mutate(birth.year = study.year - age) %>%
group_by(ess.round, birth.year) %>%
summarise(count = n(),
weights = sum(comb.weight),
pop.vote = mean(vote),
weighted.var = sum(weighted.var)/weights,
weighted.var = weighted.var * 100)
ess.var3 <- ess.select %>%
mutate(vote = ifelse(vote == 3, NA, vote)) %>%
filter(country %in% some.pop) %>%
filter(!is.na(vote)) %>%
mutate(scaled.var = 1 - range01(vote)) %>%