#include <cstdio>
const int N = 200010;
int n, m, sum[N], MAX, q[N], size;
bool valid[N];
int main()
{
freopen("ariprog.in", "r", stdin);
freopen("ariprog.out", "w", stdout);
scanf("%d%d", &n, &m);
MAX = m * m * 2;
for (int i = 0; i <= m; ++i)
for (int j = 0; j <= m; ++j)
valid[i * i + j * j] = 1;
for (int i = 0; i <= MAX; ++i)
if (valid[i]) q[++size] = i;
bool flag = 1;
for (int b = 1; b <= MAX / (n - 1); ++b)
{
for (int a = 1; a <= size; ++a)
{
sum[q[a]] = (q[a] >= b && valid[q[a] - b] ? sum[q[a] - b] + 1 : 1);
if (sum[q[a]] >= n) printf("%d %d\n", q[a] - (n - 1) * b, b), flag = 0;
}
}
if (flag) printf("NONE\n");
return 0;
}