#![allow(non_snake_case)] #![allow(dead_code, unused_macros)] use std::process::exit; #[allow(unused_imports)] use proconio::{input, marker::Usize1, marker::Chars}; #[allow(unused_imports)] use itertools::Itertools; macro_rules! d { ( $( $x:expr ),* $(,)? ) => { println!( concat!( $( stringify!($x), "={:?} " ),* ), $( $x ),* ); }; } fn main() { input! { N: usize, A: i64, B: i64, P: [i64; N], } let mut a = A; let mut b = B; for (i, &p) in P.iter().enumerate() { match p { 1 => { a -= 1; }, 2 => { b -= 1; } 3 => { a -= 1; b -= 1; } _ => unreachable!() } if a < 0 || b < 0 { println!("{}", i+1); exit(0); } } println!("-1"); }