use std::collections::VecDeque; fn main() { let mut input = String::new(); std::io::Read::read_to_string(&mut std::io::stdin(), &mut input).ok(); let input: Vec = input .split_whitespace() .map(|n| n.parse().unwrap()) .collect(); let mut cards: VecDeque<_> = (1..=input[0]).collect(); for &i in &input[2..] { let removed = cards.remove(usize::try_from(i).unwrap() - 1).unwrap(); cards.push_front(removed); } println!("{}", cards.pop_front().unwrap()); }