use std::io::*; fn main() { let mut s: String = String::new(); std::io::stdin().read_to_string(&mut s).ok(); let mut itr = s.trim().split_whitespace(); let n: usize = itr.next().unwrap().parse().unwrap(); let m: i64 = itr.next().unwrap().parse().unwrap(); let a: Vec = (0..n) .map(|_| itr.next().unwrap().parse().unwrap()) .collect(); let mut parity = 0; // その山を見たときどっちのターンか let mut score1 = 0i64; let mut score2 = 0i64; for &e in a.iter() { if parity & 1 == 0 { if e == 1 { score1 += 1 - m; parity ^= 1; } else { score1 += e - 1; score2 += 1 - m; } } else { if e == 1 { score2 += 1 - m; parity ^= 1; } else { score2 += e - 1; score1 += 1 - m; } } } if score1 > score2 { println!("First"); } else { println!("Second"); } }