module Main; import CPLib.IO; import CPLib.Bits; main : IO () = ( let n = *read_i; let k = *read_i; let as = *read_is(n); let dp = fill(1.shift_left(n), -1); let dp = dp[0].iset(k); let dp = range(0, 1.shift_left(n) - 1).fold(dp, |flag, dp| range(0, n).fold(dp, |i, dp| if flag.bit_check(i) { dp }; let a = as.@(i); let x = dp.@(flag); let dp = dp[flag.bit_set(i)].imod(max(x % a)); dp ) ); dp.@(1.shift_left(n)-1).to_string.println;; pure() );