retea

Time limit: 0.05s Memory limit: 128MB Input: retea.in Output: retea.out

Se dă o reţea ortogonală de puncte de dimensiune MNM \cdot N. Între oricare două puncte aflate pe linii consecutive se poate trasa un segment. Condiţia este ca în final segmentele trasate să nu se intersecteze între ele (decât în punctele de pe reţeaua ortogonală).

Cerinţă

Pentru un MM şi un NN dat, să se determine numărul de posibilităţi distincte în care pot fi trasate segmentele modulo 666 013666 \ 013.

Date de intrare

În fişierul de intrare retea.in se află pe prima linie numerele naturale MM şi NN separate printr-un spaţiu, reprezentând numărul de linii respectiv numărul de coloane.

Date de ieșire

În fişierul de ieşire retea.out se va afişa un singur număr, şi anume numărul de posibilităţi modulo 666 013666 \ 013.

Restricții și precizări

  • 2M1 000 000 0002 \leq M \leq 1 \ 000 \ 000 \ 000
  • 1N1 0001 \leq N \leq 1 \ 000

Exemplul 1

retea.in

2 2

retea.out

12

Explicație

Cele 1212 variante corecte sunt:

Exemplul 2

retea.in

3 2

retea.out

144

Log in or sign up to be able to send submissions!