CodeCoder проти TopForces
Змагальне програмування дуже популярне в Байтландії. Насправді, кожен громадянин Байтландії зареєстрований на двох сайтах програмування - CodeCoder і TopForces. Кожен сайт має свою власну рейтингову систему. Кожен громадянин має унікальний цілий рейтинг на кожному сайті, який приблизно відображає їхні навички. Чим вищий рейтинг, тим кращі навички.
Люди Байтландії від природи оптимістичні. Громадянин A вважає, що у нього є шанс перемогти громадянина B у змаганні з програмування, якщо існує послідовність громадян Байтландії A = P[0]
, P[1]
, ..., P[k]
= B для деякого k ≥ 1, така, що для кожного i (0 ≤ i < k), P[i]
має вищий рейтинг, ніж P[i+1]
на одному або обох сайтах.
Кожен громадянин Байтландії хоче знати, скільки інших громадян він може перемогти у змаганні з програмування.
Вхідні дані
У першому рядку записано ціле число n (1 ≤ n ≤ 100 000) - кількість громадян. Наступні n рядків містять інформацію про рейтинги. i-ий рядок містить два цілі числа CC[i]
і TF[i]
- рейтинги i-го громадянина на CodeCoder і TopForces (1 ≤ CC[i]
, TF[i]
≤ 10^6
). Усі рейтинги на кожному сайті різні.
Вихідні дані
Для кожного громадянина i виведіть ціле число b[i]
- скільки інших громадян він може перемогти у змаганні з програмування. Кожне значення b[i]
повинно бути виведено в окремому рядку в тому порядку, в якому громадяни вказані у вхідних даних.