== include(page="template/taskheader" task_id="tric") ==
Din cei $n$ participanti la olimpiada de informatica se pot distinge $m$ perechi de prieteni. Aceste perechi au cateva proprietati interesante:
* daca $A$ este prieten cu {$B$}, atunci $B$ este prieten cu {$A$};
* daca {$A{~1~}$} este prieten cu {$A{~2~}$}, $A{~2~}$ cu {$A{~3~}$}, ..., {$A{~k-1~}$} cu {$A{~k~}$} si {$A{~k~}$} cu {$A{~1~}$}, atunci exista cel putin o pereche ({$i, j$}), {$1 ≤ i, j ≤ k$}, astfel incat:
** {$A{~i~}$} si {$A{~j~}$} sunt prieteni
** {$(i mod k) + 1 ≠j$} si {$(j mod k) + 1 ≠i$}
Se numeste triunghi de prieteni un set de $3$ prieteni {$A$}, {$B$} si {$C$}, cu proprietatea ca {$A$} este prieten cu {$B$}, {$B$} cu $C$ si $C$ cu {$A$}.
h2. Cerinta
Aflati cate triunghiuri de prieteni exista.
Poveste si cerinta...
h2. Date de intrare
Pe prima linie a fisierului de intrare $tric.in$ se gasesc, separate prin spatii, numerele naturale {$n$} si {$m$}. Pe urmatoarele $m$ linii se gasesc perechi de numere {$A B$}, intre $0$ si {$n – 1$}, cu semnificatia ca $A$ este prieten cu {$B$}.
...
h2. Date de iesire
Pe singura linie a fisierului de iesire $tric.out$ afisati numarul de triunghiuri de prieteni.
...
h2. Restrictii
* {$2 ≤ n ≤ 100 000$}
* {$1 ≤ m ≤ 100 000$}
* pentru $20%$ din teste, {$n ≤ 300$}
* pentru $50%$ din teste, {$n ≤ 1000$}
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. tric.in |_. tric.out |
| 4 4
0 1
1 2
2 0
2 3
| 1
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicatie
...
== include(page="template/taskfooter" task_id="tric") ==
== SmfTopic(topic_id="...") ==