#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <fstream>
#include<stdlib.h>
#define rep( i, l, r ) for (int i = l; i <= r; i++)
#define down( i, l, r ) for (int i = l; i >= r; i--)
using namespace std;
const int DS = 80000;
const int MaxNum = 2147483647;
int o, now, h[DS], l[DS], r[DS], n[DS], last, a, m, ans, num[DS];
int NewTree()
{
int w = last; last = n[w];
n[w] = h[w] = l[w] = r[w] = num[w] = 0;
return w;
}
void LRotato(int w)
{
int o = h[w];
if (l[h[o]] == o) l[h[o]] = w; else r[h[o]] = w; h[w] = h[o];
r[o] = l[w]; h[l[w]] = o;
h[o] = w; l[w] = o;
}
void RRotato(int w)
{
int o = h[w];
if (l[h[o]] == o) l[h[o]] = w; else r[h[o]] = w; h[w] = h[o];
l[o] = r[w]; h[r[w]] = o;
h[o] = w; r[w] = o;
}
void Splay(int w)
{
if (w == 0) return;
while (h[w] != 0)
{
if (l[h[w]] == w) RRotato(w); else LRotato(w);
}
}
int Pre()
{
int p = l[l[0]];
if (p == 0) return 0;
while (r[p] != 0) p = r[p];
return p;
}
int Suf()
{
int p = r[l[0]];
if (p == 0) return 0;
while (l[p] != 0) p = l[p];
return p;
}
void Insert(int m)
{
now++;
int p = l[0], c = 0, w = 0;
bool b = true;
while (p != 0)
{
if (m <= num[p])
{
c = p; p = l[p]; b = true;
}
else
{
c = p; p = r[p]; b = false;
}
}
w = NewTree();
h[w] = c; if (b) l[c] = w; else r[c] = w; num[w] = m;
Splay(w);
}
void Delete(int w)
{
now--;
int o = h[w];
if (l[o] == w) l[o] = 0; else r[o] = 0;
n[w] = last; last = w;
}
int FindAim(int m)
{
int w = last;
Insert(m);
int a = Pre(), b = Suf(), aa = 0, bb = 0;
if (a != 0) aa = m - num[a]; else aa = MaxNum;
if (b != 0) bb = num[b] - m; else bb = MaxNum;
if (aa <= bb)
{
Splay(a); Splay(b); Delete(w);
w = a; Splay(w); a = Pre(); b = Suf();
Splay(a); Splay(b); Delete(w);
return aa;
}
else
{
Splay(a); Splay(b); Delete(w);
w = b; Splay(w); a = Pre(); b = Suf();
Splay(a); Splay(b); Delete(w);
return bb;
}
}
int main()
{
ans = now = 0;
bool b = false;
rep(i, 1, DS-1) n[i] = i+1; last = 1;
scanf("%d", &o);
rep(i, 1, o)
{
scanf("%d%d", &a, &m);
if (now == 0)
{
Insert(m);
if (a == 0) b = true; else b = false;
}
else
{
if (b == (a == 0)) Insert(m); else ans += FindAim(m) % 1000000;
}
ans = ans % 1000000;
}
printf("%d", ans);
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGU8c3RkbGliLmg+CgojZGVmaW5lIHJlcCggaSwgbCwgciApIGZvciAoaW50IGkgPSBsOyBpIDw9IHI7IGkrKykKI2RlZmluZSBkb3duKCBpLCBsLCByICkgZm9yIChpbnQgaSA9IGw7IGkgPj0gcjsgaS0tKQoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNvbnN0IGludCBEUyA9IDgwMDAwOwpjb25zdCBpbnQgTWF4TnVtID0gMjE0NzQ4MzY0NzsKCmludCBvLCBub3csIGhbRFNdLCBsW0RTXSwgcltEU10sIG5bRFNdLCBsYXN0LCBhLCBtLCBhbnMsIG51bVtEU107CgppbnQgTmV3VHJlZSgpCnsKCWludCB3ID0gbGFzdDsgbGFzdCA9IG5bd107CgluW3ddID0gaFt3XSA9IGxbd10gPSByW3ddID0gbnVtW3ddID0gMDsKCXJldHVybiB3Owp9Cgp2b2lkIExSb3RhdG8oaW50IHcpCnsKCWludCBvID0gaFt3XTsKCWlmIChsW2hbb11dID09IG8pIGxbaFtvXV0gPSB3OyBlbHNlIHJbaFtvXV0gPSB3OyBoW3ddID0gaFtvXTsKCXJbb10gPSBsW3ddOyBoW2xbd11dID0gbzsKCWhbb10gPSB3OyBsW3ddID0gbzsKfQoKdm9pZCBSUm90YXRvKGludCB3KQp7CglpbnQgbyA9IGhbd107CglpZiAobFtoW29dXSA9PSBvKSBsW2hbb11dID0gdzsgZWxzZSByW2hbb11dID0gdzsgaFt3XSA9IGhbb107CglsW29dID0gclt3XTsgaFtyW3ddXSA9IG87CgloW29dID0gdzsgclt3XSA9IG87Cn0KCnZvaWQgU3BsYXkoaW50IHcpCnsKCWlmICh3ID09IDApIHJldHVybjsKCXdoaWxlIChoW3ddICE9IDApCgl7CgkJaWYgKGxbaFt3XV0gPT0gdykgUlJvdGF0byh3KTsgZWxzZSBMUm90YXRvKHcpOwoJfQp9CgppbnQgUHJlKCkKewoJaW50IHAgPSBsW2xbMF1dOwoJaWYgKHAgPT0gMCkgcmV0dXJuIDA7Cgl3aGlsZSAocltwXSAhPSAwKSBwID0gcltwXTsKCXJldHVybiBwOwp9CgppbnQgU3VmKCkKewoJaW50IHAgPSByW2xbMF1dOwoJaWYgKHAgPT0gMCkgcmV0dXJuIDA7Cgl3aGlsZSAobFtwXSAhPSAwKSBwID0gbFtwXTsKCXJldHVybiBwOwp9Cgp2b2lkIEluc2VydChpbnQgbSkKewoJbm93Kys7CglpbnQgcCA9IGxbMF0sIGMgPSAwLCB3ID0gMDsgCglib29sIGIgPSB0cnVlOwoJd2hpbGUgKHAgIT0gMCkKCXsKCQlpZiAobSA8PSBudW1bcF0pCgkJewoJCQljID0gcDsgcCA9IGxbcF07IGIgPSB0cnVlOwoJCX0KCQllbHNlCgkJewoJCQljID0gcDsgcCA9IHJbcF07IGIgPSBmYWxzZTsKCQl9Cgl9Cgl3ID0gTmV3VHJlZSgpOwoJaFt3XSA9IGM7IGlmIChiKSBsW2NdID0gdzsgZWxzZSByW2NdID0gdzsgbnVtW3ddID0gbTsKCVNwbGF5KHcpOwp9Cgp2b2lkIERlbGV0ZShpbnQgdykKewoJbm93LS07CglpbnQgbyA9IGhbd107CglpZiAobFtvXSA9PSB3KSBsW29dID0gMDsgZWxzZSByW29dID0gMDsKCW5bd10gPSBsYXN0OyBsYXN0ID0gdzsKfQoKaW50IEZpbmRBaW0oaW50IG0pCnsKCWludCB3ID0gbGFzdDsKCUluc2VydChtKTsKCWludCBhID0gUHJlKCksIGIgPSBTdWYoKSwgYWEgPSAwLCBiYiA9IDA7CglpZiAoYSAhPSAwKSBhYSA9IG0gLSBudW1bYV07IGVsc2UgYWEgPSBNYXhOdW07CglpZiAoYiAhPSAwKSBiYiA9IG51bVtiXSAtIG07IGVsc2UgYmIgPSBNYXhOdW07CglpZiAoYWEgPD0gYmIpIAoJewoJCVNwbGF5KGEpOyBTcGxheShiKTsgRGVsZXRlKHcpOyAKCQl3ID0gYTsgU3BsYXkodyk7IGEgPSBQcmUoKTsgYiA9IFN1ZigpOyAKCQlTcGxheShhKTsgU3BsYXkoYik7IERlbGV0ZSh3KTsgCgkJcmV0dXJuIGFhOwoJfQoJZWxzZQoJewoJCVNwbGF5KGEpOyBTcGxheShiKTsgRGVsZXRlKHcpOyAKCQl3ID0gYjsgU3BsYXkodyk7IGEgPSBQcmUoKTsgYiA9IFN1ZigpOyAKCQlTcGxheShhKTsgU3BsYXkoYik7IERlbGV0ZSh3KTsgCgkJcmV0dXJuIGJiOwoJfQp9CgppbnQgbWFpbigpCnsKCWFucyA9IG5vdyA9IDA7IAoJYm9vbCBiID0gZmFsc2U7IAoJcmVwKGksIDEsIERTLTEpIG5baV0gPSBpKzE7IGxhc3QgPSAxOyAKCXNjYW5mKCIlZCIsICZvKTsKCXJlcChpLCAxLCBvKQoJewoJCXNjYW5mKCIlZCVkIiwgJmEsICZtKTsKCQlpZiAobm93ID09IDApIAoJCXsKCQkJSW5zZXJ0KG0pOwoJCQlpZiAoYSA9PSAwKSBiID0gdHJ1ZTsgZWxzZSBiID0gZmFsc2U7CgkJfQoJCWVsc2UKCQl7CgkJCWlmIChiID09IChhID09IDApKSBJbnNlcnQobSk7IGVsc2UgYW5zICs9IEZpbmRBaW0obSkgJSAxMDAwMDAwOwoJCX0KCQlhbnMgPSBhbnMgJSAxMDAwMDAwOwoJfQoJcHJpbnRmKCIlZCIsIGFucyk7CglyZXR1cm4gMDsKfQo=