#### Registered Users Only

Please login to view and utilize this feature.

## Problem Description

Jacob is trying to annoy Gug, so he has set a total of *N* alarms in Gug's room. The *i*th alarm will first ring at time *A _{i}*, for exactly one unit of time, and then stop for

*B*units, before ringing again, in a periodic fashion.

_{i}Gug has noticed this, and wants to know, for each unit of time (from 1 to *T*), how many of Jacob's alarms will ring.

## Limits

Subtask 1 (20%): 1 ≤ N, T ≤ 2000, 1 ≤ A_{i}, B_{i} ≤ T.

Subtask 2 (22%): 1 ≤ N, T ≤ 10^{5}, 1 ≤ A_{i} ≤ T, 1 ≤ B_{i} ≤ 5.

Subtask 3 (26%): 1 ≤ N, T ≤ 10^{5}, 1 ≤ B_{i} ≤ T, A_{i} = 1.

Subtask 4 (32%): 1 ≤ N, T ≤ 10^{5}, 1 ≤ A_{i}, B_{i} ≤ T.

Subtask 5 (0%): Sample Testcases.

## Input

The first line of input will contain two integers, *N* and *T*.

The next *N* lines of input will contain two integers each, *A _{i}* and

*B*.

_{i}## Output

The output should contain *T* lines, with the *i*th line containing one integer, representing the number of alarms that will ring at time *i*.

## Sample Testcase 1

### Input

3 5 3 1 1 2 2 1

### Output

1 1 1 2 1

## Sample Testcase 2

### Input

4 7 1 1 1 2 1 4 1 6

### Output

4 0 1 1 1 1 2

### Tags

### Subtasks and Limits

Subtask | Score | #TC | Time | Memory | Scoring |
---|---|---|---|---|---|

1 | 20 | 22 | 1s | 256MB | Minimum |

2 | 22 | 21 | 1s | 256MB | Minimum |

3 | 26 | 21 | 1s | 256MB | Minimum |

4 | 32 | 82 | 1s | 256MB | Minimum |

5 | 0 | 2 | 1s | 256MB | Minimum |

### Judge Compile Command

g++ ans.cpp -o alarms -Wall -static -O2 -lm -m64 -s -w -std=gnu++14 -fmax-errors=512