vizibil

Time limit: 0.1s Memory limit: 8MB Input: vizibil.in Output: vizibil.out

Pentru un şir x1,x2,,xnx_1, x_2, \dots, x_n spunem că elementul xkx_k este vizibil din stânga dacă pentru orice ii, 1i<k1 \leq i < k avem xi<xkx_i < x_k. Analog, spunem că xkx_k este vizibil din dreapta dacă pentru orice ii, k<ink < i \leq n avem xi<xkx_i < x_k (primul element se consideră vizibil din stânga, iar ultimul din dreapta).

Cerinţă

Considerăm permutările mulţimii {1,2,,n}\{1, 2, \dots, n\}. Determinaţi câte dintre aceste permutări au pp elemente vizibile din stânga şi qq elemente vizibile din dreapta.

Date de intrare

Fişierul de intrare vizibil.in conţine pe prima linie numerele naturale nn, pp, qq, separate prin câte un spaţiu.

Date de ieșire

Fişierul de ieşire vizibil.out va conţine pe prima linie numărul permutărilor care îndeplinesc condiţia din enunţ modulo 997997.

Restricții și precizări

  • 2<n<1012 < n < 101
  • 0<p,qn0 < p, q \leq n

Exemplu

vizibil.in

4 2 3

vizibil.out

3

Explicație

Permutările cu două elemente vizibile din stânga şi 33 vizibile din dreapta sunt (1,4,3,2),(2,4,3,1),(3,4,2,1)(1, 4, 3, 2), (2, 4, 3, 1), (3, 4, 2, 1)

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