在画图软件中,你最喜欢的便是油漆桶工具。
我们将画图软件中的画布视为一个 N×M 的由像素构成的矩阵。第 i 行第 j 列的像素记为 Ri,j(0≤i<N,0≤j<M,即行与列均从 0 开始编号)。由于你正在使用的电脑的机能有限,因此每个像素只能是 0∼9 以内的整数,共 10 种。
当我们在位置 (i,j) 使用油漆桶工具,将其涂成颜色 c 时,所有与 (i,j) 联通且颜色相同的像素的颜色都将会被更改为颜色 c。
我们称两个像素 A(xa,ya) 与 B(xb,yb) 联通,当且仅当 |xa−xb|+|ya−yb|=1 且 A,B 的颜色相同,或存在另一个像素 C,使得像素 A,C 之间联通,且像素 B,C 之间联通。即,两个像素联通,当且仅当存在一条路径,满足路径上任意两个相邻的像素四联通,且所有经过的像素的颜色均相同。

例如,在上图中对橙色位置使用油漆桶进行涂色,会将所有右图中对应的位置全部涂色。
现在,给定当前局面下的画布,你要求出,在位置 (x,y) 上使用颜色 c 进行油漆桶操作后画布的形态。
输入格式
输入的第一行包含两个整数 N,M。
接下来 N 行,每行 M 个字符,描述像素构成的矩阵。每个字符均为 0∼9 中的整数。
最后一行包含三个整数 x,y,c,表示进行的操作。
输出格式
输出 N 行,每行 M 个字符,表示操作后矩阵的形态。
样例数据
样例 1 输入
6 7
0000000
0112211
0011210
0012210
0111110
1765671
1 2 3
样例 1 输出
0000000
0332233
0033230
0032230
0333330
1765671
样例 2 输入
1 1
0
0 0 0
样例 2 输出
0
样例 3
见下发文件。
子任务
测试点编号 | N≤ | M≤ | 特殊性质 |
---|---|---|---|
1∼2 | 2 | 2 | 无 |
3∼5 | 10 | 10 | |
6∼7 | 1000 | 1000 | N=1 或 M=1 |
8∼13 | 110 | 110 | 无 |
14∼20 | 1000 | 1000 |
对于所有数据,1≤N,M≤1000,0≤x<N,0≤y<M,0≤c≤9。