#include <bits/stdc++.h>   using namespace std;   struct node {     int x, h, id;   } a[100005];   int n, i, j, f[100005], ans[100005];   bool cmp(node x, node y) {     if (x.x != y.x)       return x.x < y.x;     else       return x.h < y.h;   }   int main() {     scanf( %d , &n);     for (i = 1; i <= n; i++) {       scanf( %d%d , &a[i].x, &a[i].h);       a[i].id = i;     }     sort(a + 1, a + n + 1, cmp);     for (i = n; i >= 1; i--) {       f[i] = 1;       for (j = i + 1; j <= n; j += f[j]) {         if (a[i].x + a[i].h - 1 >= a[j].x)           f[i] += f[j];         else           break;       }       ans[a[i].id] = f[i];     }     for (i = 1; i <= n; i++) printf( %d  , ans[i]);     printf(  n );     return 0;   }   