시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 512 MB26181872.000%

문제

Setting: Legendary Zagrebian Inn called Kod Žnidaršića.

Time: The year 1936.

Plot summary: Franjo and his friends are discussing the current events in Abyssinia while enjoying a couple of drinks at the bar. His son, little Perica, is sitting at a small table in the corner of the bar. In front of Perica there are N glasses conveniently numbered from 1 to N. The volume (in nanoliters) of each glass is known as well as the amount of liquid that is currently inside it.

Problem: Little Perica wants to know what is the largest possible number of glasses that can be emptied by pouring the liquid between glasses. He can freely pour any integer number of nanoliters from one glass to another, as many times as he wants, as long as no liquid is spilled over.

Your task is to output the number of empty glasses along with one possible configuration of liquid in all glasses. If there are multiple configurations that yield the same number of empty glasses, output any of them. Note that it is not necessary to minimize the number of times liquid was poured between two glasses.

입력

The first line contains an integer N (1 ≤ N ≤ 1 000) from the task description.

Each of the next N lines contains two integers Ti (0 ≤ Ti ≤ 109) and Zi (1 ≤ Zi ≤ 109) which, in that order, represent the current amount of liquid in the i-th glass and its volume. Both quantities are given in nanoliters and the current amount of liquid cannot be greater than the volume of the glass, i.e. Ti ≤ Zi holds.

출력

In the first line you should output the largest number of glasses that can be emptied by pouring the liquid between glasses.

In the second line you should output the amount of liquid in each of the glasses after Perica has performed the necessary pourings. The glasses should be ordered from glass numbered 1 to glass numbered N.

예제 입력 1

5
2 6
1 6
0 6
6 6
5 6

예제 출력 1

2
6 6 2 0 0

예제 입력 2

5
4 5
2 7
5 5
0 10
7 9

예제 출력 2

3
0 0 0 10 8

예제 입력 3

8
2 6
3 4
1 1
9 10
0 10
4 5
6 8
3 9

예제 출력 3

5
0 0 0 9 10 0 0 9

힌트

Clarification of the second example: One of the possible pouring configurations is the following:

  1. pour everything from glass 1 into glass 2.
  2. pour everything from glass 2 into glass 4.
  3. pour four nanoliters from glass 3 into glass 4.
  4. pour one nanoliter from glass 3 into glass 5.

Glasses numbered 1, 2 and 3 are now empty.