骑士征途问题

Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description

在一个n*n个方格的国际象棋棋盘上,马(骑士)从任意指定方格出发,按照横1 步竖2 步,或横2 步竖1步的跳马规则,走遍棋盘的每一个格子,且每个格子只走1次。这样的跳马步骤称为1 个成功的骑士征途。例如,当n=5 时的1 个成功的骑士征途如下图所示。

对于给定的n和n*n方格的起始位置x和y。用分支限界法找出从指定的方格(x,y)出发的一条成功的骑士征途。

Input

输入数据的第一行有1 个正整数n (1≤n≤10);第二行有2 个正整数x 和y,表示骑士的起始位置为(x,y)。

Output

将计算出的成功骑士征途输出。如果不存在从(x,y)出发的成功的骑士征途则输出’No Solution!’。

Sample Input

5
1 3

Sample Output

25 14 1 8 19
4 9 18 13 2
15 24 3 20 7
10 5 22 17 12
23 16 11 6 21

Hint

 

Source