#P2. 【幽灵】幽灵感染

【幽灵】幽灵感染

题目描述

最近,幽灵们学会了一项技能:幽灵感染。

一只幽灵对一个人幽灵感染可以把人变成幽灵。

给定四个正整数:n,m,x,yn,m,x,y

其中,nnmm 表示一个矩阵的大小,即有一个 n×mn \times m 的矩阵。

这个矩阵的横坐标是从 11nn,纵坐标是从 11mm

x,yx,y 表示一个 坐标(x,y)(x,y),表示矩阵中这个坐标上有一个幽灵,即 ax,ya_{x,y} 是幽灵。

一开始,除了 ax,ya_{x,y} 是幽灵,矩阵中的其它坐标都是人。

ax,ya_{x,y} 上的幽灵可以进行幽灵感染。

提前声明:幽灵感染幽灵是无效的,且幽灵感染的人的位置不能超出矩阵边界。

在每一次操作中,幽灵可以感染它左边和它上面的人,也就是说,在每一次操作,幽灵至多感染 22 个人。

现在再给定 11 个正整数:kk22 个长度为 kk 的序列:c(c1,c2,...,ck),d(d1,d2,...,dk)c(c_1,c_2,...,c_k),d(d_1,d_2,...,d_k)

你要求的问题是:幽灵至少要进行几次感染,才能满足所有 i(1ik)i(1 \le i \le k) 使得矩阵上坐标为 (ci,di)(c_i,d_i) 上的点是幽灵。

如果不能,输出Impossible

输入格式

输入共 33 行。

第一行,输入 55 个正整数:n,m,x,y,kn,m,x,y,k

第二行,输入 kk 个正整数,表示序列 cc 的每个数,ci(1cin)c_i(1 \le c_i \le n)

第三行,输入 kk 个正整数,表示序列 dd 的每个数,di(1dim)d_i(1 \le d_i \le m)

输出格式

输出共 11 行。

Impossible或一个正整数,这个正整数表示幽灵至少要进行几次感染,才能满足所有 i(1ik)i(1 \le i \le k) 使得矩阵上坐标为 (ci,di)(c_i,d_i) 上的点是幽灵。

样例

3 2 2 2 1
1
1
2

样例解释

我们可以画出一个 3×23 \times 2 的矩阵,其中,位置(2,2)(2,2) 的是幽灵(幽灵用*表示)。

位置(2,2)(2,2) 的幽灵进行幽灵感染,感染上方(1,2)(1,2)的人。

位置(1,2)(1,2)的幽灵进行幽灵感染,感染左方(1,1)(1,1)的人,因上方超出矩阵边界,所以只能感染左方的人。

这时,满足了要求的点(1,1)(1,1)变成幽灵,共计感染 22 次,故输出 22

数据范围

n,m100n,m \le 100

xn,ym,k5x \le n,y \le m,k \le 5