#![allow(non_upper_case_globals, non_camel_case_types)] use rand::{thread_rng, prelude::SliceRandom}; use struct_iterable::Iterable; use std::ops::Index; #[derive(Clone, Debug, PartialEq, Eq, Hash)] pub enum Party { republican, democrat, } #[derive(Clone, Debug, PartialEq, Eq, Hash)] pub enum Value { y, n, q, } use Party::{republican, democrat}; use Value::{y, n, q}; #[derive(Clone, Debug, PartialEq, Iterable)] pub struct Person { pub party: Party, pub handicapped_infants: Value, pub water_project_cost_sharing: Value, pub adoption_of_the_budget_resolution: Value, pub physician_fee_freeze: Value, pub el_salvador_aid: Value, pub religious_groups_in_schools: Value, pub anti_satellite_test_ban: Value, pub aid_to_nicaraguan_contras: Value, pub mx_missile: Value, pub immigration: Value, pub synfuels_corporation_cutback: Value, pub education_spending: Value, pub superfund_right_to_sue: Value, pub crime: Value, pub duty_free_exports: Value, pub export_administration_act_south_africa: Value, } impl Index<&'_ str> for Person { type Output = Value; fn index(&self, s: &str) -> &Value { match s { "handicapped_infants" => &self.handicapped_infants, "water_project_cost_sharing" => &self.water_project_cost_sharing, "adoption_of_the_budget_resolution" => &self.adoption_of_the_budget_resolution, "physician_fee_freeze" => &self.physician_fee_freeze, "el_salvador_aid" => &self.el_salvador_aid, "religious_groups_in_schools" => &self.religious_groups_in_schools, "anti_satellite_test_ban" => &self.anti_satellite_test_ban, "aid_to_nicaraguan_contras" => &self.aid_to_nicaraguan_contras, "mx_missile" => &self.mx_missile, "immigration" => &self.immigration, "synfuels_corporation_cutback" => &self.synfuels_corporation_cutback, "education_spending" => &self.education_spending, "superfund_right_to_sue" => &self.superfund_right_to_sue, "crime" => &self.crime, "duty_free_exports" => &self.duty_free_exports, "export_administration_act_south_africa" => &self.export_administration_act_south_africa, _ => panic!("unknown field: {}", s), } } } impl Person { const fn new( party: Party, handicapped_infants: Value, water_project_cost_sharing: Value, adoption_of_the_budget_resolution: Value, physician_fee_freeze: Value, el_salvador_aid: Value, religious_groups_in_schools: Value, anti_satellite_test_ban: Value, aid_to_nicaraguan_contras: Value, mx_missile: Value, immigration: Value, synfuels_corporation_cutback: Value, education_spending: Value, superfund_right_to_sue: Value, crime: Value, duty_free_exports: Value, export_administration_act_south_africa: Value, ) -> Person { Person { party, handicapped_infants, water_project_cost_sharing, adoption_of_the_budget_resolution, physician_fee_freeze, el_salvador_aid, religious_groups_in_schools, anti_satellite_test_ban, aid_to_nicaraguan_contras, mx_missile, immigration, synfuels_corporation_cutback, education_spending, superfund_right_to_sue, crime, duty_free_exports, export_administration_act_south_africa, } } } /// Returns (training, testing) pub fn get_data() -> (Vec, Vec) { let mut vec = dataset.to_vec(); assert_eq!((vec.len() as f64 * 0.8) as usize - 1, 347); // We want 61.37931% to be democrats and the other to be republican // We use 80% for training and 20% for testing // Meaning, our training data is 348 elements, // where 214 are democrats and 134 are republicans vec.rotate_right(134); let (a, b) = vec.split_at(348); assert_eq!(a.len(), 348); assert_eq!( a.into_iter() .fold(0, |acc, person| if person.party == Party::republican { acc + 1 } else { acc }), 134); let (mut a, mut b) = (a.to_vec(), b.to_vec()); a.shuffle(&mut thread_rng()); b.shuffle(&mut thread_rng()); (a, b) } pub fn get_dataset() -> Vec { let mut ret = dataset.to_vec(); ret.shuffle(&mut thread_rng()); ret } /// Returns (training, testing) pub fn get_data_fold(fold: usize, total_folds: usize, ds: &Vec) -> (Vec, Vec) { let length = (ds.len() as f64 / total_folds as f64) as usize; let start = fold * length; let end = start + length; let mut training = ds[..start].to_vec(); training.append(&mut ds[end..].to_vec()); (training, ds[start..end].to_vec()) } static dataset: [Person; 435] = [ Person::new(democrat,n,n,n,n,n,n,y,y,y,y,n,y,y,y,y,y), Person::new(democrat,n,n,n,n,n,y,n,y,y,n,y,y,y,y,y,n), Person::new(democrat,n,n,n,n,n,y,y,y,y,n,y,n,n,y,y,y), Person::new(democrat,n,n,n,n,y,y,n,n,n,y,y,y,y,y,n,y), Person::new(democrat,n,n,n,n,y,y,y,n,n,n,n,y,y,y,n,y), Person::new(democrat,n,n,n,y,y,y,n,n,n,n,y,y,y,y,n,n), Person::new(democrat,n,n,q,n,n,y,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,n,n,q,n,y,y,n,n,n,n,y,y,y,y,n,y), Person::new(democrat,n,n,y,n,n,n,y,y,n,y,y,n,n,n,y,q), Person::new(democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,n,n,n,n,y,y,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,n,n,q,n,n,y,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,n,y,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,n,y,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,y,n,n,n,n,n,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,y,n,n,n,y,n,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,y,n,n,y,n,y,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,n,y,y,y,y,y,n,q,n,y,q), Person::new(democrat,n,n,y,n,n,n,y,y,y,y,y,q,n,n,y,y), Person::new(democrat,n,n,y,n,n,y,n,y,y,y,n,n,n,y,n,y), Person::new(democrat,n,n,y,n,n,y,q,y,q,y,y,y,n,y,y,q), Person::new(democrat,n,n,y,n,n,y,y,q,y,y,y,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,y,y,y,n,n,y,n,n,y,q,y), Person::new(democrat,n,n,y,n,n,y,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,y,y,y,y,n,y,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,y,y,y,y,n,y,n,n,y,y,y), Person::new(democrat,n,n,y,n,n,y,y,y,y,n,y,y,n,y,y,q), Person::new(democrat,n,n,y,n,n,y,y,y,y,y,n,n,n,y,n,y), Person::new(democrat,n,n,y,n,n,y,y,y,y,y,n,n,n,y,q,y), Person::new(democrat,n,n,y,n,n,y,y,y,y,y,n,n,y,n,n,y), Person::new(democrat,n,n,y,n,n,y,y,y,y,y,n,y,n,n,n,y), Person::new(democrat,n,n,y,n,n,y,y,y,y,y,n,y,n,y,y,q), Person::new(democrat,n,n,y,n,n,y,y,y,y,y,y,n,n,n,q,y), Person::new(democrat,n,n,y,n,n,y,y,y,y,y,y,n,n,n,y,y), Person::new(democrat,n,n,y,n,n,y,y,y,y,y,y,n,y,y,n,y), Person::new(democrat,n,n,y,n,y,n,y,y,y,n,n,n,n,y,q,y), Person::new(democrat,n,n,y,n,y,y,n,n,n,n,q,n,y,y,n,n), Person::new(democrat,n,n,y,n,y,y,n,n,n,y,y,y,y,y,n,y), Person::new(democrat,n,n,y,y,y,y,n,n,y,n,n,n,y,y,y,q), Person::new(democrat,n,q,n,n,n,y,y,y,y,y,n,n,n,y,n,q), Person::new(democrat,n,q,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,n,q,y,n,n,n,y,y,y,y,y,n,n,y,y,y), Person::new(democrat,n,q,y,n,n,y,n,y,n,y,y,n,n,n,y,y), Person::new(democrat,n,q,y,n,n,y,y,y,n,y,n,n,n,n,y,q), Person::new(democrat,n,q,y,n,n,y,y,y,y,y,n,n,n,y,y,y), Person::new(democrat,n,q,y,n,q,q,y,y,y,y,q,q,n,n,y,y), Person::new(democrat,n,q,y,n,y,y,n,y,n,n,y,n,n,n,n,q), Person::new(democrat,n,q,y,q,n,y,y,y,y,y,y,n,q,q,y,y), Person::new(democrat,n,y,n,n,n,n,y,y,y,y,y,n,n,n,y,y), Person::new(democrat,n,y,n,n,n,y,y,n,y,n,y,n,n,n,y,y), Person::new(democrat,n,y,n,n,y,y,n,n,n,n,n,y,y,y,y,y), Person::new(democrat,n,y,n,n,y,y,n,n,n,y,y,n,y,y,n,n), Person::new(democrat,n,y,n,n,y,y,n,n,q,n,n,y,y,y,n,y), Person::new(democrat,n,y,n,y,n,y,y,y,y,n,y,n,y,n,y,q), Person::new(democrat,n,y,n,y,y,y,n,n,n,n,n,n,q,y,y,y), Person::new(democrat,n,y,n,y,y,y,n,n,n,n,y,y,n,y,n,n), Person::new(democrat,n,y,y,n,n,n,n,y,y,n,y,n,n,y,y,y), Person::new(democrat,n,y,y,n,n,n,n,y,y,y,y,n,n,n,y,y), Person::new(democrat,n,y,y,n,n,n,y,y,n,n,y,n,n,n,y,q), Person::new(democrat,n,y,y,n,n,n,y,y,q,y,n,n,y,n,y,y), Person::new(democrat,n,y,y,n,n,n,y,y,y,n,n,n,y,n,q,q), Person::new(democrat,n,y,y,n,n,n,y,y,y,y,n,n,n,n,y,y), Person::new(democrat,n,y,y,n,n,n,y,y,y,y,n,n,q,n,y,y), Person::new(democrat,n,y,y,n,n,n,y,y,y,y,y,n,n,n,y,y), Person::new(democrat,n,y,y,n,n,q,y,y,y,y,y,n,q,y,y,y), Person::new(democrat,n,y,y,n,n,y,n,y,y,n,y,n,q,q,q,q), Person::new(democrat,n,y,y,n,n,y,n,y,y,n,y,n,y,n,y,y), Person::new(democrat,n,y,y,n,n,y,n,y,y,y,n,n,y,y,n,y), Person::new(democrat,n,y,y,n,n,y,n,y,y,y,y,n,y,n,y,y), Person::new(democrat,n,y,y,n,n,y,y,y,n,y,n,n,n,n,y,y), Person::new(democrat,n,y,y,n,n,y,y,y,n,y,y,n,y,y,n,q), Person::new(democrat,n,y,y,n,n,y,y,y,q,n,y,y,n,n,y,y), Person::new(democrat,n,y,y,n,n,y,y,y,q,y,n,n,n,n,n,y), Person::new(democrat,n,y,y,n,n,y,y,y,y,n,q,n,n,n,n,y), Person::new(democrat,n,y,y,n,n,y,y,y,y,n,y,n,n,y,y,y), Person::new(democrat,n,y,y,n,n,y,y,y,y,y,n,n,y,y,y,y), Person::new(democrat,n,y,y,n,n,y,y,y,y,y,n,q,n,n,y,y), Person::new(democrat,n,y,y,n,n,y,y,y,y,y,y,n,y,n,y,q), Person::new(democrat,n,y,y,n,q,y,n,n,n,n,y,n,y,n,n,y), Person::new(democrat,n,y,y,n,q,y,y,y,y,y,y,n,n,q,n,q), Person::new(democrat,n,y,y,n,y,q,y,n,n,y,y,n,y,n,y,y), Person::new(democrat,n,y,y,n,y,y,n,n,n,n,n,n,y,y,y,y), Person::new(democrat,n,y,y,n,y,y,n,n,n,n,y,n,n,n,y,q), Person::new(democrat,n,y,y,n,y,y,n,n,n,y,y,y,y,y,n,q), Person::new(democrat,n,y,y,n,y,y,n,y,n,n,n,n,n,n,n,y), Person::new(democrat,n,y,y,n,y,y,y,n,n,n,y,y,y,y,n,y), Person::new(democrat,n,y,y,n,y,y,y,n,y,y,y,n,y,y,n,y), Person::new(democrat,n,y,y,n,y,y,y,y,n,n,y,n,y,n,y,y), Person::new(democrat,n,y,y,q,y,y,n,y,n,y,q,n,y,y,q,y), Person::new(democrat,n,y,y,y,y,y,n,n,n,n,n,y,y,y,n,q), Person::new(democrat,n,y,y,y,y,y,n,n,n,n,y,y,q,y,n,n), Person::new(democrat,n,y,y,y,y,y,n,n,n,y,y,n,y,y,n,n), Person::new(democrat,n,y,y,y,y,y,n,n,n,y,y,y,y,y,y,q), Person::new(democrat,n,y,y,y,y,y,n,y,y,y,y,y,y,y,n,y), Person::new(democrat,q,n,y,n,n,n,y,y,y,y,y,q,n,n,y,q), Person::new(democrat,q,q,n,n,q,y,q,n,n,n,y,y,n,y,n,q), Person::new(democrat,q,q,q,n,n,n,y,y,y,y,n,n,y,n,y,y), Person::new(democrat,q,q,q,q,n,y,y,y,y,y,q,n,y,y,n,q), Person::new(democrat,q,q,q,q,q,q,q,q,y,q,q,q,q,q,q,q), Person::new(democrat,q,q,y,n,n,n,y,y,q,n,q,q,q,q,q,q), Person::new(democrat,q,q,y,n,n,n,y,y,y,q,q,n,n,n,q,q), Person::new(democrat,q,y,n,n,n,n,y,y,y,y,y,n,n,y,y,y), Person::new(democrat,q,y,y,q,y,y,n,n,n,n,y,n,y,y,n,n), Person::new(democrat,y,n,n,n,n,n,y,y,y,y,n,n,n,n,y,y), Person::new(democrat,y,n,n,n,n,y,y,y,y,y,n,n,n,y,y,y), Person::new(democrat,y,n,n,n,y,y,n,n,n,n,y,y,n,y,n,y), Person::new(democrat,y,n,n,n,y,y,q,n,q,n,n,n,n,y,q,n), Person::new(democrat,y,n,n,n,y,y,y,n,n,y,y,n,n,y,n,y), Person::new(democrat,y,n,y,n,n,n,n,y,y,y,n,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,q,y,y,q,n,n,n,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,n,y,y,y,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,n,y,y,n,n,n,n,q), Person::new(democrat,y,n,y,n,n,n,y,y,q,n,n,n,n,n,n,q), Person::new(democrat,y,n,y,n,n,n,y,y,q,n,y,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,q,y,y,y,n,y,n,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,n,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,n,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,n,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,q,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,n,n,y,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,y,n,n,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,y,n,n,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,y,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,n,y,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,q,y,n,n,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,n,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,n,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,n,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,y,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,n,n,y,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,n,q,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,q,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,n,y,n,n,y,q), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,y,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,y,n,n,y,n,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,y,n,n,y,y,y), Person::new(democrat,y,n,y,n,n,n,y,y,y,y,y,n,y,n,y,y), Person::new(democrat,y,n,y,n,n,q,y,y,y,n,q,q,n,q,q,q), Person::new(democrat,y,n,y,n,n,y,n,y,q,y,y,y,q,n,n,y), Person::new(democrat,y,n,y,n,n,y,y,y,n,n,n,y,y,n,n,y), Person::new(democrat,y,n,y,n,n,y,y,y,n,y,y,n,y,y,y,y), Person::new(democrat,y,n,y,n,n,y,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,y,y,y,y,n,n,n,n,y,n,q), Person::new(democrat,y,n,y,n,n,y,y,y,y,n,n,y,q,y,y,y), Person::new(democrat,y,n,y,n,n,y,y,y,y,y,n,n,y,n,n,y), Person::new(democrat,y,n,y,n,n,y,y,y,y,y,n,q,n,y,n,y), Person::new(democrat,y,n,y,n,n,y,y,y,y,y,n,y,n,y,n,q), Person::new(democrat,y,n,y,n,n,y,y,y,y,y,y,n,n,n,n,y), Person::new(democrat,y,n,y,n,n,y,y,y,y,y,y,n,n,n,y,y), Person::new(democrat,y,n,y,n,n,y,y,y,y,y,y,n,n,y,y,y), Person::new(democrat,y,n,y,n,q,n,y,y,y,y,n,y,n,q,y,y), Person::new(democrat,y,n,y,n,q,y,q,y,y,y,n,n,y,y,n,y), Person::new(democrat,y,n,y,n,y,y,n,n,n,n,n,n,n,n,n,y), Person::new(democrat,y,n,y,n,y,y,n,n,y,y,n,n,y,y,n,y), Person::new(democrat,y,n,y,n,y,y,n,q,q,n,y,q,q,q,y,y), Person::new(democrat,y,n,y,n,y,y,y,n,n,n,y,n,n,y,n,y), Person::new(democrat,y,n,y,n,y,y,y,n,q,n,y,n,y,y,y,q), Person::new(democrat,y,n,y,n,y,y,y,n,y,y,n,n,y,y,n,q), Person::new(democrat,y,q,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,q,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,q,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,q,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,q,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,q,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,y,q,y,n,n,n,y,y,y,n,n,n,y,n,y,y), Person::new(democrat,y,q,y,n,n,n,y,y,y,n,n,n,y,n,y,y), Person::new(democrat,y,q,y,n,n,n,y,y,y,n,n,q,n,n,y,y), Person::new(democrat,y,q,y,n,n,n,y,y,y,n,q,n,n,n,y,q), Person::new(democrat,y,q,y,n,n,n,y,y,y,n,y,n,n,n,y,y), Person::new(democrat,y,q,y,n,n,y,y,y,y,y,n,n,n,n,y,q), Person::new(democrat,y,q,y,n,q,q,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,y,n,n,n,n,n,y,y,n,y,n,n,n,y,n), Person::new(democrat,y,y,n,n,n,n,y,y,q,n,y,n,n,n,y,q), Person::new(democrat,y,y,n,n,y,q,n,n,n,n,y,n,y,y,n,y), Person::new(democrat,y,y,n,n,y,y,n,n,n,n,y,y,y,y,y,n), Person::new(democrat,y,y,n,n,y,y,n,n,n,y,y,y,y,y,n,q), Person::new(democrat,y,y,n,y,n,n,y,y,y,n,y,n,n,y,n,y), Person::new(democrat,y,y,n,y,y,y,n,n,n,n,y,n,y,y,n,q), Person::new(democrat,y,y,q,q,q,y,n,n,n,n,y,n,y,n,n,y), Person::new(democrat,y,y,q,y,y,y,n,n,y,n,y,q,y,y,n,n), Person::new(democrat,y,y,y,n,n,n,n,y,y,n,y,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,n,n,n,n,n,y,n,y), Person::new(democrat,y,y,y,n,n,n,y,y,n,y,n,n,n,n,n,y), Person::new(democrat,y,y,y,n,n,n,y,y,n,y,y,n,n,q,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,q,n,y,n,n,n,y,q), Person::new(democrat,y,y,y,n,n,n,y,y,q,y,n,n,n,n,y,q), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,n,q), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,n,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,n,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,n,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,q,q), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,q,q), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,q), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,n,n,q,q,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,q,n,n,n,n,q), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,n,q), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,n,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,n,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,q), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,q), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,y,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,n,y,q,n,n,n,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,y,n,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,y,n,n,y,n,n,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,y,n,n,y,n,y,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,y,y,n,n,n,n,y), Person::new(democrat,y,y,y,n,n,n,y,y,y,y,y,n,y,n,n,y), Person::new(democrat,y,y,y,n,n,q,y,y,n,n,y,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,q,y,y,y,y,n,n,n,n,y,q), Person::new(democrat,y,y,y,n,n,y,q,y,n,n,y,y,n,y,n,q), Person::new(democrat,y,y,y,n,n,y,q,y,y,n,y,n,y,n,y,y), Person::new(democrat,y,y,y,n,n,y,y,y,q,y,y,q,n,n,y,q), Person::new(democrat,y,y,y,n,n,y,y,y,y,n,n,n,n,n,y,y), Person::new(democrat,y,y,y,n,n,y,y,y,y,y,n,n,n,n,n,y), Person::new(democrat,y,y,y,n,n,y,y,y,y,y,n,n,q,n,y,q), Person::new(democrat,y,y,y,n,n,y,y,y,y,y,y,n,y,y,y,y), Person::new(democrat,y,y,y,n,n,y,y,y,y,y,y,y,y,n,n,y), Person::new(democrat,y,y,y,n,n,y,y,y,y,y,y,y,y,y,n,q), Person::new(democrat,y,y,y,n,q,n,y,y,y,y,n,n,n,n,y,q), Person::new(democrat,y,y,y,n,q,y,n,q,n,n,y,n,y,y,n,q), Person::new(democrat,y,y,y,n,q,y,y,y,n,y,q,q,n,n,y,y), Person::new(democrat,y,y,y,n,y,y,n,n,n,n,y,q,y,y,y,y), Person::new(democrat,y,y,y,n,y,y,n,n,n,y,y,n,y,y,n,y), Person::new(democrat,y,y,y,n,y,y,n,n,q,y,n,n,n,y,y,q), Person::new(democrat,y,y,y,n,y,y,n,y,n,n,y,n,y,n,y,y), Person::new(democrat,y,y,y,n,y,y,n,y,n,y,y,n,y,y,n,q), Person::new(democrat,y,y,y,n,y,y,n,y,n,y,y,n,y,y,y,y), Person::new(democrat,y,y,y,n,y,y,n,y,q,y,n,n,y,y,n,q), Person::new(democrat,y,y,y,n,y,y,n,y,y,n,y,n,n,y,n,q), Person::new(democrat,y,y,y,n,y,y,n,y,y,y,y,n,n,n,n,y), Person::new(democrat,y,y,y,n,y,y,y,y,n,y,y,n,n,n,y,q), Person::new(democrat,y,y,y,n,y,y,y,y,y,y,y,n,y,y,n,q), Person::new(democrat,y,y,y,q,n,n,n,y,n,n,y,q,n,n,y,y), Person::new(democrat,y,y,y,q,n,y,y,y,y,n,y,n,y,n,q,y), Person::new(democrat,y,y,y,y,y,y,n,n,n,n,y,y,y,y,n,y), Person::new(republican,n,n,n,n,y,y,y,n,n,n,n,q,n,y,y,y), Person::new(republican,n,n,n,y,n,n,y,y,y,y,n,n,y,y,n,y), Person::new(republican,n,n,n,y,n,y,y,q,y,n,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,n,n,n,n,n,n,y,n,y,n,n), Person::new(republican,n,n,n,y,y,n,n,n,n,n,n,y,n,y,q,y), Person::new(republican,n,n,n,y,y,n,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,n,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,n,y,n,y,y,n,n,n,y,n,y), Person::new(republican,n,n,n,y,y,n,y,y,n,y,n,y,y,y,q,y), Person::new(republican,n,n,n,y,y,n,y,y,y,y,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,q), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,q), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,n,n,y,y,y,y,n), Person::new(republican,n,n,n,y,y,y,n,n,n,n,y,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,q,y,y,n,q), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,n,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,n,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,n,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,n,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,q), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,y,n,y,y,y,y,n), Person::new(republican,n,n,n,y,y,y,n,n,n,y,q,y,y,y,n,n), Person::new(republican,n,n,n,y,y,y,n,n,n,y,q,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,y,y,y,n,y,n,y), Person::new(republican,n,n,n,y,y,y,n,n,n,y,y,y,y,y,n,q), Person::new(republican,n,n,n,y,y,y,q,q,q,q,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,y,n,n,y,n,n,n,y,y,y), Person::new(republican,n,n,n,y,y,y,y,n,n,y,n,y,n,y,y,y), Person::new(republican,n,n,n,y,y,y,y,n,n,y,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,y,y,n,y,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,y,y,y,y,n,y,y,y,n,y), Person::new(republican,n,n,n,y,y,y,y,y,y,y,n,y,y,y,q,y), Person::new(republican,n,n,y,y,n,n,y,y,y,y,n,n,n,y,y,y), Person::new(republican,n,n,y,y,y,y,n,n,n,y,n,y,y,y,y,y), Person::new(republican,n,n,y,y,y,y,n,n,y,y,n,y,y,y,n,y), Person::new(republican,n,n,y,y,y,y,y,n,n,n,n,y,y,y,n,y), Person::new(republican,n,n,y,y,y,y,y,n,n,y,y,y,y,y,n,y), Person::new(republican,n,n,y,y,y,y,y,y,n,y,n,n,n,y,n,y), Person::new(republican,n,n,y,y,y,y,y,y,y,y,n,y,y,y,y,y), Person::new(republican,n,q,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,q,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,q,n,y,y,y,n,n,n,n,n,y,y,y,n,q), Person::new(republican,n,q,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,q,n,y,y,y,n,n,n,n,y,y,y,y,n,y), Person::new(republican,n,q,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,q,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,q,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,q,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,q,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,q,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,q,q,q,q,q,q,q,q,q,q,q,q,y,q,q), Person::new(republican,n,q,q,y,y,y,n,n,n,y,n,y,y,y,q,y), Person::new(republican,n,q,y,y,y,y,n,n,n,y,n,n,n,y,n,y), Person::new(republican,n,y,n,y,q,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,y,n,y,y,n,n,n,n,n,q,q,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,n,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,n,y,y,q,y), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,q,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,q,q,n,q), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,q,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,q), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,n,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,n,y,q,y,y,q,q), Person::new(republican,n,y,n,y,y,y,n,n,n,n,y,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,q,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,q,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,q,n,q), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,q), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,q), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,y,n,y,y,y,q,n), Person::new(republican,n,y,n,y,y,y,n,n,n,y,q,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,y,y,y,y,n,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,y,y,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,y,y,y,y,y,n,n), Person::new(republican,n,y,n,y,y,y,n,n,n,y,y,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,n,y,y,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,n,y,y,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,q,n,n,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,n,q,n,n,q,q,q,y,n,q), Person::new(republican,n,y,n,y,y,y,n,q,n,y,n,y,y,y,n,q), Person::new(republican,n,y,n,y,y,y,q,n,n,n,n,q,y,y,n,n), Person::new(republican,n,y,n,y,y,y,q,q,n,n,q,q,y,q,q,q), Person::new(republican,n,y,n,y,y,y,q,q,n,y,n,y,q,q,q,q), Person::new(republican,n,y,n,y,y,y,y,n,n,n,n,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,y,n,n,n,y,y,y,y,n,y), Person::new(republican,n,y,n,y,y,y,y,y,n,n,y,y,y,y,y,y), Person::new(republican,n,y,y,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,n,y,y,y,y,y,y,n,y,y,n,y,y,y,n,y), Person::new(republican,n,y,y,y,y,y,y,q,n,n,n,n,q,q,y,q), Person::new(republican,n,y,y,y,y,y,y,y,y,n,n,y,y,y,n,y), Person::new(republican,q,n,y,y,n,y,y,y,y,y,n,y,n,y,n,y), Person::new(republican,q,q,q,q,n,y,n,y,y,n,n,y,y,n,n,q), Person::new(republican,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q,q), Person::new(republican,y,n,n,n,n,n,y,y,y,y,n,n,n,y,n,y), Person::new(republican,y,n,n,y,y,n,y,n,n,y,n,n,n,y,y,y), Person::new(republican,y,n,n,y,y,n,y,y,y,n,n,y,y,y,n,y), Person::new(republican,y,n,n,y,y,y,n,n,n,n,y,y,y,y,n,n), Person::new(republican,y,n,n,y,y,y,n,n,n,y,n,q,y,y,n,n), Person::new(republican,y,n,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,y,n,y,y,n,n,n,y,y,y,n,n,n,y,y,y), Person::new(republican,y,n,y,y,y,n,y,n,y,y,n,n,y,y,n,y), Person::new(republican,y,n,y,y,y,y,y,y,n,n,n,n,n,y,n,q), Person::new(republican,y,n,y,y,y,y,y,y,n,y,n,y,n,y,y,y), Person::new(republican,y,n,y,y,y,y,y,y,n,y,y,y,n,y,y,y), Person::new(republican,y,q,n,y,y,y,n,n,n,y,n,y,q,y,n,y), Person::new(republican,y,q,n,y,y,y,n,y,n,n,n,y,y,y,n,y), Person::new(republican,y,q,n,y,y,y,y,n,n,y,n,y,y,y,n,y), Person::new(republican,y,q,n,y,y,y,y,y,n,n,n,y,q,y,q,q), Person::new(republican,y,y,n,y,y,y,n,n,n,n,n,n,y,y,n,y), Person::new(republican,y,y,n,y,y,y,n,n,n,n,y,n,y,y,n,y), Person::new(republican,y,y,n,y,y,y,n,n,n,n,y,y,y,y,n,y), Person::new(republican,y,y,n,y,y,y,n,n,n,y,n,n,y,y,n,y), Person::new(republican,y,y,n,y,y,y,n,n,n,y,n,y,y,y,n,n), Person::new(republican,y,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,y,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,y,y,n,y,y,y,n,n,n,y,n,y,y,y,n,y), Person::new(republican,y,y,n,y,y,y,n,n,n,y,y,n,y,n,n,n), Person::new(republican,y,y,n,y,y,y,n,q,n,n,y,y,y,y,n,n), Person::new(republican,y,y,n,y,y,y,y,n,n,n,n,y,y,y,n,n), Person::new(republican,y,y,n,y,y,y,y,n,n,n,n,y,y,y,n,y), Person::new(republican,y,y,y,y,n,n,y,y,y,y,y,n,n,y,n,y), Person::new(republican,y,y,y,y,y,n,y,n,n,n,n,y,y,y,n,y), Person::new(republican,y,y,y,y,y,y,y,y,n,y,n,n,y,y,n,y), Person::new(republican,y,y,y,y,y,y,y,y,n,y,q,q,q,y,n,y), ];