2009 - 马的遍历
Description

有一个 n \times m 的棋盘,在某个点 (x, y) 上有一个马,要求你计算出马到达棋盘上任意一个点最少要走几步。

Input

输入只有一行四个整数,分别为 n, m, x, y

Output

一个 n \times m 的矩阵,代表马到达某个点最少要走几步(不能到达则输出 -1)。

cout<<left<<setw(5)<<mp[i][j];


Examples

Input

3 3 1 1

Output

0    3    2    
3    -1   1    
2    1    4
Hint

对于全部的测试点,保证 1 \leq x \leq n \leq 4001 \leq y \leq m \leq 400

题目参数
Time Limit 1 second
Memory Limit 128 MB
提交次数 33
通过次数 16