Технокубок 2016 - Отборочный Раунд 1
E
Собери число
Codeforces
2300
原题
← D→
翻译中…

Дано целое неотрицательное число $*k*$ и $*n*$ неотрицательных целых чисел $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$. Записывая некоторые из этих чисел друг за другом в произвольном порядке и, возможно, используя какие-то из них несколько раз (а какие-то вообще не используя), требуется составить кратчайшее (наименьшее по количеству цифр) число, делящееся на $*k*$, или определить, что это невозможно.

翻译中…

Input

翻译中…

В первой строке содержится два целых числа $*n*$ ($1 ≤ *n* ≤ 1 000 000$) и $*k*$ ($1 ≤ *k* ≤ 1000$) — количество чисел и требуемый делитель соответственно.

翻译中…

Во второй строке содержится $*n*$ целых чисел $*a*_{1}, *a*_{2}, ..., *a*_{*n*}$ ($0 ≤ *a*_{*i*} ≤ 10^{9}$).

翻译中…

Output

翻译中…

Если ответ существует, в первой строке выведите «YES» (без кавычек), а во второй строке — искомое кратчайшее число без ведущих нулей. В случае если ответа не существует, в единственной строке выходных данных выведите «NO» (без кавычек).

翻译中…

样例

Input #1
2 3
123 1
Output #1
YES
123
Входные данныеCopy Выходные данныеCopy
Input #2
1 10
1
Output #2
NO
Входные данныеCopy Выходные данныеCopy
Input #3
3 4
1 2 3
Output #3
YES
12
Входные данныеCopy Выходные данныеCopy
Input #4
3 777
12 23 345
Output #4
YES
121212
Входные данныеCopy Выходные данныеCopy
标签
图论
最短路

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。