#D0903. 密码线索

密码线索

题目描述

小 D 为储物柜设置了一个恰好由 44 位数字组成的密码。密码可以包含重复数字,也可以以 0 开头,例如 0017 是合法密码。

为了防止自己忘记密码,小 D 记录了 mm 条猜测。每条猜测包含一个四位字符串 ss 和两个整数 A,BA,B

  • AA 表示猜测中“数字和位置都正确”的位数;
  • BB 表示除去这 AA 位后,猜测中“数字正确但位置错误”的位数。

计算 BB 时,同一位数字不能被重复匹配。例如,密码为 0012、猜测为 0000 时,A=2,B=0A=2,B=0,因为密码中只有两个 0

保证每条记录中的 A,BA,B 都在形式上合法,但不同记录放在一起后不一定存在满足全部记录的密码。

请找出同时满足所有记录的密码数量,并输出其中字典序最小的一个。

输入格式

第一行包含一个整数 mm,表示记录数量。

接下来 mm 行,每行包含一个长度为 44 的数字字符串 ss 和两个整数 A,BA,B,含义如题目描述所述。

输出格式

第一行输出满足所有记录的密码数量。

如果至少存在一个合法密码,第二行输出其中字典序最小的密码;否则第二行输出 NONE

样例

2
0123 1 2
3210 0 3
120
0031
2
0000 4 0
0000 0 0
0
NONE
1
0000 1 0
2916
0111

样例解释

样例一中,同时满足两条记录的密码共有 120120 个,其中字典序最小的是 0031

样例二中,第一条记录要求四位数字全部是 0,第二条记录又要求没有任何一位是 0,不可能同时满足,因此答案为 00

样例三中,密码需要恰好有 11 位为 0,且其余位不能再出现数字 0。共有 4×93=29164\times 9^3=2916 个,最小的是 0111

数据范围与约定

子任务 分值 限制
11 3030 保证所有记录的 A=4A=4
22 7070 无特殊限制

对于 100%100\% 的数据,保证:

  • 1m201\le m\le 20
  • ss 恰好由 44 个数字字符组成;
  • 0A,B40\le A,B\le4A+B4A+B\le4