#2609. 造对称矩阵

造对称矩阵

Background

Special for beginners, ^_^

Description

有一个 NN 阶方阵,里面每个元素都是小写字母。

选择任意两个不超过 NN 的自然数 AABB

把方阵的每一行用STL(不知道的建议报《STL入门班》) 中的rotate() 函数旋转 AA ,每一列用 rotate() 函数旋转 BB

这样一共可以得到 N×NN\times N 个矩阵,问这些矩阵里面有多少个是对称矩阵。

以上是数对称矩阵的题面。

现在要求逆运算,即给一个矩阵大小 NN ,再给一个对称矩阵数量 MM,请你构造一个由小写字母构成的 NN 阶方阵,使得对称矩阵的数量恰好为 MM

如果无解,则输出 -1 。

Format

Input

本题包含多(不超过1万)组测试数据。

每组测试数据一行,直到文件结束,为一个不超过 300300 的正整数 NN 和一个不超过 10510^5的正整数 MM,分别表示矩阵大小和对称矩阵的数量。

保证前50%的测试点 N10N\le10M1000M\le1000

Output

每行一个答案。

Samples

1 1
1 0
a
-1

Limitation

1s, 1024KiB for each test case.