Сегодня пари и арий играют в игру остатки. пари выбирает два положительных целых числа x и k и говорит арию k (а x не говорит). арий должен найти x mod k . известны n древних чисел c1, c2, cn, и для каждого из них арий может спросить у пари x mod c . для данного k и набора древних чисел определите, правда ли, что арий выигрывает для любого значения x? входные данные в первой строке входных данных записаны два целых числа n и k (1 ≤ n, k ≤ 1 000 000) — количество древних чисел и значение k, выбранное пари. во второй строке записаны n целых чисел c1, c2, cn (1 ≤ ci ≤ 1 000 000). выходные данные выведите «yes» (без кавычек), если арий может выиграть для любого x, и «no» (без кавычек) в противном случае.
//Pascal ABC.NET 3.1 сборка 1219
Var
arr,arc:array of integer;
k,n,i:integer;
begin
readln(n);
setlength(arc,n+1);
readln(k);
setlength(arr,k);
for i:=1 to n do
begin
readln(arc[i]);
inc(arr[arc[i] mod k]);
end;
for i:=0 to k-1 do
if arr[i]=0 then
begin
writeln('No');
exit;
end;
writeln('Yes');
end.