QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#512520#9173. Touching Grassucup-team008#AC ✓2473ms30676kbC++179.5kb2024-08-10 14:47:212024-08-10 14:47:21

Judging History

你现在查看的是最新测评结果

  • [2024-08-10 14:47:21]
  • 评测
  • 测评结果:AC
  • 用时:2473ms
  • 内存:30676kb
  • [2024-08-10 14:47:21]
  • 提交

answer

#include <algorithm>
#include <array>
#include <bitset>
#include <cassert>
#include <chrono>
#include <complex>
#include <cstring>
#include <functional>
#include <iomanip>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <stack>
#include <unordered_map>
#include <vector>

using namespace std;

// BEGIN NO SAD
#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define trav(a, x) for(auto& a : x)
#define all(x) x.begin(), x.end()
#define sz(x) (int)(x).size()
#define mp make_pair
#define pb push_back
#define eb emplace_back
#define lb lower_bound
#define ub upper_bound
typedef vector<int> vi;
#define f first
#define s second
#define derr if(0) cerr
void __print(int x) {cerr << x;}
void __print(long x) {cerr << x;}
void __print(long long x) {cerr << x;}
void __print(unsigned x) {cerr << x;}
void __print(unsigned long x) {cerr << x;}
void __print(unsigned long long x) {cerr << x;}
void __print(float x) {cerr << x;}
void __print(double x) {cerr << x;}
void __print(long double x) {cerr << x;}
void __print(char x) {cerr << '\'' << x << '\'';}
void __print(const char *x) {cerr << '\"' << x << '\"';}
void __print(const string &x) {cerr << '\"' << x << '\"';}
void __print(bool x) {cerr << (x ? "true" : "false");}

template<typename T, typename V>
void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ", "; __print(x.second); cerr << '}';}
template<typename T>
void __print(const T &x) {int f = 0; cerr << '{'; for (auto &i: x) cerr << (f++ ? ", " : ""), __print(i); cerr << "}";}
void _print() {cerr << "]\n";}
template <typename T, typename... V>
void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);}
#define debug(x...) cerr << "\e[91m"<<__func__<<":"<<__LINE__<<" [" << #x << "] = ["; _print(x); cerr << "\e[39m" << flush;
// END NO SAD

template<class Fun>
class y_combinator_result {
  Fun fun_;
public:
  template<class T>
  explicit y_combinator_result(T &&fun): fun_(std::forward<T>(fun)) {}

  template<class ...Args>
  decltype(auto) operator()(Args &&...args) {
    return fun_(std::ref(*this), std::forward<Args>(args)...);
  }
};

template<class Fun>
decltype(auto) y_combinator(Fun &&fun) {
  return y_combinator_result<std::decay_t<Fun>>(std::forward<Fun>(fun));
}

template<class T>
bool updmin(T& a, T b) {
  if(b < a) {
    a = b;
    return true;
  }
  return false;
}
template<class T>
bool updmax(T& a, T b) {
  if(b > a) {
    a = b;
    return true;
  }
  return false;
}
typedef int64_t ll;

template<class T>
struct Point {
	typedef Point P;
	T x, y;
	explicit Point(T x=0, T y=0) : x(x), y(y) {}
	bool operator<(P p) const { return tie(x,y) < tie(p.x,p.y); }
	bool operator==(P p) const { return tie(x,y)==tie(p.x,p.y); }
	P operator+(P p) const { return P(x+p.x, y+p.y); }
	P operator-(P p) const { return P(x-p.x, y-p.y); }
	P operator*(T d) const { return P(x*d, y*d); }
	P operator/(T d) const { return P(x/d, y/d); }
	T dot(P p) const { return x*p.x + y*p.y; }
	T cross(P p) const { return x*p.y - y*p.x; }
	T cross(P a, P b) const { return (a-*this).cross(b-*this); }
	T dist2() const { return x*x + y*y; }
	double dist() const { return sqrt((double)dist2()); }
	// angle to x-axis in interval [-pi, pi]
	double angle() const { return atan2(y, x); }
	P unit() const { return *this/dist(); } // makes dist()=1
	P perp() const { return P(-y, x); } // rotates +90 degrees
	P normal() const { return perp().unit(); }
	// returns point rotated 'a' radians ccw around the origin
	P rotate(double a) const {
		return P(x*cos(a)-y*sin(a),x*sin(a)+y*cos(a)); }
};
typedef Point<int> P;
typedef Point<ll> Pll;

Pll promote(P p) {
  return Pll(p.x, p.y);
}

template<class P>
int sideOf(const P& s, const P& e, const P& p) {
	auto a = (e-s).cross(p-s);
	return (a > 0) - (a < 0);
}

pair<P, int> l[800005]; // 2.4 M
P lhsq[300005]; // .3M
P rhsq[300005]; // .3M
int retq[300005]; // .3M
int n, nq;
int allx[1400005]; // 1.4M
int querybyrhs[300005];
int querybylhs[300005];
int numxs = 0;
P currhull[500005];
int getidx(const P p) {
  auto it = lower_bound(l, l + n, mp(p, 0));
  assert(it->f == p);
  return it->s;
} 
void work(const int lhs, const int rhs) {
  int hullsz = 0;
  auto append = [&](P cand, bool toright) {
    if(toright) {
      while(hullsz >= 2 && sideOf(promote(currhull[hullsz-2]), promote(currhull[hullsz-1]), promote(cand)) >= 0) {
        hullsz--;
      }
    }
    else {
      while(hullsz >= 2 && sideOf(promote(currhull[hullsz-2]), promote(currhull[hullsz-1]), promote(cand)) <= 0) {
        hullsz--;
      }
    }
    currhull[hullsz++] = cand;
  };
  int mid = (lhs+rhs)/2;
  // eval to right
  for(int i = mid+1; i <= rhs; i++) {
    int truex = allx[i];
    auto lidx = lb(l, l+n, mp(P(truex, 0), 0)) - l;
    if(lidx < n && l[lidx].f.x == truex) {
      // add to hull
      append(l[lidx].f, true);
    }
    else {
      // answer queries
      int qidx = -1;
      {
        int a = 0;
        int b = nq-1;
        while(a <= b) {
          int tmid = (a+b)/2;
          if(rhsq[querybyrhs[tmid]].x >= truex) {
            qidx = tmid;
            b = tmid-1;
          }
          else a = tmid+1;
        }
      }
      while(qidx >= 0 && qidx < nq) {
        int cand = querybyrhs[qidx++];
        if(rhsq[cand].x != truex) break;
        if(allx[lhs] <= lhsq[cand].x && lhsq[cand].x <= allx[mid]) {
          P lhsp = lhsq[cand];
          P rhsp = rhsq[cand];
          const ll A = lhsp.y - rhsp.y;
          const ll B = rhsp.x - lhsp.x;
          const ll C = lhsp.y * ll(rhsp.x - lhsp.x) - lhsp.x * ll(rhsp.y - lhsp.y);
          auto eval = [&](int idx) -> ll {
            return A * currhull[idx].x + B * currhull[idx].y;
          };
          int lhsi = 0;
          int rhsi = hullsz - 1;
          while(retq[cand] == -1 && lhsi <= rhsi) {
            int mid = (lhsi + rhsi) / 2;
            ll curr = eval(mid);
            if(curr >= C) {
              retq[cand] = getidx(currhull[mid]);
              break;
            }
            if(lhsi == rhsi) break;
            assert(mid+1 <= rhsi);
            ll curr2 = eval(mid+1);
            if(curr2 >= C) {
              retq[cand] = getidx(currhull[mid+1]);
              break;
            }
            if(curr > curr2) rhsi = mid-1;
            else lhsi = mid+2;
          }
        }
      }
    }
  }
  hullsz = 0;
  for(int i = mid; i >= lhs; i--) {
    int truex = allx[i];
    auto lidx = lb(l, l+n, mp(P(truex, 0), 0)) - l;
    if(lidx < n && l[lidx].f.x == truex) {
      // add to hull
      append(l[lidx].f, false);
    }
    else {
      // answer queries
      int qidx = -1;
      {
        int a = 0;
        int b = nq-1;
        while(a <= b) {
          int tmid = (a+b)/2;
          if(lhsq[querybylhs[tmid]].x >= truex) {
            qidx = tmid;
            b = tmid-1;
          }
          else a = tmid+1;
        }
      }
      while(qidx >= 0 && qidx < nq) {
        int cand = querybylhs[qidx++];
        if(lhsq[cand].x != truex) break;
        if(allx[mid+1] <= rhsq[cand].x && rhsq[cand].x <= allx[rhs]) {
          P lhsp = lhsq[cand];
          P rhsp = rhsq[cand];
          const ll A = lhsp.y - rhsp.y;
          const ll B = rhsp.x - lhsp.x;
          const ll C = lhsp.y * ll(rhsp.x - lhsp.x) - lhsp.x * ll(rhsp.y - lhsp.y);
          auto eval = [&](int idx) -> ll {
            return A * currhull[idx].x + B * currhull[idx].y;
          };
          int lhsi = 0;
          int rhsi = hullsz - 1;
          while(retq[cand] == -1 && lhsi <= rhsi) {
            int mid = (lhsi + rhsi) / 2;
            ll curr = eval(mid);
            if(curr >= C) {
              retq[cand] = getidx(currhull[mid]);
              break;
            }
            if(lhsi == rhsi) break;
            assert(mid+1 <= rhsi);
            ll curr2 = eval(mid+1);
            if(curr2 >= C) {
              retq[cand] = getidx(currhull[mid+1]);
              break;
            }
            if(curr > curr2) rhsi = mid-1;
            else lhsi = mid+2;
          }
        }
      }
    }
  }
}
void divconq(int lhs, int rhs) {
  if(lhs >= rhs) return;
  int mid = (lhs+rhs)/2;
  divconq(lhs, mid);
  work(lhs, rhs);
  divconq(mid+1, rhs);
}
void solve() {
  cin >> n;
  for(int i = 0; i < n; i++) {
    cin >> l[i].f.x >> l[i].f.y;
    l[i].s = i+1;
    allx[numxs++] = l[i].f.x;
  }
  sort(l, l + n);
  cin >> nq;
  for(int i = 0; i < nq; i++) {
    cin >> lhsq[i].x >> lhsq[i].y >> rhsq[i].x >> rhsq[i].y;
    if(rhsq[i] < lhsq[i]) swap(lhsq[i], rhsq[i]);
    allx[numxs++] = lhsq[i].x;
    allx[numxs++] = rhsq[i].x;
    retq[i] = -1;
  }
  sort(allx, allx + numxs);
  numxs = unique(allx, allx + numxs) - allx;
  iota(querybylhs, querybylhs + nq, 0);
  iota(querybyrhs, querybyrhs + nq, 0);
  sort(querybylhs, querybylhs + nq, [&](int a, int b) {
    return lhsq[a] < lhsq[b];
  });
  sort(querybyrhs, querybyrhs + nq, [&](int a, int b) {
    return rhsq[a] < rhsq[b];
  });
  divconq(0, numxs-1);
  for(int i = 0; i < nq; i++) cout << retq[i] << "\n";
}

// what would chika do
// are there edge cases (N=1?)
// are array sizes proper (scaled by proper constant, for example 2* for koosaga tree)
// integer overflow?
// DS reset properly between test cases
// are you doing geometry in floating points
// are you not using modint when you should

int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  solve();
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 5ms
memory: 26568kb

input:

3
2 3
6 4
4 5
3
1 4 7 6
7 4 1 2
1 6 1 6

output:

3
2
-1

result:

ok 3 queries

Test #2:

score: 0
Accepted
time: 5ms
memory: 28620kb

input:

1
7 10
1
5 3 9 7

output:

1

result:

ok 1 queries

Test #3:

score: 0
Accepted
time: 0ms
memory: 26492kb

input:

2
33 7
86 14
2
72 74 56 83
70 95 100 66

output:

-1
-1

result:

ok 2 queries

Test #4:

score: 0
Accepted
time: 0ms
memory: 28468kb

input:

3
590 27
77 202
795 527
3
76 639 304 621
275 361 860 959
788 734 405 422

output:

-1
-1
-1

result:

ok 3 queries

Test #5:

score: 0
Accepted
time: 0ms
memory: 28484kb

input:

5
258 931
102 85
383 957
124 128
796 906
5
329 73 759 927
480 626 118 591
440 370 595 676
407 887 608 182
399 850 65 102

output:

3
1
-1
-1
1

result:

ok 5 queries

Test #6:

score: 0
Accepted
time: 4ms
memory: 26484kb

input:

8
515 549
180 48
6 444
280 37
860 488
17 622
457 161
915 348
8
424 777 116 971
323 964 277 458
4 482 804 312
770 206 244 512
971 178 688 265
531 426 320 591
736 230 865 762
552 762 454 129

output:

-1
-1
1
1
5
1
-1
7

result:

ok 8 queries

Test #7:

score: 0
Accepted
time: 3ms
memory: 28536kb

input:

13
335 343
437 210
961 689
756 260
716 897
899 129
424 638
179 109
742 319
135 378
561 658
205 18
598 724
13
911 515 141 839
78 158 981 973
571 643 962 720
112 604 755 516
80 339 410 773
192 638 458 45
347 818 629 857
44 606 76 950
269 990 644 872
556 97 298 783
44 619 752 978
119 74 28 214
902 226 ...

output:

13
13
5
13
-1
2
-1
-1
-1
7
-1
-1
13

result:

ok 13 queries

Test #8:

score: 0
Accepted
time: 0ms
memory: 26512kb

input:

10
92 583
165 167
58 286
62 426
156 591
673 825
640 518
254 791
102 651
197 154
10
798 988 642 805
637 34 533 820
926 453 952 99
289 626 798 261
489 612 719 420
441 522 975 262
845 782 988 920
229 807 454 810
270 720 967 281
945 187 250 604

output:

-1
-1
-1
7
7
7
-1
-1
7
7

result:

ok 10 queries

Test #9:

score: 0
Accepted
time: 0ms
memory: 28568kb

input:

10
580 141
638 496
866 385
438 257
759 113
479 705
963 957
812 555
616 986
548 992
10
612 256 901 196
809 867 277 212
995 108 957 8
292 194 922 835
934 864 838 966
972 483 649 763
568 762 19 827
712 894 961 920
514 519 734 947
276 698 492 827

output:

8
10
7
10
-1
7
10
-1
9
-1

result:

ok 10 queries

Test #10:

score: 0
Accepted
time: 3ms
memory: 28544kb

input:

10
411 160
78 181
160 292
586 903
76 152
337 349
603 339
245 326
734 532
812 18
10
735 47 816 111
799 113 664 236
490 291 28 392
419 672 795 228
473 66 583 800
520 12 157 224
59 18 617 507
690 383 744 83
22 306 545 123
819 137 22 23

output:

-1
9
6
4
-1
6
4
9
6
9

result:

ok 10 queries

Test #11:

score: 0
Accepted
time: 0ms
memory: 26568kb

input:

10
65 315
794 631
93 430
241 748
627 717
17 796
293 158
5 316
726 566
341 597
10
649 66 383 213
995 178 432 719
444 692 427 839
579 583 210 240
701 572 237 10
589 127 591 243
468 32 10 86
888 600 568 324
402 267 935 56
292 261 127 348

output:

5
9
-1
10
5
-1
4
9
5
4

result:

ok 10 queries

Test #12:

score: 0
Accepted
time: 0ms
memory: 26548kb

input:

10
1 731
733 836
217 848
666 864
864 698
740 427
464 695
369 694
356 707
316 594
10
40 485 971 195
124 99 694 29
747 235 841 73
831 105 619 128
840 220 770 154
690 649 9 21
163 400 280 398
247 610 475 325
824 258 62 684
259 673 911 370

output:

2
4
-1
2
-1
4
3
9
2
2

result:

ok 10 queries

Test #13:

score: 0
Accepted
time: 0ms
memory: 26436kb

input:

10
36 458
114 866
202 362
687 667
82 766
515 524
254 847
316 914
404 884
439 806
10
765 141 658 35
394 79 867 542
182 194 657 52
536 32 860 552
662 717 901 80
882 746 790 717
626 349 704 702
819 198 730 79
620 144 805 773
890 264 708 199

output:

4
4
10
4
4
-1
4
-1
4
-1

result:

ok 10 queries

Test #14:

score: 0
Accepted
time: 0ms
memory: 26552kb

input:

100
104375211 269633504
751249866 429319365
689374899 460732977
314375099 460732977
809374835 384816748
621874935 481675385
98750214 259162300
526249986 497382191
869374803 319371723
978124745 36649215
235625141 418848161
61250234 175392668
959374755 120418847
940624765 180628270
708124889 452879574...

output:

-1
-1
-1
80
95
-1
-1
85
-1
74
18
3
77
-1
31
-1
91
-1
-1
-1
-1
19
-1
93
-1
80
-1
-1
16
57
-1
-1
-1
92
24
58
93
93
80
80
-1
33
20
85
-1
39
57
92
3
80
-1
63
-1
-1
21
93
-1
93
-1
11
77
56
93
4
-1
39
6
11
-1
83
33
17
-1
-1
91
-1
80
32
8
57
25
53
-1
-1
-1
80
-1
93
-1
80
25
-1
21
16
32
-1
80
-1
-1
-1

result:

ok 100 queries

Test #15:

score: 0
Accepted
time: 6ms
memory: 28552kb

input:

100
578906149 184293121
327343971 93193681
311718991 53403121
527343715 196858561
687499760 60732961
628906085 153926641
382812650 162303601
310156493 48167521
674218527 93193681
559374924 190575841
693749752 39790561
442187574 190575841
613281105 166492081
455468807 193717201
378906405 159162241
40...

output:

-1
-1
-1
-1
-1
-1
-1
-1
79
32
27
53
10
80
-1
79
-1
100
47
-1
-1
-1
50
-1
100
52
45
35
32
53
100
45
97
4
-1
-1
-1
79
95
-1
49
45
71
93
53
-1
80
22
32
-1
-1
-1
-1
35
95
-1
-1
100
-1
-1
4
79
-1
-1
-1
-1
10
-1
35
-1
80
-1
-1
53
100
53
97
-1
-1
-1
-1
53
35
1
-1
55
-1
79
53
-1
-1
-1
-1
-1
100
79
71
-1
-1
80

result:

ok 100 queries

Test #16:

score: 0
Accepted
time: 0ms
memory: 28548kb

input:

100
689374899 184293121
290000112 180104641
610624941 193717201
361250074 190575841
38750246 39790561
265625125 174869041
21875255 5235601
44375243 48167521
194375163 153926641
168125177 143455441
809374835 153926641
942499764 70157041
98750214 103664881
882499796 119371681
209375155 159162241
90499...

output:

-1
-1
1
46
61
46
-1
-1
-1
70
9
3
-1
-1
-1
36
-1
57
76
63
-1
-1
-1
70
-1
25
79
-1
61
-1
70
70
-1
57
17
-1
57
4
70
-1
70
62
-1
-1
87
95
-1
25
99
22
25
25
-1
-1
70
-1
70
-1
25
-1
32
45
63
-1
-1
73
-1
70
90
40
97
-1
25
45
97
82
-1
70
69
-1
96
96
88
22
-1
35
4
-1
-1
-1
48
-1
-1
25
-1
34
6
-1
60
-1

result:

ok 100 queries

Test #17:

score: 0
Accepted
time: 0ms
memory: 26424kb

input:

100
464062523 494764390
206250188 335078529
832812287 269633504
860937269 198952877
193750196 316753922
154687721 232984290
245312663 384816748
673437389 452879574
554687465 492146589
410937557 484293186
898437245 36649215
826562291 282722509
867187265 180628270
176562707 282722509
101562755 1308900...

output:

70
75
-1
-1
-1
75
52
89
75
-1
-1
-1
-1
80
-1
85
72
-1
-1
71
-1
92
-1
24
86
-1
77
52
-1
52
75
62
62
5
80
72
-1
-1
-1
-1
-1
65
52
75
40
52
7
7
-1
68
-1
-1
52
70
64
77
-1
80
75
5
-1
-1
-1
-1
-1
52
-1
23
52
-1
-1
48
52
14
89
-1
-1
-1
-1
52
52
-1
-1
-1
-1
-1
27
53
-1
85
-1
-1
-1
100
-1
53
-1
-1
97
20

result:

ok 100 queries

Test #18:

score: 0
Accepted
time: 0ms
memory: 26500kb

input:

1000
99265 42424
6525 80276
43140 68127
51964 40908
9094 12209
56077 44140
35448 98852
28625 82098
19575 99100
71555 84605
82554 53440
66211 96383
32553 56834
24935 45751
93854 42815
48816 77595
43061 84311
28790 91865
82689 42188
14193 68109
25414 35706
42978 37435
95707 24033
5230 8768
98110 60382...

output:

819
142
289
353
819
671
576
289
430
830
438
254
612
671
819
507
671
671
702
103
702
623
671
671
507
32
32
737
968
671
702
827
874
671
996
142
227
973
671
671
671
227
749
874
671
671
430
570
702
32
32
819
227
671
164
254
999
671
430
702
702
7
671
430
18
819
95
45
227
492
819
32
7
702
507
819
671
671
...

result:

ok 1000 queries

Test #19:

score: 0
Accepted
time: 8ms
memory: 26428kb

input:

1000
28300 86536
22994 53484
20020 15737
26356 89356
26753 11847
30605 50013
42932 18585
8899 72465
4411 49361
26585 90626
51327 84833
52365 90943
401 48310
10162 38550
50430 95099
1622 24788
12739 10766
14862 73531
33902 46319
32354 4223
11820 34406
45407 20670
14396 75226
75914 58613
8972 69295
27...

output:

941
941
309
309
731
572
358
826
358
309
947
945
826
395
945
309
309
358
358
488
309
309
309
945
39
904
358
572
826
309
645
358
941
309
893
358
309
544
945
212
826
572
309
309
572
853
904
309
544
309
358
309
731
415
904
904
853
941
941
358
715
39
935
309
417
309
731
826
945
417
904
572
309
358
562
30...

result:

ok 1000 queries

Test #20:

score: 0
Accepted
time: 0ms
memory: 26488kb

input:

1000
78977 2074
66043 47947
64156 52000
51800 85017
72769 95309
46109 79414
36736 33830
49795 80993
55338 34213
43064 76999
65173 82889
66315 3970
99433 51579
66787 4438
58356 6041
93272 76919
50078 59284
56182 1396
67908 10035
43286 8887
97186 26326
96899 31500
63434 29455
48732 30636
35450 11558
9...

output:

982
762
755
443
585
5
217
762
5
491
37
491
972
762
755
438
972
458
272
985
445
498
644
418
614
435
762
951
5
614
755
272
44
755
491
443
755
285
5
248
173
443
272
445
5
491
972
755
499
5
762
627
762
755
762
5
272
443
762
5
972
346
755
489
755
960
627
646
217
5
272
272
272
799
499
248
762
762
272
755
...

result:

ok 1000 queries

Test #21:

score: 0
Accepted
time: 3ms
memory: 28540kb

input:

1000
36848 40244
44170 64859
73782 6532
73472 36699
46777 34630
63459 23868
78986 72094
26865 4675
77925 17395
47410 23785
94705 11395
33118 67032
22374 19144
80516 8954
18542 45485
98758 26287
74867 20978
12033 1526
46253 7927
98382 56613
5121 17203
79008 36907
43003 28552
26916 58370
19889 4914
67...

output:

273
270
60
215
864
894
894
270
270
541
671
864
270
864
732
180
541
215
270
270
676
320
640
864
676
166
894
166
270
320
270
894
270
213
721
270
270
676
270
671
270
270
894
732
166
864
640
320
894
894
320
270
864
676
166
213
541
180
558
639
270
676
894
495
215
894
541
376
270
270
270
732
320
894
320
2...

result:

ok 1000 queries

Test #22:

score: 0
Accepted
time: 4ms
memory: 28620kb

input:

1000
68145 63988
20049 98052
65320 22484
51398 26637
97914 51952
59106 47893
72627 33233
29799 7761
46724 11815
12844 6192
33841 34192
77477 42156
34099 67744
35764 32534
48996 75348
2282 58347
88521 63517
52160 16252
4725 36435
49709 34142
24477 86718
15505 15637
92399 27917
93836 96166
15947 48818...

output:

-1
368
356
368
59
322
659
575
-1
368
617
368
550
468
-1
216
575
594
322
368
368
687
579
575
368
113
440
370
315
368
368
356
502
468
59
356
59
523
368
575
368
965
368
800
368
256
594
579
233
113
247
320
438
315
368
687
444
776
279
322
356
368
550
368
356
368
659
368
659
-1
322
659
175
550
550
965
440...

result:

ok 1000 queries

Test #23:

score: 0
Accepted
time: 0ms
memory: 26424kb

input:

1000
32262 64303
61279 44889
65478 96756
56972 89836
44573 79202
44593 95816
14861 37219
39343 89033
9952 60289
45649 51122
97456 86044
9778 80279
67982 59088
9670 68241
96441 28060
21016 68624
39423 73225
42680 27947
13255 72628
99637 80438
47774 87915
22076 84626
92140 53091
87815 38151
13374 9221...

output:

795
426
763
950
333
528
81
690
880
426
333
46
147
732
223
215
612
426
612
705
652
612
426
763
3
371
81
732
81
426
81
81
426
81
81
333
81
763
719
630
630
426
732
81
46
222
81
222
81
222
612
732
705
451
81
81
612
630
619
109
630
612
630
732
612
223
732
732
81
81
222
81
612
690
211
933
81
147
763
612
6...

result:

ok 1000 queries

Test #24:

score: 0
Accepted
time: 0ms
memory: 28496kb

input:

1000
34857 67019
7415 19038
58888 94480
24948 36803
4940 97142
6746 73658
12646 64268
8936 83873
26881 43000
13264 45746
29912 79916
63241 96138
23329 38401
13070 78956
71587 84047
54276 87450
4314 66647
45825 75136
11422 96929
17321 83961
64272 56369
5721 67445
6924 54753
11517 42364
30176 46402
75...

output:

534
3
207
3
238
792
207
680
238
260
792
3
260
906
238
534
238
880
534
333
238
534
534
98
98
207
-1
260
534
207
534
47
534
98
260
3
3
915
207
534
937
930
680
534
3
238
98
207
207
534
534
750
98
528
3
238
149
916
98
68
697
853
3
238
534
534
534
260
207
890
534
792
98
238
207
98
238
699
3
534
792
3
3
6...

result:

ok 1000 queries

Test #25:

score: 0
Accepted
time: 34ms
memory: 26512kb

input:

10000
38272240 171963896
85763537 299021340
209046366 429572370
100566222 323438826
348521793 484670406
683539908 476578264
58128140 238845144
29955072 128921788
390127712 492238275
568014266 497017858
70914001 269704370
596910178 493996823
814144879 413794809
20346155 19534460
68799013 265021178
85...

output:

8602
4201
1274
7787
-1
3807
6942
-1
8012
-1
1953
-1
3471
126
-1
4688
8324
6881
2244
1448
-1
6981
-1
-1
-1
225
-1
-1
-1
9652
-1
3859
-1
3407
-1
6768
706
-1
5023
-1
3857
1993
8681
3627
-1
-1
-1
-1
-1
-1
3972
711
5245
3487
-1
7288
8607
8317
-1
7485
4741
-1
1274
4529
-1
511
-1
9958
-1
4729
9865
-1
6548
...

result:

ok 10000 queries

Test #26:

score: 0
Accepted
time: 33ms
memory: 28544kb

input:

10000
538046266 197784461
476080108 199045941
663791061 132905661
631533394 164931461
340414522 138392441
499419375 199834601
366910531 163795941
674331495 116306201
461428849 197724301
694164716 60114881
400704764 182737881
560764961 194261341
365066466 162412261
620699396 172029401
664760937 13156...

output:

5599
8776
140
-1
-1
7431
3980
-1
3591
1048
184
-1
895
-1
-1
692
-1
-1
-1
6318
-1
7520
3212
-1
-1
8961
-1
-1
4968
130
-1
-1
-1
8664
9472
-1
-1
8184
4917
-1
-1
-1
-1
-1
9512
8119
7078
314
-1
-1
2656
794
7243
9507
-1
3453
7320
1122
5608
-1
8992
-1
-1
-1
4550
6573
-1
-1
2822
-1
-1
3096
9560
-1
2578
9992...

result:

ok 10000 queries

Test #27:

score: 0
Accepted
time: 36ms
memory: 26428kb

input:

10000
966569030 59529261
112676090 136241721
793202482 171189981
571992139 198585341
732637525 183723941
20747735 12892101
683252109 190583121
907025871 124519921
48407673 83990881
254143800 181424701
155339503 155319021
751353384 180404801
120315034 140204761
918000160 116802521
99742983 128818541
...

output:

6440
2274
9704
-1
5758
-1
-1
9574
9439
-1
9040
2566
-1
4137
8283
-1
674
2951
3936
-1
6822
1027
-1
-1
3005
559
2700
1066
-1
-1
-1
-1
4305
-1
-1
-1
1967
9518
-1
-1
6040
4558
6531
3684
3739
537
-1
-1
7834
-1
-1
-1
6166
7209
5730
1227
4946
3857
-1
-1
-1
5156
8811
-1
5758
5547
-1
-1
-1
-1
700
7317
5749
-...

result:

ok 10000 queries

Test #28:

score: 0
Accepted
time: 35ms
memory: 28620kb

input:

10000
102060601 62886900
627280153 484390637
100184870 11682120
102434260 68830228
463939118 498680015
867963024 239597464
456246576 498153391
893113435 117470067
152868930 294737818
899722180 17406805
112567669 157035046
891276743 131860538
344381251 475642566
775896049 400445831
794264828 38029070...

output:

6145
-1
-1
3581
2094
3936
-1
2441
40
1407
-1
-1
5989
-1
-1
-1
-1
-1
2719
-1
-1
-1
5585
2805
4658
-1
-1
3776
2624
-1
4875
5639
5753
-1
4029
-1
-1
5823
6439
6394
-1
-1
9431
2952
-1
5588
3352
8297
-1
-1
3722
-1
927
-1
6570
-1
7946
4301
8059
8546
8729
416
8546
-1
-1
5485
-1
-1
-1
5562
6531
4057
5984
-1
...

result:

ok 10000 queries

Test #29:

score: 0
Accepted
time: 926ms
memory: 30596kb

input:

1000
950113785 186384430
159684420 380691928
423030085 495461044
956718680 161922916
650997055 482691826
96120480 297230473
28763630 87692221
222855990 430845724
250779655 446691862
416817560 494768737
980064695 1153846
34256810 120153727
789634455 422768809
456250745 498230272
231488130 436153411
2...

output:

813
-1
123
745
866
-1
-1
268
901
512
-1
-1
918
86
-1
71
-1
123
798
-1
-1
410
87
585
-1
606
700
-1
-1
352
-1
444
-1
902
-1
-1
-1
880
-1
-1
736
-1
-1
946
-1
448
-1
-1
-1
91
828
16
663
443
295
268
576
995
438
-1
236
-1
802
143
468
802
-1
-1
587
-1
-1
-1
273
552
365
780
457
400
754
-1
874
844
-1
-1
-1
-...

result:

ok 300000 queries

Test #30:

score: 0
Accepted
time: 861ms
memory: 28480kb

input:

1000
697377268 28215174
392183621 176644830
692908760 53845751
570106531 191260105
355781629 149906569
345427769 138460501
699230064 11261455
529617489 198429282
557845381 194213929
388913981 174890997
651248097 142522009
310115657 66122582
475750170 198890817
388178312 174491000
673645131 109291489...

output:

541
897
825
-1
853
841
929
564
-1
107
827
-1
-1
170
298
335
411
-1
-1
-1
703
141
-1
-1
-1
-1
107
-1
687
845
-1
201
726
-1
853
386
20
314
851
-1
-1
-1
-1
955
-1
653
572
494
-1
13
933
532
654
841
482
-1
-1
-1
170
814
277
934
-1
-1
386
121
236
897
-1
726
147
94
386
-1
-1
-1
892
386
-1
107
959
-1
-1
-1
...

result:

ok 300000 queries

Test #31:

score: 0
Accepted
time: 957ms
memory: 30544kb

input:

1000
271640660 182644785
671792665 190860108
39096040 57476493
66104175 93568530
77025140 103937683
73755390 101014628
597046180 197198522
756217610 177229441
28044285 33107445
63030610 90337785
68916160 96399278
20981625 6092263
728490130 182644785
922647885 104337680
58060590 84737827
23074265 162...

output:

670
-1
211
338
-1
160
86
846
183
35
706
750
206
730
500
541
-1
-1
846
-1
630
147
-1
669
-1
-1
-1
-1
649
472
483
665
-1
-1
-1
319
326
-1
-1
1
-1
21
-1
670
284
-1
952
643
-1
915
-1
553
527
361
-1
-1
959
-1
730
-1
326
-1
826
-1
-1
-1
-1
-1
117
984
650
-1
7
378
307
-1
984
569
-1
-1
310
-1
-1
-1
348
-1
-...

result:

ok 300000 queries

Test #32:

score: 0
Accepted
time: 962ms
memory: 30584kb

input:

800000
784741874 210533410
353085426 422755675
781708646 222556219
506812566 458364034
622169826 435235123
805863650 34374448
645900698 423339673
605188280 441890482
729903354 343317577
516837948 458064559
207100590 171244993
805215474 52868296
323627088 402563830
193698202 8877208
731245436 3412825...

output:

39799
-1
425170
263915
228166
135968
80305
-1
-1
136457
-1
277435
570790
96058
-1
223061
318985
-1
-1
493323
360078
-1
-1
633093
-1
501023
595463
-1
313798
310325
124584
429088
512802
88431
297624
208948
654058
-1
-1
569623
-1
515671
127478
303558
606597
200549
-1
268650
-1
206383
12109
89534
-1
646...

result:

ok 1000 queries

Test #33:

score: 0
Accepted
time: 2416ms
memory: 30540kb

input:

800000
15080485 373982169
614292757 749424468
378357740 628541521
79381350 843893217
453124596 119687443
484302417 974146980
516574553 714424410
430785761 282534933
619155709 566316775
649254128 947571187
579369273 470081889
732948204 583913287
625089279 367784769
945725299 140561959
209803202 62339...

output:

695699
639308
639308
607969
457193
363458
411846
238786
637692
91747
91747
186024
192512
252229
639308
285186
719986
238786
156954
238786
637692
238786
91747
695699
408485
82709
238786
695699
91747
354618
596140
619865
91747
783290
391249
91747
159167
156954
799326
91747
91747
122306
639308
238786
2...

result:

ok 300000 queries

Test #34:

score: 0
Accepted
time: 2418ms
memory: 30668kb

input:

800000
970862261 177937361
320989261 359990571
312920234 84857429
506272064 53645521
670985814 111918467
981396383 144694379
874534410 89958190
632186002 67853132
401513257 615236965
950421177 140354653
163951033 125742729
346216429 321373855
348435258 69323315
197782340 66308601
320792790 185377967...

output:

137781
301532
111849
710529
49381
95713
411669
95713
742645
642300
772163
137781
301532
535767
642300
742645
95713
411669
95713
178442
19470
190739
49381
237020
535767
769064
87007
178442
330897
535767
301532
95713
178442
411669
642300
127441
463162
49381
338460
178442
87007
152965
535767
642300
411...

result:

ok 300000 queries

Test #35:

score: 0
Accepted
time: 2455ms
memory: 30548kb

input:

800000
356316339 447808912
751110608 792107918
99787335 360590392
635903936 892982116
589354691 432044768
736118372 905462318
115688455 353611127
468465955 811503516
684297455 707955369
406557555 800894802
377108926 805379888
485562074 944224487
852274684 653824477
205450280 368507930
406144647 7949...

output:

526264
271180
373509
526264
526264
700463
681362
526264
700463
485209
700463
700463
489981
271180
526264
271180
271180
441083
700463
271593
700463
271180
681362
700463
297160
489981
561944
700463
110107
627634
96764
271180
681362
297160
526264
373509
147
271180
271180
700463
271180
373509
271180
450...

result:

ok 300000 queries

Test #36:

score: 0
Accepted
time: 2376ms
memory: 30604kb

input:

800000
435968634 684362547
441064604 505046464
620484857 319028341
792345009 848373099
406573813 192217214
787140656 668338086
230367139 87502268
7703404 901849512
455820381 774559804
562289268 135429218
520747368 875359996
432291380 821751357
648738114 190011349
727553490 530479798
407700356 797048...

output:

616078
491699
123491
352170
491699
123491
349796
228044
223405
459291
491699
491699
747786
599123
123491
352170
123491
491699
341771
123491
616078
123491
616078
287950
491699
123491
491699
123491
368117
240358
240358
382926
352170
123491
191613
357664
123491
123491
191613
594952
616078
491699
123491...

result:

ok 300000 queries

Test #37:

score: 0
Accepted
time: 2355ms
memory: 30540kb

input:

800000
143880629 433393385
193643808 401935625
734144605 58191320
190108233 190306639
307572084 749789023
121817450 260320727
134903541 534247251
409365097 625924172
424385045 60106896
252114717 122961448
42626244 383252808
751403226 173229739
46834403 459189568
359323778 215474092
882772085 3671827...

output:

92223
565976
329972
441804
241396
559600
92223
169234
441804
92223
156125
750145
614503
763418
452149
559600
399440
452149
329972
441804
452149
177561
103300
452149
241396
399440
329972
536566
536566
200205
200205
441804
446209
441804
761190
92223
329972
441804
536566
643207
329972
156125
452222
373...

result:

ok 300000 queries

Test #38:

score: 0
Accepted
time: 2375ms
memory: 30540kb

input:

800000
120950448 879584359
488651784 384240390
50352543 580051609
684557638 854032618
100203234 982242049
217991920 559662067
213687995 844385542
640792989 809993298
293538395 394639002
55549277 500280434
233493640 173065576
282807645 701191513
358926465 109895126
302448777 536794411
48385886 772998...

output:

613671
463506
305182
762628
564719
591224
564719
99239
770742
564719
762628
696693
171628
705426
665042
665042
552204
770742
564719
762628
489957
343951
665042
465561
439891
780611
390544
519317
612079
609586
564719
481134
705426
693735
564719
665042
489957
463506
598296
586432
705426
705426
586432
...

result:

ok 300000 queries

Test #39:

score: 0
Accepted
time: 2458ms
memory: 30604kb

input:

800000
258986337 48032349
495126669 937655014
363138946 448769089
947944161 53929755
695238886 486364930
892505590 867548021
875030640 945391816
977957428 818317778
651160767 12263458
769679148 273876574
587102465 436376813
886111321 650487953
923548509 996735880
941414107 662118453
515705115 756515...

output:

328221
176442
78476
237391
269227
515044
231860
515044
545419
453489
421944
414227
580867
453489
331815
446195
473455
380131
41886
453489
194302
176442
724113
446195
331815
143741
152361
371333
456842
474391
426803
143741
182624
318855
453489
453489
380131
320059
121858
580867
318855
724113
799572
4...

result:

ok 300000 queries

Test #40:

score: 0
Accepted
time: 2432ms
memory: 30524kb

input:

800000
641334233 187074003
875766628 667554002
336586126 18610447
676448239 499188275
621023240 769515237
625565226 349609934
308558729 152015742
452394191 284105986
984185478 657079647
11781168 368322295
713554606 117993246
985186221 94429578
923572297 942840885
977883542 451479220
601049999 244349...

output:

397614
653012
353954
59367
408054
202175
353954
353954
746665
397614
82796
337971
638230
59367
397614
397614
753621
59367
408054
707546
337971
413697
353954
1981
337971
353954
59367
353954
408054
357576
224929
413697
353954
240487
353954
353954
559528
353954
337971
59367
337971
353954
337971
408054
...

result:

ok 300000 queries

Test #41:

score: 0
Accepted
time: 2438ms
memory: 30668kb

input:

800000
682431823 998431836
406575665 715536389
841120406 907463684
793426356 829068871
934050284 751400755
623576408 532345158
336831574 979273896
267559821 851441101
580059710 848375997
857971070 917959840
997245552 635406298
989754491 416304670
767863602 676672360
967769179 400935506
401530137 450...

output:

231337
535232
664514
251860
664514
664514
535232
790218
297319
5582
251860
102792
185726
160213
664514
59820
571064
306455
708342
297319
306455
231337
185726
297319
182826
488275
59820
702902
483421
53707
231337
664514
639225
664514
251860
346161
3057
306455
101299
182826
231337
231337
185726
664514...

result:

ok 300000 queries

Test #42:

score: 0
Accepted
time: 2448ms
memory: 30580kb

input:

800000
260900518 163178668
316985323 38366297
864012643 36553540
639356817 372141031
901980026 653040850
979372608 57617402
463572691 67613183
465802714 237038526
984756848 217872622
400002897 37109692
508000917 448629376
807796704 247261183
374507931 33039202
376743300 20719885
182372501 150756837
...

output:

414738
242462
491150
610701
40462
564239
479724
564239
766551
564239
564239
610701
479724
564239
564239
354325
496114
503768
564239
601368
354325
610701
80336
498867
479724
40462
498867
610701
610701
40462
578663
610701
564239
479724
242462
456140
178707
564239
-1
564239
578663
56524
564239
5767
610...

result:

ok 300000 queries

Test #43:

score: 0
Accepted
time: 2343ms
memory: 30600kb

input:

800000
251619778 603625954
88806435 329362117
123326212 392067283
296890364 355020689
453945473 85562108
371565146 158989343
6919200 580245649
73059719 45172878
328198756 4456177
616630236 812681826
508575995 177693374
50473678 49420471
33162113 377776961
389279708 556666414
400663114 454419600
2785...

output:

351405
505631
505631
296862
656061
296862
228836
351405
593600
619792
34748
505631
795822
296862
228836
231755
111466
714751
538505
505631
296862
795822
312169
296862
469984
791864
45102
469984
680163
469984
791864
505631
538505
714751
505631
505631
45102
495476
45102
505631
228836
505631
538505
402...

result:

ok 300000 queries

Test #44:

score: 0
Accepted
time: 2440ms
memory: 30544kb

input:

800000
431411522 229477104
848697968 348780310
898224829 132660945
507266195 347040936
993745897 80751505
321545732 33082073
878225728 84657346
209237198 82627583
841969289 207966358
624596318 250828990
996107002 180430843
358130378 12508253
441659996 123282966
194576559 234455130
980404912 38272182...

output:

575326
253777
564897
575326
77778
575326
496937
575326
575326
368483
12246
169228
16760
-1
575326
784440
575326
379112
171250
673170
77778
564897
368483
124080
557880
575326
77778
564897
312614
169228
169228
169228
121313
582467
564897
575326
-1
575326
575326
305029
754868
39184
-1
351814
575326
777...

result:

ok 300000 queries

Test #45:

score: 0
Accepted
time: 2300ms
memory: 30564kb

input:

800000
188938795 288699575
67887586 105641896
32659451 156569107
296727786 203608279
484158735 163446877
566391153 534307510
307733866 600060663
20710145 929949
432850012 187395623
139988134 18857803
40336164 528819843
33665824 69337269
458879498 322488348
293366055 70654341
374090214 494658918
2922...

output:

638686
108944
693494
-1
85193
399176
169254
-1
399176
-1
638686
399176
234712
509079
310797
-1
-1
638686
-1
155867
234712
21258
439615
538754
638686
638686
-1
107055
-1
-1
-1
-1
399176
638686
399176
638686
509079
638686
631545
509079
-1
-1
638686
85193
399176
638686
-1
-1
85193
509079
-1
85193
63868...

result:

ok 300000 queries

Test #46:

score: 0
Accepted
time: 2473ms
memory: 30588kb

input:

800000
360084296 195820110
910757589 108972900
308092165 6844895
671280725 135888029
391985030 78719755
793012367 138559273
832866938 99804758
784742353 332383861
644722058 59402949
412571121 24988121
678975223 547753759
255669626 46173402
668079205 198930675
336540127 145350434
607058233 34893572
3...

output:

577336
-1
149819
-1
-1
328857
149819
483592
-1
-1
-1
-1
-1
666677
577336
149819
780948
-1
-1
149819
74448
328857
798088
798088
-1
609386
678464
273416
-1
569836
-1
525801
-1
149819
798088
-1
-1
149819
-1
798088
-1
-1
745449
236155
-1
-1
352178
487814
708066
229306
352178
46479
76101
-1
666677
597088...

result:

ok 300000 queries

Test #47:

score: 0
Accepted
time: 2317ms
memory: 30524kb

input:

800000
152842815 74697484
203259578 28007914
411824102 137543311
438454387 197483150
336272234 310863327
17202834 532334222
619796690 62775834
394092189 99135257
349748840 122319719
167450725 108884484
658117474 69039084
98604967 161108018
287641562 13743817
447122406 190157107
325304405 218288364
6...

output:

-1
-1
-1
305149
305149
-1
554340
-1
-1
-1
-1
-1
391890
-1
-1
-1
614414
-1
-1
-1
-1
218926
-1
391890
-1
305551
706641
-1
391890
-1
-1
-1
-1
305149
-1
-1
391890
754933
-1
-1
554340
-1
698033
-1
-1
737130
305149
-1
721687
-1
706641
-1
-1
-1
-1
-1
698033
-1
-1
-1
-1
-1
228382
-1
-1
391890
-1
-1
-1
39189...

result:

ok 300000 queries

Test #48:

score: 0
Accepted
time: 1078ms
memory: 30672kb

input:

800000
452584216 922884157
457016389 40191615
541267135 947490269
900953178 784029360
473550884 368219633
128951937 356906008
193915529 753085777
73540235 582645630
25564006 145574750
221031041 782127628
202616412 683241591
515050143 344401923
92110669 153190440
767616743 12663196
817130062 97449849...

output:

595294

result:

ok 1 queries

Test #49:

score: 0
Accepted
time: 823ms
memory: 28492kb

input:

1
693086739 667763491
300000
852876012 399679873 98139376 514550845
629716446 118469668 422688498 675874478
191667130 784447016 910409525 191474380
733775741 334768736 577278115 159083409
942644283 632600216 227316798 70214581
217095745 317102913 744033805 549805139
573318369 63393487 979854392 9169...

output:

1
-1
1
1
1
1
1
-1
-1
-1
-1
-1
-1
1
-1
-1
-1
-1
-1
1
1
1
-1
-1
-1
1
1
-1
-1
1
-1
1
-1
-1
1
-1
1
-1
1
-1
-1
1
-1
1
1
-1
-1
-1
-1
-1
-1
-1
1
-1
1
1
-1
-1
-1
1
-1
-1
-1
-1
-1
-1
-1
1
1
-1
-1
-1
-1
1
-1
1
1
-1
1
-1
-1
1
1
-1
-1
-1
-1
1
-1
-1
-1
-1
-1
-1
-1
1
-1
-1
1
1
-1
1
1
-1
-1
1
1
1
-1
-1
-1
-1
-1
1
...

result:

ok 300000 queries

Test #50:

score: 0
Accepted
time: 2306ms
memory: 30604kb

input:

800000
41248511 34357201
574577849 454048096
517186397 457183807
950307677 118677109
884752946 293758867
523251953 457045759
40963937 26801584
830652521 355644061
44452118 79190785
210502025 386830117
660988142 440055658
856475984 329978251
886582946 291023758
40526786 5722294
45751877 90901372
1542...

output:

635146
492833
492833
635146
161074
636105
492833
455884
492833
161074
492833
492833
310615
635146
492833
261344
636105
635146
568557
492833
538196
161074
492833
261344
161074
636105
310615
719340
635146
636105
523507
492833
635146
492833
636105
789169
492833
636105
419003
635146
492833
635146
635146...

result:

ok 300000 queries

Test #51:

score: 0
Accepted
time: 2141ms
memory: 30668kb

input:

800000
632173228 91701637
346877067 4551964
458234225 149131846
357215851 68661617
652055837 24284057
352179990 51178978
636843939 82964895
347145301 12845078
354979892 61790667
361791238 80058138
593478354 130824625
368260289 92433013
359998066 75930841
600766613 126057656
644994608 61875640
597806...

output:

441150
441150
441150
441150
488508
441150
441150
441150
525318
441150
441150
525318
441150
441150
441150
441150
441150
441150
441150
441150
441150
244198
441150
441150
441150
441150
719645
525318
441150
395788
441150
441150
441150
441150
441150
441150
525318
395788
488508
441150
441150
441150
441150...

result:

ok 300000 queries

Test #52:

score: 0
Accepted
time: 2314ms
memory: 30580kb

input:

800000
65757188 62689869
269370626 139188157
955510583 26518114
885050060 97772881
496458959 152446911
52161959 44208254
803719241 125720052
165125090 117275485
383955854 149639430
679628288 145065526
446211764 151891384
55291808 49323469
669690275 145960450
951580034 36874392
922974215 73479708
124...

output:

504733
102721
408473
8666
408473
8666
8666
8666
8666
8666
8666
408473
347967
8666
347967
8666
8666
8666
8666
8666
229276
229276
660128
324826
8666
347967
8666
66656
8666
408473
519397
519397
732834
8666
8666
8666
8666
8666
347967
660128
229276
8666
347967
660128
229276
229276
8666
8666
8666
347967
3...

result:

ok 300000 queries

Test #53:

score: 0
Accepted
time: 2292ms
memory: 30672kb

input:

800000
626237280 432349696
757003288 292641805
789494698 188072122
530105498 456180097
745028798 317009065
358140544 424528240
737435850 330335983
765006744 273409711
749242508 308949679
803641694 80019814
802061922 100008973
586576564 446588914
806114548 22337197
741009196 324243457
242852116 29231...

output:

122264
187875
674505
122264
122264
122264
274977
149691
274977
187875
211801
274977
17173
271845
87251
17173
674505
334667
274977
674505
87251
618396
271845
672210
274977
122264
274977
274977
397452
274977
122264
17173
274977
274977
274977
643776
274977
274977
274977
122264
17173
643776
570150
27497...

result:

ok 300000 queries

Test #54:

score: 0
Accepted
time: 2378ms
memory: 30524kb

input:

800000
834077927 353574577
845292725 342821431
179770262 365538184
41078210 31078891
501405284 458363770
154508981 342621811
99047747 268364593
98591429 267540160
153833189 341938897
71886272 207678379
349756385 443540857
957461744 58130191
518351111 458177836
911861876 247140037
427626734 455265973...

output:

269298
417565
417565
755992
757331
720073
755992
757331
757331
757331
757331
755992
757331
417565
257313
757331
319366
757331
269298
757331
755992
417565
757331
257313
417565
269298
757331
257313
757331
269298
757331
217712
757331
755992
757331
269298
757331
417565
755992
269298
755992
755992
757331...

result:

ok 300000 queries

Test #55:

score: 0
Accepted
time: 2118ms
memory: 30676kb

input:

800000
407480143 131734528
652650345 16928867
612352630 116938859
359609733 75323895
646223710 57906840
511991534 152543911
644199740 64780746
570662214 141945763
386352125 115704752
349585185 37944390
507601730 152691542
573150238 141017833
416490931 136548124
597131713 128872230
347033667 10562730...

output:

485727
485727
485727
485727
485727
485727
626271
626271
485727
485727
626271
626271
626271
626271
485727
485727
251373
626271
485727
626271
485727
626271
485727
485727
485727
485727
485727
626271
485727
485727
485727
626271
626271
485727
485727
626271
485727
485727
626271
485727
485727
626271
485727...

result:

ok 300000 queries

Test #56:

score: 0
Accepted
time: 2308ms
memory: 30652kb

input:

800000
452109830 152349175
421461659 151562477
679460231 145420349
905086145 86902172
911099447 82911948
659512748 147141905
811841360 124054540
50505656 41502399
941064599 54843818
45837596 30876979
56107313 50885233
82921988 78562940
51926471 44130724
714515573 141637218
654484334 147531551
735109...

output:

28424
28424
28424
56629
28424
412527
727049
28424
166787
638268
727049
412527
130831
635094
638268
638268
412527
412527
412527
412527
28424
28424
412527
28424
519976
520134
166787
727049
28424
412527
28424
638268
609433
143941
28424
519976
412527
28424
635094
28424
412527
727049
56629
177905
28424
7...

result:

ok 300000 queries

Test #57:

score: 0
Accepted
time: 2237ms
memory: 30656kb

input:

800000
674001270 404386768
228695254 257093488
389105760 439754404
805760572 37898605
206735694 169104463
278383528 355075291
238806822 283935898
590873178 446404279
403785632 444803128
327998240 405933757
765596692 272894146
527142576 457420696
194319074 40442080
208239930 177472858
759287872 28844...

output:

620042
620042
620042
413427
522687
413427
780979
660170
413427
522687
620042
620042
413427
620042
620042
413427
413427
620042
620042
620042
620042
413427
620042
620042
413427
413427
413427
619557
522687
413427
620042
522687
660170
620042
413427
620042
413427
620042
620042
588867
522687
413427
413427...

result:

ok 300000 queries

Test #58:

score: 0
Accepted
time: 2355ms
memory: 30544kb

input:

800000
859533899 327603466
851289878 336683992
876400955 306639541
591665207 453328054
959458490 8337028
921461738 225310183
422223389 454818562
958886141 32083630
79088063 226664203
953797097 95653528
48485471 112129198
107408054 282698995
228135032 398545966
168306428 355789126
949788818 122848741...

output:

-1
-1
322929
530216
-1
43479
-1
-1
603032
169552
-1
794218
-1
615035
538360
-1
-1
129356
-1
47810
-1
-1
402438
274834
-1
347055
552106
-1
421709
-1
499425
609375
-1
-1
-1
725437
555622
529169
447090
314757
350507
-1
331363
126606
-1
-1
-1
101142
122209
26614
350593
174468
578215
-1
449204
245038
249...

result:

ok 300000 queries

Test #59:

score: 0
Accepted
time: 2196ms
memory: 30656kb

input:

800000
562323617 144714102
519118500 152170180
420817041 138559378
637109217 82772283
625699939 101897203
364847052 86683695
467069436 150816840
616415019 112944366
364663264 86330245
374592794 102293891
456788435 149234789
438903897 145075132
580187050 138113766
347406498 17842146
598689659 1278551...

output:

521928
150944
285984
-1
21926
-1
-1
322324
468784
21798
736835
-1
186790
123442
-1
604670
247862
-1
-1
613657
436026
-1
-1
-1
-1
436026
-1
-1
-1
-1
-1
614689
606933
97494
-1
-1
575695
670737
568367
311540
-1
-1
270786
208639
149097
-1
771669
118452
-1
79545
-1
300979
525953
-1
-1
-1
-1
526925
723219...

result:

ok 300000 queries

Test #60:

score: 0
Accepted
time: 2400ms
memory: 30668kb

input:

800000
942756512 52543924
44606774 27253318
536381699 152557131
43053236 21652509
908162630 84923465
932345795 65063433
955505426 26892791
184184135 123045270
50861096 42198411
874591718 103020582
129816644 104926195
137604293 108095080
197493518 126366707
900724946 89610039
227731463 132772548
8126...

output:

4411
778200
783282
756210
321176
654302
-1
-1
118525
732976
32736
175921
408011
-1
313115
674216
369299
140587
-1
189888
-1
792038
-1
-1
-1
584604
-1
200730
162522
-1
-1
-1
327312
-1
-1
300045
489549
526586
-1
-1
174161
-1
432406
-1
-1
658106
370200
507369
-1
352763
72895
-1
291369
679796
-1
-1
2383...

result:

ok 300000 queries

Test #61:

score: 0
Accepted
time: 2357ms
memory: 30608kb

input:

800000
795839484 153301438
429074202 451427452
443716494 454140505
498466270 458418625
770201744 260350057
196131196 77723965
294429446 374847478
793911864 165371065
738981738 328811518
436369790 452872345
244166796 296308363
195403854 65605399
510419398 458286268
311913826 392521549
281041900 35866...

output:

607760
-1
230134
-1
122704
-1
-1
-1
748283
-1
-1
319169
176325
612543
323513
-1
-1
-1
-1
470355
133611
-1
-1
-1
264570
245144
746035
-1
-1
226202
-1
489627
184970
-1
384499
322990
-1
485921
720163
306135
418334
83905
-1
93544
-1
-1
-1
-1
-1
-1
-1
556144
-1
737306
714997
-1
-1
585304
156797
253240
10...

result:

ok 300000 queries

Extra Test:

score: 0
Extra Test Passed