La Școală

Time limit: 0.1s Memory limit: 4MB Input: lascoala.in Output: lascoala.out

Directorul unei școli dorește să premieze la sfârșitul anului școlar pe cei mai buni elevi la învățătură. Pentru acest lucru el are de rezolvat două probleme:

  1. Să determine câți elevi vor fi premiați dintre cei nn elevi ai școlii. După discuții aprinse cu ceilalți profesori se hotărăște în Consiliul Profesoral ca numărul premianților să fie nkn - k, unde kk este cel mai mare număr pătrat perfect mai mic strict decât nn. De exemplu, pentru n=150n = 150, kk este 144144 (pentru că 144144 = 12212^2), deci vor fi premiați 150144=6150 - 144 = 6 elevi.
  2. Pentru a fi cât mai multă liniște la premiere, în Consiliul Profesoral se ia decizia ca elevii care nu vor fi premiați să fie așezați pe terenul de sport pe rânduri de câte pp elevi (unde p2=kp^2 = k). În acest scop, directorul a numerotat elevii nepremiați de la 11 la kk și a hotărât ca elevii să fie așezați în ordinea descrescătoare a numerelor asociate.

Cerință

Scrieți un program care citește nn, numărul de elevi din școală și calculează numărul de elevi premiați precum și modul de așezare a elevilor nepremiați.

Date de intrare

Fișierul de intrare lascoala.in va conține numărul nn.

Date de ieșire

Fișierul de ieșire lascoala.out va conține pe prima linie numărul de elevi premiați, iar pe următoarele linii așezarea elevilor nepremiați.

Restricții și precizări

  • 2n7002 \leq n \leq 700;

Exemplu

lascoala.in

35

lascoala.out

10
25 24 23 22 21
20 19 18 17 16
15 14 13 12 11
10 9 8 7 6
5 4 3 2 1

Explicație

Cel mai mare pătrat perfect mai mic ca nn este 25=5225 = 5^2.

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