--- id: 5900f5091000cf542c51001b challengeType: 5 title: 'Problem 408: Admissible paths through a grid' videoUrl: '' localeTitle: 'Задача 408: Допустимые пути через сетку' --- ## Description
Назовем точку решетки (x, y) недопустимой, если x, y и x + y - все положительные совершенные квадраты. Например, (9, 16) недопустимо, а (0, 4), (3, 1) и (9, 4) - нет.

Рассмотрим путь от точки (x1, y1) до точки (x2, y2), используя только единичные шаги на север или восток. Назовем такой путь допустимым, если ни одна из его промежуточных точек недопустима.

Пусть P (n) - число допустимых путей от (0, 0) до (n, n). Можно проверить, что P (5) = 252, P (16) = 596994440 и P (1000) mod 1 000 000 007 = 341920854.

Найти P (10 000 000) mod 1 000 000 007.

## Instructions undefined ## Tests
```yml tests: - text: euler408() должен вернуть 299742733. testString: 'assert.strictEqual(euler408(), 299742733, "euler408() should return 299742733.");' ```
## Challenge Seed
```js function euler408() { // Good luck! return true; } euler408(); ```
## Solution
```js // solution required ```