Na przyjęciu jest $n$ gości. Każdy z nich ma 2 różne zainteresowania. Nie ma dwóch gości z takim samym zestawem zainteresowań. Gospodarz chce podzielić gości na grupy wielkości 2 lub 3, tak aby dowolnych dwóch gości w jednej grupie miało wspólne zainteresowanie. Każda grupa należy więc do jednego z poniższych przypadków:
Typ A: grupa dwóch gości mających jedno wspólne zainteresowanie;
Typ B: grupa trzech gości, z których wszyscy mają jedno wspólne zainteresowanie;
Typ C: grupa trzech gości, w której każda para ma jedno wspólne zainteresowanie, z wyłączeniem przypadku typu B.
Gospodarz chce zminimalizować liczbę $\alpha$ gości nieprzydzielonych do żadnej grupy. Jeśli istnieje wiele rozwiązań z minimalnym $\alpha$, należy znaleźć takie, które minimalizuje liczbę $\beta$ użytych grup typu B, zachowując minimalne $\alpha$. Napisz program wyznaczający te dwie liczby.
Rysunek 15: Powyżej pokazano dwa różne rozwiązania trzeciego przypadku testowego. Rozwiązanie po prawej nie używa żadnej grupy typu B, więc jest lepsze od rozwiązania po lewej.
Wejście
Każdy przypadek testowy składa się z $n+1$ wierszy. W pierwszym podane są dwie liczby całkowite $n,h$. Następnie występuje $n$ wierszy. Wiersz $(i+1)$ zawiera dwie liczby całkowite $x,y$, gdzie $1 \le x,y \le h$, oznaczające, że $i$-ty gość ma zainteresowania $x$ i $y$.
Ograniczenia
$2 \le n \le 10^6$.
$3 \le h \le 2n$.
Wyjście
Znajdź najlepsze rozwiązanie i wypisz liczbę $\alpha$ nieprzydzielonych gości oraz liczbę $\beta$ użytych w nim grup typu B. Naszym celem jest najpierw zminimalizować $\alpha$, a potem zminimalizować $\beta$, zachowując możliwie najmniejsze $\alpha$.
Przykład
Wejście 1
2 4 1 2 3 4
Wyjście 1
2 0
Wejście 2
2 3 1 2 3 1
Wyjście 2
0 0
Wejście 3
5 5 1 2 2 3 2 4 5 2 5 4
Wyjście 3
0 0