Definim mulțimea punctelor laticiale ca fiind mulțimea perechilor de puncte din plan (x,y)
cu proprietatea că x
și y
sunt numere întregi.
Fie R
un număr natural pozitiv și C(O, R)
cercul cu centrul în originea sistemului de axe, de rază R
. Notăm cu P
1
, P
2
, P
3
, …, P
k
punctele laticiale care se găsesc pe cercul C(O,R)
, în ordine inversă a acelor de ceasornic, începând cu punctul de coordonate (R,0)
.
Cerința
Să se scrie un program care determină numărul punctelor laticialeN
cu proprietățile:
- se găsesc în interiorul sau pe cercul
C(O, R)
; - nu se găsesc în interiorul sau pe laturile poligonului
P
1
P
2
P
3
…P
k
.
De exemplu, pentru R = 4
există N = 8
puncte cu proprietățile cerute, conform figurii alăturate.
Date de intrare
Fișierul de intrare points.in
conține pe prima linie numărul R
, cu semnificația de mai sus.
Date de ieșire
Fișierul de ieșire points.out
va conține pe prima linie numărul N, cu semnificația de mai sus.
Restricții și precizări
1 < R ≤ 5∙10
7
Exemplul 1:
points.in
4
points.out
8
Explicație
Pe cercul C(O,4)
se găsesc următoarele 4
puncte laticiale P1(4,0)
, P2(0,4)
, P3(-4,0)
, P4(0,-4)
.
Numărul punctelor laticiale situat în interiorul sau pe cercul C(O,4)
și în exteriorul poligonului P
1
P
2
P
3
P
4
este 8
.
Exemplul 2:
points.in
764123
points.out
666556106540
Explicație
Există 666556106540
puncte ce verifică cerințele din enunțul problemei.