Дано целое неотрицательное число $*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» (без кавычек).
样例
2 3
123 1
YES
123
1 10
1
NO
3 4
1 2 3
YES
12
3 777
12 23 345
YES
121212
题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。