Problem description
Po intelektualnie wyczerpujących (ale szalenie satysfakcjonujących) zajęciach z informatyki z Panem Marcelem przyszedł czas na chwilę odprężenia.
“Idziemy do Pravo!” – zakrzyknęli chórem zmęczeni uczniowie. Niestety pizzeria Pravo, o której mówili jest bliska dzisiejszego zamknięcia i została tam tylko jedna pizza. W dodatku jest na tyle duża, że do jej zjedzenia potrzeba co najmniej 3 osób, a jednocześnie na tyle mała, że 4 osoby się nie najedzą.
Przyszedł czas na naradę – przed pizzerią stoi N uczniów, z których niektóre pary się znają, a inne nie. Szef grupy uczniów postanowił, że wylosuje trójkę parami znających się osób i to oni wrócą dzisiaj do domu z pełnymi żołądkami. Jako uczeń zastanawiasz się nad prawdopodobieństwem, że dzisiaj się najesz. No właśnie, kto ma jakie szanse?
Napisz program, który wczyta liczność grupy uczniów i opis relacji między nimi, wyznaczy prawdopodobieństwo najedzenia się każdego ucznia i wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajdują się dwie nieujemne liczby całkowite N i M oddzielone pojedynczym odstępem i oznaczające odpowiednio liczbę uczniów w grupie i liczbę relacji znajomości w tej grupie.
W i-tym z kolejnych M wierszy znajdują się po dwie dodatnie liczby całkowite Ai i Bi oznaczające, że uczniowie o numerach Ai i Bi się znają.
Wyjście
Dla i od 1 do N w i-tym wierszu wyjścia wypisz liczbę rzeczywistą oznaczającą prawdopodobieństwo najedzenia się ucznia o numerze i.
Odpowiedź zostanie zaakceptowana, jeśli będzie się różnić od poprawnej o nie więcej niż 10−6.
Ograniczenia
1 ≤ N, M ≤ 105, 1 ≤ Ai, Bi ≤ N, Ai ≠ Bi, pary podane na wejściu są parami różne, zawsze istnieje co najmniej jedna trójka uczniów, która może pójść na pizzę.
Przykład
Wejście | Wyjście | Wyjaśnienie |
|
|
Wszystkie trójki znających się osób to {1, 2, 3}, {1, 2, 5}. |