fn solve() -> u64 {
  let m: u64 = input().parse().unwrap();
  let d: Vec<u8> = input().split(' ').map(|di| di.parse().unwrap()).collect();
  let mut ans = 0;
  for (i, di) in d.iter().enumerate() {
    for _ in 0..*di {
      ans *= 10;
      ans += i as u64 + 1;
    }
  }
  ans *= 1000000000;
  ans += (m - ans % m) % m;
  return ans;
}

fn main() {
  let t: usize = input().parse().unwrap();
  for _ in 0..t {
    println!("{}", solve());
  }
}

fn input() -> String {
  let mut buffer = String::new();
  std::io::stdin().read_line(&mut buffer).unwrap();
  return buffer.trim().to_string();
}