const MOD: u64 = 1000003; fn main() { proconio::input! { x: u64, n: u64, a: [u64; n], } let ans = a.iter().map(|a| pow_mod(x, *a, MOD)).fold(0, |acc, x| { eprintln!("{x}"); (acc + x) % MOD }); println!("{ans}"); } fn pow_mod(a: u64, b: u64, c: u64) -> u64 { let mut a = a; let mut b = b; let mut res = 1; while b > 0 { if b % 2 == 1 { res = (res * a) % c; } a = (a * a) % c; b /= 2; } res }