Матрьошки
Адам щойно отримав коробку, повну матрьошок (традиційних російських ляльок) від своєї подруги Матрьони. Коли він відкрив коробку, з неї висипалася купа ляльок разом із запискою від неї:
Привіт, Адаме, сподіваюся, тобі сподобаються ці ляльки. Але вибач, я не встигла їх розсортувати. Ти помітиш, що кожна лялька має порожній отвір внизу, що дозволяє вмістити в неї меншу ляльку.
...
Твоя,
Матрьона
Адам, у якого вже так багато речей у вітрині, вирішує зібрати ляльки, щоб зменшити кількість зовнішніх ляльок. Ляльки, які надіслала Матрьона, мають однакову форму, але різні розміри. Тобто, лялька i може бути представлена одним числом h_i, що позначає її висоту. Лялька i може вміститися в іншу ляльку j тоді і тільки тоді, коли h_i < h_j. Крім того, ляльки спроектовані так, що кожна лялька може містити не більше однієї ляльки всередині. Поки Адам складає свою величезну колекцію матрьошок, чи можете ви написати програму, щоб обчислити мінімальну кількість зовнішніх ляльок, щоб він міг зрозуміти, скільки місця йому потрібно у вітрині?
Вхідні дані
Вхід складається з кількох тестових випадків. Кожен тестовий випадок починається з рядка з цілим числом N, 1 ≤ N ≤ 10^5, що позначає кількість матрьошок. Далі йдуть N рядків, кожен з одним цілим числом h_i, 1 ≤ h_i ≤ 10^9, що позначає висоту i-ї ляльки в см. Вхід завершується рядком з N = 0, який не слід обробляти.
Вихідні дані
Для кожного тестового випадку виведіть один рядок, що містить ціле число, яке представляє мінімальну кількість зовнішніх ляльок, які можна отримати, оптимально складаючи дані ляльки.