喜欢整除的磊哥
题号:NC218580
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

我们设一个整数的长度为,这里的长度是指在进制情况下数位的个数。
现在磊哥给你一个长度为的非负整数和另外一个正整数。他很喜欢整除,所以他希望能够是的倍数(倍也可以)。
表示数字的每一位的数字,注意下标是从开始的。
你现在可以将的某一位上的数修改成另外一个数,最多可以修改次。
注意:无论是修改前还是修改后,都可以有前导

输入描述:

第一行一个正整数,表示测试的组数。
接下来每组三行:
第一行一个正整数表示
第二行一个整数表示的长度。
第三行一个整数表示

输出描述:

第一行一个正整数表示修改的次数。
接下来k行每行两个数,表示将的第位的数字修改为
应该满足
如果有多种答案,输出任意一种满足的即可。
示例1

输入

复制
3
2
2
49
1231
7
0160271
77283
2
12

输出

复制
1
2 2
3
2 0
3 5
5 4
2
2 0
1 0

说明

的倍数(倍)。

的倍数(倍)。
的倍数(倍)。