tric

Time limit: 0.15s
Memory limit: 64MB
Input: tric.in
Output: tric.out

Din cei n participanţi la olimpiada de informatică se pot distinge m perechi de prieteni. Aceste perechi au câteva proprietăţi interesante:

  • dacă A este prieten cu B, atunci B este prieten cu A;
  • dacă A1A_1 este prieten cu A1A_1, A2A_2 cu A3A_3, ..., Ak1A_{k-1} cu AkA_k şi AkA_k cu A1A_1, atunci există cel puţin o pereche (i, j), 1 ≤ i, j ≤ k, astfel încât: AiA_i şi AjA_j sunt prieteni şi (i mod k) + 1 ≠ j şi (j mod k) + 1 ≠ i

Se numeşte triunghi de prieteni un set de 3 prieteni A, B şi C, cu proprietatea că A este prieten cu B, B cu C şi C cu A.

Cerinţă

Aflaţi câte triunghiuri de prieteni există.

Date de intrare

Pe prima linie a fişierului de intrare tric.in se găsesc, separate prin spaţii, numerele naturale n şi m. Pe următoarele m linii se găsesc perechi de numere A B, între 0 şi n – 1, cu semnificaţia că A este prieten cu B.

Date de ieşire

Pe singura linie a fişierului de ieşire tric.out afişaţi numărul de triunghiuri de prieteni.

Restricţii şi precizări

  • 2 ≤ n ≤ 100 000
  • 1 ≤ m ≤ 100 000
  • pentru 20% din teste, n ≤ 300
  • pentru 50% din teste, n ≤ 1000

Exemplu

tric.in

4 4
0 1
1 2
2 0
2 3

tric.out

1

Problem info

ID: 158

Editor: liviu

Author:

Source: ONI 2007 XI-XII: Ziua 1 Problema 3

Tags:

ONI 2007 XI-XII

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