#P12903. [NERC 2020] Digits

    ID: 12720 远端评测题 3000ms 512MiB 尝试: 0 已通过: 0 难度: 7 上传者: 标签>动态规划 DP数学2020Special JudgeICPCNERC/NEERC

[NERC 2020] Digits

Description

Diana 喜欢玩数字游戏。她有 nn 张卡片,每张卡片上写着一个正整数 aia_i。她闲暇时会挑选一些卡片,将这些卡片上的数字相乘。

当这些数字的乘积以她最喜欢的数字 dd 结尾时,Diana 就会很开心。现在她想知道,应该如何选择卡片才能使得这些数字的乘积尽可能大,并且乘积的十进制表示最后一位是 dd。请你帮帮她。

Input Format

第一行包含两个整数 nndd1n1051 \le n \le 10^50d90 \le d \le 9)。第二行包含 nn 个整数 aia_i1ai10001 \le a_i \le 1000)。

Output Format

第一行输出选择的卡片数量 kk1kn1 \le k \le n)。第二行以任意顺序输出被选中卡片上的数字。

如果无法选出满足条件的卡片子集(即乘积最后一位是 dd),则输出一行 1-1

6 4
4 11 8 2 1 13
5
1 2 4 11 13
3 1
2 4 6
-1
5 7
1 3 1 5 3
-1
6 3
8 9 4 17 11 5
3
9 11 17
5 6
2 2 2 2 2
4
2 2 2 2

Hint

在第一个样例中,1×2×4×11×13=11441 \times 2 \times 4 \times 11 \times 13 = 1144,这是以数字 4 结尾的最大乘积。不包含数字 1 的相同卡片组合也是有效答案,包含 8、11 和 13 的组合(无论是否包含 1)同样可以得到乘积 1144。

在第二个样例中,所有卡片上的数字都是偶数,它们的乘积不可能以奇数 1 结尾。

在第三个样例中,所有可能的乘积为 1、3、5、9、15 和 45,它们均不以数字 7 结尾。

在第四个样例中,9×11×17=16839 \times 11 \times 17 = 1683,其最后一位是 3。

在第五个样例中,2×2×2×2=162 \times 2 \times 2 \times 2 = 16,其最后一位是 6。

翻译由 DeepSeek V3 完成