# frozen_string_literal: true def solve a_max = A.max xas = Array.new(a_max + 1, 1) (1..a_max).each do |i| xas[i] = (xas[i - 1] * X) % L end A.map { xas[_1] }.sum % L end L = 10**6 + 3 X, N = gets.chomp.split.map(&:to_i) A = gets.chomp.split.map(&:to_i) puts solve