CSES - Putka Open 2015 – 5/6 - Käännöt
  • Time limit: 1.00 s
  • Memory limit: 128 MB

Uolevilla on kokonaisluku, jossa on nn numeroa välillä 191 \ldots 9.

Uolevi päättää kääntää ympäri jonkin välin luvussa. Tämä tarkoittaa, että Uolevi valitsee luvut aa ja bb (1abn1 \le a \le b \le n) ja kääntää ympäri luvun numerot välillä aba \ldots b.

Tehtäväsi on laskea yhteen kaikista mahdollisista käännöistä syntyvät luvut. Koska tulos voi olla hyvin suuri, ilmoita se modulo 109+710^9+7.

Syöte

Syötteen ainoalla rivillä on kokonaisluku, jossa on nn numeroa välillä 191 \ldots 9.

Tuloste

Ohjelmasi tulee tulostaa yksi kokonaisluku: käännöistä syntyvien lukujen summa modulo 109+710^9+7.

Esimerkki 1

Syöte:

123

Tuloste:

1035

Selitys: Luvut ovat 123, 123, 123, 213, 132 ja 321.

Esimerkki 2

Syöte:

43799276198569422312

Tuloste:

563613522

Osatehtävä 1 (15 pistettä)

  • 1n1001 \le n \le 100

Osatehtävä 2 (41 pistettä)

  • 1n50001 \le n \le 5000

Osatehtävä 3 (44 pistettä)

  • 1n1051 \le n \le 10^5