你正在前往参加 2025 年 ICPC 亚太锦标赛的路上。不幸的是,你正处于飞行中最糟糕的部分:在登机队列中等待。
你所在的队列中有 $n$ 名旅客,编号从 1 到 $n$,按从队首到队尾的顺序排列。
登机区域是一个 $r$ 行 $c$ 列的网格,行号从 1 到 $r$(从上到下),列号从 1 到 $c$(从左到右)。每名旅客恰好占据网格中的一个不同单元格。如果两名旅客所在的单元格共享一条边,则称他们相邻。对于任何 $2 \le t \le n$,保证旅客 $t$ 和旅客 $t - 1$ 相邻。
例如,图 L.1 展示了旅客的一种可能位置。在此示例中,旅客 1 与旅客 2 和 10 相邻,但不与旅客 11 相邻。
图 L.1:旅客位置示例。
在每个登机步骤中,以下所有事件同时发生:
- 队列中最前面的旅客(假设为旅客 $t$)登机并离开登机区域。
- 对于每名旅客 $t'$ ($t + 1 \le t' \le n$),旅客 $t'$ 占据旅客 $t' - 1$ 在该步骤之前所占据的单元格。
例如,图 L.2 展示了从上述初始位置开始,经过前三个登机步骤后旅客的位置。
图 L.2:分别经过 1、2 和 3 个登机步骤后旅客的位置。
你是旅客 $p$(即你前面有 $p - 1$ 名旅客)。你知道你的团队教练在队列中的某处,但你不知道具体位置。假设你的团队教练是 1 到 $n$ 号旅客($p$ 除外)中任意一人的概率相等,你想要计算在你登机前,你在某个时刻与你的团队教练相邻的概率。形式上,如果你在登机前存在一个整数 $s$ ($0 \le s < p$),使得旅客 $p$ 和旅客 $q$ 在经过 $s$ 个登机步骤后相邻,则称你在登机前与旅客 $q$ 相邻。
输入格式
第一行包含四个整数 $r$、$c$、$n$ 和 $p$ ($1 \le r, c \le 1000$; $2 \le n \le r \times c$; $1 \le p \le n$)。接下来的 $r$ 行,每行包含 $c$ 个整数。第 $i$ 行的第 $j$ 个整数表示 $G_{i,j}$ ($0 \le G_{i,j} \le n$),其中非零的 $G_{i,j}$ 表示旅客 $G_{i,j}$ 最初占据登机区域第 $i$ 行第 $j$ 列的单元格,而 $G_{i,j}$ 为零表示该单元格没有旅客。在所有 $(i, j)$ 对中,1 到 $n$ 的每个整数在 $G_{i,j}$ 中恰好出现一次。输入保证对于所有 $2 \le t \le n$,旅客 $t$ 和旅客 $t - 1$ 相邻。
输出格式
输出一个 $x/y$ 格式的分数,表示在你登机前,你在某个时刻与你的团队教练相邻的概率。$y$ 的值必须等于 $n - 1$。注意,整数与 / 分隔符之间不能有空格。
样例
样例输入 1
4 5 11 2 11 0 0 0 0 10 1 2 0 0 9 0 3 4 0 8 7 6 5 0
样例输出 1
3/10
说明 1
此样例对应于题目描述中给出的示例。如果你团队教练是旅客 1、3 或 11,则你在登机前会在某个时刻与他相邻。
样例输入 2
1 7 7 6 1 2 3 4 5 6 7
样例输出 2
2/6
说明 2
如果你团队教练是旅客 5 或 7,则你在登机前会在某个时刻与他相邻。注意,输出 1/3 是不被接受的。