E. Роланд и роза
ограничение по времени на тест
3 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Роланд любит выращивать цветы. Недавно он вырастил красивую розу в точке (0, 0) декартовой системы координат. Роза настолько красива, что Роланд опасается, как бы силы зла не попытались украсть ее.

Чтобы защитить розу, Роланд хочет построить n защитных башен (будем считать, что башня это точка на плоскости) на расстоянии не более r от розы. Кроме того, Роланд считает, что башни должны быть построены в точках с целочисленными координатами, а сумма квадратов расстояний между всем парами башен должна быть как можно больше. Обратите внимание, что Роланд может построить несколько башен в одной и той же точке плоскости, также разрешается строить башни в точке (0, 0).

Помогите Роланду построить башни в целочисленных точках так, чтобы сумма квадратов расстояний между всеми башнями была максимально возможной. Обратите внимание, что под расстоянием в этой задаче понимается евклидово расстояние между точками.

Входные данные

В первой строке записаны два целых числа n и r (2 ≤ n ≤ 8; 1 ≤ r ≤ 30).

Выходные данные

В первой строке выведите целое число — максимально возможную сумму квадратов расстояний. В i-й из следующих n строк выведите два целых числа xi, yi — координаты i-й башни. Каждая башня должна находиться внутри или на границе окружности радиуса r. Обратите внимание, что несколько башен могут находиться в одной и той же точке плоскости, также башни могут находиться в точке (0, 0).

Если существует несколько подходящих оптимальных расстановок, выведите любую.

Примеры
Входные данные
4 1
Выходные данные
16
0 1
0 1
0 -1
0 -1
Входные данные
3 6
Выходные данные
312
0 6
5 -3
-5 -3