A. Игра в монетку
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
stdin
вывод
stdout

Петя и Вася играют в монетку. Их друг Валера назначен судьей. Смысл игры очень простой. Сначала Вася x раз подкидывает монетку, затем Петя y раз подкидывает монетку. Если выпадает орел, то игрок, подкинувший монетку, получает одно очко. Если выпадает решка, никто очков не получает. Выигрывает игрок, у которого в конце игры будет больше очков. При равенстве очков объявляется ничья.

В какой-то момент Валера сбился со счета, и поэтому не может точно сказать, какой счет был в конце игры. Однако кое-что он запомнил наверняка. Он помнит, что за всю игру у Васи орел выпал не менее a раз, а у Пети не менее b раз. Более того, он знает, что победителем игры был объявлен Вася. По этой информации Валера хочет узнать всевозможные исходы игры, которые не противоречат его воспоминаниям.

Входные данные

В единственной строке заданы четыре целых числа x, y, a, b (1 ≤ a ≤ x ≤ 100, 1 ≤ b ≤ y ≤ 100). Числа в строке разделены пробелом.

Выходные данные

В первой строке выведите целое число n — количество возможных исходов игры. Далее в n строках выведите сами исходы. В i-ую строку через пробел выведите пару чисел ci, di — количество выпавших орлов у Васи и Пети соответственно в i-ом исходе игры. Пары чисел (ci, di) выводите в строго возрастающем порядке.

Напоминаем, что пара чисел (p1, q1) меньше пары чисел (p2, q2) если p1 < p2, либо p1 = p2 и при этом q1 < q2.

Примеры
Входные данные
3 2 1 1
Выходные данные
3
2 1
3 1
3 2
Входные данные
2 4 2 2
Выходные данные
0