아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

Отель <<Континенталь>>

시간 제한1초메모리 제한1024 MB

요약
직사각형이 계속 직사각형을 유지하도록 도형을 붙여 나갈 때, 마지막 직사각형의 가능한 크기를 모두 구하거나 기록이 모순임을 판정한다.
난이도

보통10점 중 5점

유형
구현, 시뮬레이션, 수학
정답자
아직 제출이 없습니다

문제

Отель <<Континенталь>>, в котором случается достаточно много ключевых событий в жизни Джона Уика, имеет долгую историю. И построен он был, несмотря на все ресурсы Правления Кланов и Старейшины, не в один день.

Всего отдель был построен за nn дней. В первый день было построено основание <<Континенталя>> в виде прямоугольника размером a_1×b_1a\_1 \times b\_1. Затем в ii-й день к текущему основанию с краю достраивался еще один блок размером a_i×b_ia\_i \times b\_i так, чтобы основание оставалось прямоугольником.

Иными словами, текущее основание и прямоугольник размером a_i×b_ia\_i \times b\_i присоединялись друг к другу одинаковой стороной. Прямоугольник мог быть повернут на 90∘90^\circ и присоединен к любой из сторон текущего основания, если сам имел равную ей сторону.

Джон, чтобы незаметно пробраться в <<Континенталь>> к Винстону, добыл записи о всех nn днях постройки. Теперь он хочет понять, правдивы ли эти записи, и, если да, какими могут быть размеры текущего <<Континенталя>>.

입력

В первой строке ввода дано единственное число nn --- количество дней постройки отеля (1⩽n⩽1051 \leqslant n \leqslant 10^5).

В ii-й из следующих nn строк через пробел даны два целых числа a_ia\_i и b_ib\_i --- размеры прямоугольника, присоединяемого к основанию в ii-й день (1⩽a_i,b_i⩽10121 \leqslant a\_i, b\_i \leqslant 10^{12}). Обратите внимание, что размеры прямоугольников могут не помещаться в 3232-битный целочисленный тип данных int.

출력

В первой строке выведите одно целое число kk --- количество возможных вариантов размеров <<Континенталя>>. Если в записях есть ошибка, и отель не мог быть построен из указанных прямоугольников, считайте, что k=0k = 0.

В ii-й из следующих kk строк выведите через пробел два числа --- размеры отеля в ii-м варианте.

Варианты можно выводить в любом порядке. На одной строке длину и ширину также можно вывести в любом порядке.

예제3

  1. 예제 1

    입력
    3
    2 2
    2 3
    2 4
    
    예상 출력
    1
    2 9
    
  2. 예제 2

    입력
    3
    2 2
    2 3
    3 4
    
    예상 출력
    0
    
  3. 예제 3

    입력
    4
    2 3
    3 2
    3 6
    5 10
    
    예상 출력
    2
    5 16
    8 10