Задачі
Риби
Риби
У казках Шахерезади розповідається, що далеко в центрі пустелі є озеро. Спочатку в озері було \textbf{F} риб. З кращих самоцвітів Землі було відібрано \textbf{K} різних видів, і сталось так, що кожна з \textbf{F} риб проковтнула рівно один самоцвіт якогось виду. Оскільки \textbf{K} могло бути менше ніж \textbf{F}, дві або більше рибин могли проковтнути самоцвіти одного виду.
З часом деякі риби з'їли інших риб. Одна риба могла з'їсти іншу рибу тільки у тому випадку, якщо її довжина хоча б у два рази більше (риба \textbf{A} могла з'їсти рибу \textbf{B} тільки у тому випадку, якщо \textbf{LA} >= \textbf{2} * \textbf{LB}). Не існує правил, згідно яким одна риба вирішує з'їсти інших рыб. Риба могла вирішити з'їсти деяку кількість менших риб, у той же час деякі риби могли вирішити не їсти інших риб, не дивлячись на те, що вони могли б це зробити. Коли риба з'їдала меншу рибу, її довжина не змінювалась, але всі самоцвіти з шлунку меншої риби попадали непошкодженими у шлунок більшої риби.
У казках Шахерезади говориться, щто якщо зайти цо озеро, то можна зловити рівно одну рибу і забрати всі самоцвіти з її шлунку. Ви, звичайно, бажаєте випробувати долю, але перед тим, як ви відправитесь у подорож, вам необхідно взнати, яку кількість різних комбінацій самоцвітів ви можете отримати, зловивши одну єдину рибу.
Напишіть програму, яка за довжиною кожної риби і виду початково проковтнутих кожною рибою самоцвіта визначає кількість різноманітних комбінацій самоцвітів, які можуть знаходитись у шлунку якої-небудь риби, по модулю заданого цілого числа \textbf{M}. Комбінація визначається тільки кількістю самоцвітів кожного з \textbf{K} видів. Не існує поняття порядку серед самоцвітів, і два самоцвіти одного виду нерозрізнимі.
\textbf{1} <= \textbf{F} <= \textbf{500 000} (\textbf{F} -- початкова кількість риб у озері) \textbf{1} <= \textbf{K} <= \textbf{F} (\textbf{K} -- кількість різних видів самоцвітів) \textbf{2} <= \textbf{M} <= \textbf{30 000} \textbf{1} <= \textbf{LX} <= \textbf{1 000 000 000} (\textbf{LX} -- довжина риби \textbf{X})
\InputFile
Ваша програма повинна читати зі стандартного вводу наступні дані:
\begin{enumerate}
\item Рядок \textbf{1} містить ціле число \textbf{F} -- початкову кількість риб у озері.
\item Рядок \textbf{2} містить ціле число \textbf{K} -- кількість різних видів самоцвітів. Види самоцвітів подаються числами від \textbf{1} до \textbf{K} включно.
\item Рядок \textbf{3} містить ціле число \textbf{M}.
\item Кожен з наступних \textbf{F} рядків описує одну рибу, використовуючи \textbf{2} цілих числа, відокремлених одним пропуском: довжину риби і тип самоцвіту, спочатку проковтнутого цією рибою.
\end{enumerate}
\textbf{Зауваження.} У всіх тестах, що використовуються для оцінки розв'язку, гарантується, що існує хоча б один самоцвіт кожного з \textbf{K} видів.
\OutputFile
Ваша програма повинна вивести у стандартний вивід єдиний рядок, що містить одне ціле число в межах від \textbf{0} до (\textbf{M-1}) включно -- кількість різних можливих комбінацій самоцвітів по модулю числа \textbf{M}.
Слід відмітити, що для розв'язання задачі значення числа \textbf{M} не має ніякого іншого змісту, крім як для спрощення обчислень.
Вхідні дані #1
5 3 7 2 2 5 1 8 3 4 1 2 3
Вихідні дані #1
4