CF1510D Digits

题目描述

现有一个长度为 $n$ 的数组 $a$ 。你要从中选择 $k$个不同的数(“不同”指在数组中的位置不同,而数值可以相同),使它们的乘积个位数字是 $d$。如果有多组解,输出乘积最大的一组。

输入格式

第一行,两个数,$n$和 $d$,用空格分开。 第二行,$n$个数,$a_i$。

输出格式

如果不存在满足题目要求的最大解,输出`-1`。 否则,在第一行输出 $k$,在第二行输出所有选择的数(任何顺序都行)。

说明/提示

$1\leq k\leq n\leq 10^5$ $0\leq d\leq 9$ $1\leq a_i\leq 1000$