QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#31598#4037. Absolute Pairwise DistanceQingyuAC ✓505ms42728kbC++234.3kb2022-05-09 23:34:292023-07-29 11:18:18

Judging History

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

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-07-29 11:18:18]
  • 评测
  • 测评结果:AC
  • 用时:505ms
  • 内存:42728kb
  • [2022-05-09 23:34:29]
  • 提交

answer

#include <bits/stdc++.h>

template <int T> 
struct fast_io {
	char p[T], q[T], *p1, *p2, *q1, *q2;
	fast_io() {
		p1 = p2 = p;
		q1 = q, q2 = q + T;
	}	
	char gc() {
		return p1 == p2 && (p2 = (p1 = p) + fread(p, 1, T, stdin), p1 == p2) ? EOF : *p1++;
	}
	void pc(char ch) {
		if (q1 == q2) {
			fwrite(q, 1, T, stdout);
			q1 = q;
		}
		*q1++ = ch;
	}
	~fast_io() {
		fwrite(q, 1, q1 - q, stdout);
	}
};
fast_io<1024768> io;

int read() {
	int r = 0, ng = 1;
	char ch;
	do {
		ch = io.gc();
		if (ch == '-') {
			ng = -1;
		}
	} while (!isdigit(ch));
	do r = r * 10 + ch - 48, ch = io.gc(); while (isdigit(ch));
	return r * ng;
}

void write(int64_t x) {
	if (x < 0) x = -x, io.pc('-');
	if (x >= 10)
		write(x / 10);
	io.pc(48 + x % 10);
}

void output(int64_t x, char ch = ' ') {
	write(x);
	io.pc(ch);
}

const int N = 1e5 + 50, B = 316;

struct val_t {
	int64_t sum, cnt;
	val_t () = default;
	val_t (int64_t sum, int64_t cnt) : cnt(cnt), sum(sum) {

	}
	val_t operator+(const val_t &rhs) const {
		return val_t(sum + rhs.sum, cnt + rhs.cnt);
	}
	val_t operator-(const val_t &rhs) const {
		return val_t(sum - rhs.sum, cnt - rhs.cnt);
	}
	val_t& operator+=(const val_t &rhs) {
		cnt += rhs.cnt;
		sum += rhs.sum;
		return *this;
	}
} zero(0, 0);

struct query_t {
	int l, r, id, k;
	query_t(int l, int r, int id, int k) : l(l), r(r), k(k), id(id) {

	}
	bool operator<(const query_t &rhs) const {
		const int o = l / B, ro = rhs.l / B;
		if (o != ro)
			return o < ro;
		if (o & 1)
			return r > rhs.r;
		return r < rhs.r;
	}
};

struct data_structure_t {
	int n, m;
	int64_t total_sum, total_count;
	int left(int x) const { return std::max(0, x * B); }
	int right(int x) const { return std::min(n - 1, x * B + B - 1); }
	val_t bpre[N], pre[N];
	data_structure_t (int n) : n(n) {
		m = n / B;
	}
	void add(int p, int64_t v) {
		total_sum += v;
		total_count += 1;
		int id = p / B;
		val_t y(v, 1);
		for (int j = id + 1; j <= m; ++j) {
			bpre[j] += y;
		}
		for (int j = p; j <= right(id); ++j) {
			pre[j] += y;
		}
	}
	val_t query(int p) const {
		int id = p / B;
		assert(id<=m);
		auto z = bpre[id] + pre[p];
		return z;
	}
};

int main() {
	int n = read(), q = read();
	std::vector<int> a(n), buc(n);
	for (int i = 0; i < n; ++i) {
		buc[i] = a[i] = read();
	}
	{
		std::ranges::sort(buc);
		auto [$1, $2] = std::ranges::unique(buc);
		buc.erase($1, $2);
		std::transform(a.begin(), a.end(), a.begin(), [&](int x) -> int {
			return std::lower_bound(buc.begin(), buc.end(), x) - buc.begin();
		});
	}
	
	std::vector<query_t> queries;
	auto add = [&](int l, int r, int id, int k) {
		if (l >= 0 && r >= 0) {
			queries.emplace_back(l, r, id, k);
		}
		else {
		}
	};
	for (int i = 0; i < q; ++i) {
		int l1 = read(), r1 = read(), l2 = read(), r2 = read();
		--l1, --r1, --l2, --r2;
		add(r1, r2, i, 1);
		add(l1 - 1, r2, i, -1);
		add(r1, l2 - 1, i, -1);
		add(l1 - 1, l2 - 1, i, 1);
	}
	std::sort(queries.begin(), queries.end());
	int L = 0, R = 0;
	std::vector<std::vector<query_t>> events(n, std::vector<query_t>());
	//for (auto [l, r, id, coef] : queries) {
	for (int i = 0; i < queries.size(); ++i) {
		auto [l, r, id, coef] = queries[i];
		if (R < r) {
			events[L].emplace_back(R + 1, r, i, 1);
			R = r;
		}
		if (L > l) {
			events[R].emplace_back(l + 1, L, i, -1);
			L = l;
		}
		if (R > r) {
			events[L].emplace_back(r + 1, R, i, -1);
			R = r;
		}
		if (L < l) {
			events[R].emplace_back(L + 1, l, i, 1);
			L = l;
		}
		assert(L == l && R == r);
	}
	std::vector<int64_t> ans(queries.size()), ret(q);
	data_structure_t T(n);
	auto solve = [&](int64_t v) -> int64_t {
		val_t z = T.query(v);
		int64_t ls = z.sum, lc = z.cnt, rs = T.total_sum - ls, rc = T.total_count - lc;
		int64_t lv = lc * buc[v] - ls;
		int64_t rv = rs - rc * buc[v];
		assert(lv >= 0 && rv >= 0);
		return lv + rv;
	};
	for (int i = 0; i < n; ++i) {
		T.add(a[i], buc[a[i]]);
		for (auto [l, r, id, coef] : events[i]) {
			for (int j = l; j <= r; ++j) {
				ans[id] += coef * solve(a[j]);
			}
		}	
	}
	int64_t cur = 0;
	for (int i = 0; i < queries.size(); ++i) {
		auto [l, r, id, coef] = queries[i];
		cur += ans[i];
		ret[id] += coef * cur;
	}
	for (int i = 0; i < q; ++i) {
		output(ret[i], '\n');
	}
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 15ms
memory: 8156kb

input:

3531 5803
74176369 34532623 97215138 20242270 85176324 44458100 86497709 71971680 57465677 61041230 69951857 80200098 11594209 20849868 84413937 93600227 54771865 31195982 73364328 72732309 10451014 71263803 72054056 97836493 40190962 6061330 8001777 68117678 61121864 54581549 85284322 23842874 6478...

output:

4982399918307
38488424833854
50427592189965
20987588774846
14820726664063
12735883025703
35423534109248
62045165492746
9949038909804
39325291143520
9687088829356
3864891922388
22431762646598
3358380722891
65709151426723
12157633172439
13160383220118
193336411467198
69536721471102
210913413794
222627...

result:

ok 5803 numbers

Test #2:

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

input:

7123 563
41170243 49574901 40252585 38378040 49349320 95777180 92777114 68701843 8269695 69116801 71875492 79726119 34894486 39175970 33491099 9509053 31851236 67622455 99883066 6039354 95474172 23216311 40742840 21155813 61662659 70364687 77128184 937710 17834587 57277312 56522619 99379485 16940778...

output:

386380551092596
110449238652156
71394684802546
7600454099972
131705584966556
5170316849264
318741930490511
479051656741914
44140736680897
231729402927968
184430381271117
84396293483883
65335467971874
49640150006793
390535631756553
81543125885445
8253715937651
44258873130842
299199870748396
157239004...

result:

ok 563 numbers

Test #3:

score: 0
Accepted
time: 12ms
memory: 8232kb

input:

6026 5289
86439387 65035366 16420666 21984922 73262399 76852588 54155978 49360806 20124855 92796259 37385730 41182981 76131653 74700942 94769709 76568214 83485708 61871942 38481854 17929133 81475298 16602113 18106228 95696736 72006794 93191232 47063274 2304956 58032353 31316305 67559039 73489842 628...

output:

13576852392596
413021972227622
99607939375373
474680878191148
94292259536480
26271627959361
1091400567433
62952436748282
335636914667165
9905662489460
82564681744192
445502984448018
16194305287421
582567737068417
64208862777914
261172737624658
109730363437887
271415758185349
105087074337058
70109845...

result:

ok 5289 numbers

Test #4:

score: 0
Accepted
time: 11ms
memory: 7700kb

input:

5220 3588
76702935 38819792 71638425 80109018 94649077 35815970 13885523 86028834 11645900 53149060 36208348 74030342 2558530 17180765 38089131 24833191 5950019 59038688 54682401 20949605 93735658 93767834 35364905 1446805 10955183 40380572 35179937 37888900 48573387 62076084 42499545 43671870 71652...

output:

5346187310649
31418284823199
125761336665063
17353578079738
40963290804826
283391291681454
60317708129345
7928673280951
62988639548028
141478997882298
492618954850328
93712452632082
54611864864795
62847913076609
289994136623163
128873651244873
15551492663786
2208792278905
20661480087038
358606233375...

result:

ok 3588 numbers

Test #5:

score: 0
Accepted
time: 59ms
memory: 14396kb

input:

24293 21467
42015596 59663171 89805164 16690117 45693832 93880503 89158090 47904207 77658280 8332455 58610064 6580199 94339960 10302646 28006189 98994759 99027951 84875602 15254308 69852323 23890949 76646773 85719918 71133414 13601639 3256439 47732703 40033730 67303975 74090183 43041550 54854676 144...

output:

950043023328311
308821816824943
508832214606619
3400847103907531
201954192349476
227585550671387
3616171800395874
1430276165389264
670765489417634
148162666527246
1190437535259504
2683571578223139
4713453596993280
836273332596835
3372213907910584
528723712197333
3398033027623317
3436120193320314
107...

result:

ok 21467 numbers

Test #6:

score: 0
Accepted
time: 38ms
memory: 11584kb

input:

23272 13219
40034160 42407533 96451807 69804540 39282165 25334210 95721885 61953364 15300573 52683920 46742452 44507749 2069440 95739764 63457511 74218872 3642608 93446636 74017306 24660863 31888956 36836301 2412237 62299469 83193011 30891693 46111848 3935746 12407412 47312880 52243481 34399583 1657...

output:

1371590043081753
941241110604112
693285613681356
1673575466342725
1635910420773242
548639205974540
1935291397665475
14372154204350
8708252031342176
207772402401599
1959830317396466
5534398987518615
756854181455491
231717734030102
1320304008713496
328376859417580
7398665124181994
5024294622048940
358...

result:

ok 13219 numbers

Test #7:

score: 0
Accepted
time: 47ms
memory: 12120kb

input:

21522 14988
43497430 9743050 88762892 15034464 41508329 63130141 55232504 46472689 23840784 85244183 85325431 24384837 44468129 41654661 5839808 91718483 51798561 174131 96535490 47353081 53020170 13576005 48664820 35767941 33576009 75857366 35324099 34761433 97403282 65724866 50889839 29206989 4236...

output:

1393916685091568
625984040835011
1601474448797985
2070001256885029
70771370115465
1651993643352107
9992516468147581
753999822681676
8590920075960
1175045347588962
2943711443502258
3028204500544720
3841220677227758
7135074953023132
1017120870506566
3630301026871796
3174361436698632
1468605107362438
1...

result:

ok 14988 numbers

Test #8:

score: 0
Accepted
time: 46ms
memory: 13008kb

input:

5765 21519
75309859 95886648 93883466 32880950 34052502 86469530 42011149 96746507 10593374 89585010 9978209 35962516 93186183 85854843 6936121 91060920 75239687 81521047 365803 94417792 31861124 60157554 66723780 57731488 34970255 34639147 59920221 89926646 30312300 79416697 56161673 33256472 13400...

output:

334342262983088
21668417581622
18897376618788
126199648436180
106976731721959
652912670754
226020936000208
54803944101322
150988894766869
137790164334719
66538252836171
9620835668300
79049348979462
3120462207260
240732944857118
90747980261262
2259530086864
148420682984888
56710132173707
358096367464...

result:

ok 21519 numbers

Test #9:

score: 0
Accepted
time: 22ms
memory: 9276kb

input:

2820 10309
90194274 92822126 60630528 54021579 40699771 25256986 72643662 58524177 58295681 23750688 87769779 27388659 87898017 69458796 63191247 10523773 19115471 90424865 57728332 70273831 10066421 40713317 34511936 79919768 98174558 72301970 91768927 70115230 55412685 31448924 68083795 41628950 4...

output:

36686088418913
18523722151077
7230961497110
22005131932168
36965738782548
11106080064366
90772312954249
7838179262143
17475571722642
16800091821762
49478331555
34870965204306
21144760769879
2754144686954
26582902137370
22010951349380
76667117950686
85446978181619
47321199324594
11997629780388
130171...

result:

ok 10309 numbers

Test #10:

score: 0
Accepted
time: 61ms
memory: 15780kb

input:

17922 26288
78358526 94388578 79868149 70568640 439488 93628351 22184971 90004285 56914297 62058212 95734077 53735585 22150657 67999267 33565625 29440929 84665836 5498817 16780764 7835984 93917437 93715495 88137424 69026532 13148316 47104550 17805406 72791819 81459663 43094843 58436002 48811273 3539...

output:

876519285943318
191445528176750
331694640557283
745853658705581
31865177126080
3286266613132290
1306011210182755
1649949488467668
3069536331277614
24317963844253
353573666568278
1611872388252603
22400128762115
208100832725593
22960021698592
791955605781436
448878667542222
4752171840490562
1920031984...

result:

ok 26288 numbers

Test #11:

score: 0
Accepted
time: 21ms
memory: 8724kb

input:

15254 5419
23759171 14398863 55270407 43706573 44678298 67530032 92592120 62281082 24445144 38403056 73864789 64998018 29791277 57113571 57871629 48391201 96538824 22387807 93818995 19332322 61142675 43164249 308943 74103587 46301666 26566515 89342515 5503555 77763021 56013466 15695446 2244016 19549...

output:

327969156735008
1480691582971922
237081285040832
138079076573930
14427855755332
385885721913258
70720825292106
81487109670966
16489894883997
642786282250491
2267868261383217
2607520471802536
1646931840250258
108663283850354
667972873116410
1655506939362462
155858616538842
729381845577308
41453646873...

result:

ok 5419 numbers

Test #12:

score: 0
Accepted
time: 52ms
memory: 13456kb

input:

17531 20025
89079913 95968767 67951680 52572930 57209077 7082212 77033680 29884871 43213842 59062998 92273353 32608841 53955729 31447051 59219017 84519161 48471766 7752841 78397194 41616261 98643355 12421529 93669325 39244298 76001755 2116687 75492810 79421218 15596184 23633662 89582880 55092499 604...

output:

698576838001654
2973053072636441
1833120886165237
1486949557410341
5925274359562102
216565463559254
1796106521689493
836791285670216
1414727915454730
106596810948479
2877995854358919
235079733730934
31201521554613
3042893209407129
115558265617223
616367410181758
3377776307555249
295960305298925
3649...

result:

ok 20025 numbers

Test #13:

score: 0
Accepted
time: 45ms
memory: 13308kb

input:

2016 28025
12798889 35776185 33985605 30906795 82494982 17396057 67069492 24290293 15253193 47917498 45997113 87936784 68388214 9520714 20889240 64849148 75080485 94049772 7268719 76532360 50522558 55614870 55389553 16148127 5903384 90101525 12377922 2201182 42757227 69293408 10886606 6137700 602860...

output:

20129709197003
938986681748
11865409506185
1924459381408
41698860259613
46095255619004
28544355381714
432504022908
14733321836971
31659883009638
1480277567734
2390275538516
31394504055664
9855556093026
33917518331678
6979349353605
9892619167504
429276344980
444803715781
865329708448
56906156098188
1...

result:

ok 28025 numbers

Test #14:

score: 0
Accepted
time: 75ms
memory: 17056kb

input:

25605 29190
56393888 43675568 30608768 11331936 83874156 3497015 89741541 28546104 15970842 35786145 74700604 10110105 30269269 10854297 42232542 6035859 84680730 33985283 72974489 45094504 67466236 54108221 77474352 16491485 25474577 28983138 39026828 90542575 77332778 10439075 72415087 50025703 23...

output:

5363348659571712
816455088116379
4905380583761188
390895601187508
1100342088323280
5355922627565475
4600909459783512
1946114014369987
2255017653763562
1138892837646226
1689775972128879
2224325088920086
3854029637902801
106057789563226
1349803223387122
2081549530328252
2084107261651164
14782841178713...

result:

ok 29190 numbers

Test #15:

score: 0
Accepted
time: 83ms
memory: 17448kb

input:

18735 31763
47972601 79276275 4668983 54104880 42506513 11920591 81447054 86313401 46405970 26689505 647618 92801665 63163216 90130266 69002595 94916048 7422346 34415314 91071725 19010124 58899318 7799583 87050672 91153819 29188070 75902447 31307782 14972114 32600168 14533399 62268169 31068958 70862...

output:

946550530556344
224588319662310
1594210357388688
640510408516530
2413928477968702
2876709710509904
1820558481247742
218473127454708
134013977869194
317396336549721
580888581251749
1903932497357252
379392629706009
439333795783946
82172507312723
4120619275582918
314456574694572
1015577801642579
282269...

result:

ok 31763 numbers

Test #16:

score: 0
Accepted
time: 151ms
memory: 23236kb

input:

51320 41754
89847568 20178499 83185553 10397681 69485359 56906591 22782464 40735141 53331790 38339199 78014614 22002068 84360783 77517105 55889956 31387225 72718313 71785228 4148619 50371045 39047172 61490870 92099668 26602456 87193821 35895863 19892151 14979786 57830212 36905284 30294157 86658104 6...

output:

871969678370951
796278778098292
2219013502606909
444656116198729
16484794258625693
16199660383388572
4112977967307052
1727189326382961
41239986229406529
2925497299337505
5922362293845599
36976347490558814
11675707520569753
11615696054869953
16941507543314613
7511955498703955
6294057110256975
4884994...

result:

ok 41754 numbers

Test #17:

score: 0
Accepted
time: 347ms
memory: 32208kb

input:

87657 71009
34623063 47677363 95147631 17600790 89529096 74235244 8242944 82519342 23839538 12783790 65923884 40656281 32144213 35767242 67964843 41873013 50858136 28381322 79319636 41401240 99322340 4561733 97309509 97946744 9906896 32148467 69516446 19361810 98795121 77948358 15725334 11247369 572...

output:

1722586268168591
7073783081047802
14078105231789531
3651179789964329
10524693013676604
38690091467053046
27635911920786212
15320028504827418
4987333812070181
24124667059955225
314811532043202
10595290237812254
38545761001475175
23788244769228192
146539350073246
16402435303463568
101661421999677226
6...

result:

ok 71009 numbers

Test #18:

score: 0
Accepted
time: 491ms
memory: 41640kb

input:

100000 100000
79130244 57461331 67889374 44393448 18109279 41193846 4425706 90278748 84827342 60719858 37897767 12436514 74870786 53080270 23739772 94859180 48949722 63848337 11144151 89354087 33973464 61392053 33891526 5505014 37629057 19730344 16319661 52860499 28309665 85830100 70092676 43107736 ...

output:

80226882039454636
49572294037640233
145593150743388130
89127459853266011
2339336322935884
988418228323540
15234489420424845
7602956907207411
11416557007697448
9782878235348907
4126594945932593
3417518005511838
115907585910822396
43101811034851880
69373901169859510
7661180455948408
113285623342743692...

result:

ok 100000 numbers

Test #19:

score: 0
Accepted
time: 466ms
memory: 41084kb

input:

100000 100000
52414403 65205120 28168995 19629871 36484345 99387445 22353651 19879651 593362 98101156 56380081 96606439 80256665 3120002 8774072 49162257 19945824 43378207 33741216 5179559 22104562 1500985 4207225 37097788 1460957 68090895 97902543 5518198 18645528 80276076 30211788 84348119 8327129...

output:

183589052441435
68002581105717839
58084261535600142
45593543823427992
23547310360118412
20278994485286418
7732471397055233
3768855407851676
1830588446139381
30139263468674989
70956861732574068
21034525138368676
10183480670180313
18805816648216335
10684761155487958
12161334951742387
19234808368033804...

result:

ok 100000 numbers

Test #20:

score: 0
Accepted
time: 486ms
memory: 42728kb

input:

100000 100000
96579365 63511827 71719335 97869707 60102728 75751731 9536320 98222926 87530532 96983742 52796056 23660896 73725803 27297 90161682 21382865 28111942 83069571 40337555 3505258 61576322 89303850 17459538 10376902 84581663 31844700 70260040 29931156 1089630 39262688 34054308 68510558 3776...

output:

147695439776186687
41742301806304625
23286027057441374
11927886127507318
16532027691894117
15887269422252111
41808589268206939
2849467688150982
27711620431956232
2885215060983673
21026930612743123
4570633071891244
96928842424513462
106616800719407184
31456754177867438
12074924865735422
4756812528800...

result:

ok 100000 numbers

Test #21:

score: 0
Accepted
time: 505ms
memory: 42024kb

input:

100000 100000
56833388 21924113 64669230 54190782 11932380 54166343 40213700 36930204 28089510 15270 48053216 70421692 89063130 10822346 28401899 12053116 63442523 75607939 83665490 65673365 37644045 15186479 97113721 70500978 16245966 1846595 18828619 66534490 64614912 95425641 87626230 34543150 66...

output:

1912290903847772
11017667798282306
13971610504362148
109312554957727680
54643391486319531
227295177219673408
3093668833739047
1057921218497170
5024116999482445
906076296209864
13672990168418647
42963158579104464
2468420537064935
5994700660766607
31258911681783068
19433770901950272
10718435626786791
...

result:

ok 100000 numbers

Test #22:

score: 0
Accepted
time: 487ms
memory: 41596kb

input:

100000 100000
28087634 15991723 3566777 85921622 84606712 18849787 94681938 44730424 68726117 27371411 33741620 60665524 22621296 54071294 66325578 78211546 14071869 5277532 35180894 64613510 14172941 18859492 82578944 84118251 93531276 94804886 39539697 58285198 12183084 58292606 15990104 39184056 ...

output:

22026586048875916
18051287062463444
13637741800183934
32318406540603511
97494224491139172
67933042076496864
56469717688765201
109622819073805436
26555900363888662
77857233116248148
175820499991167168
19109765659101235
43830266062361018
22630547908387718
21131353865276126
75125546747784210
2215690134...

result:

ok 100000 numbers

Test #23:

score: 0
Accepted
time: 493ms
memory: 41640kb

input:

100000 100000
90494797 91768185 28620176 99922890 37073260 8684957 56821901 50834490 81415863 89465271 22084909 6662707 36927470 68565516 30644543 23033228 8812978 34051214 8517854 46461209 65369390 70248795 43492856 44167365 37358940 41441664 61893656 64699749 89931229 23424348 67174607 79632636 52...

output:

13316108002499316
59222687686598958
7670861632261067
40362094292094839
5287931297037637
18815355145224900
23047628007321815
80493171642510194
126968755242396365
54016493078279795
19804919664640512
11775505751044175
398223061620630
7887174353177560
14459869915200263
7824898858531792
12589566252046077...

result:

ok 100000 numbers

Test #24:

score: 0
Accepted
time: 496ms
memory: 41128kb

input:

100000 100000
67962436 623441 57341831 49087223 52195740 43058958 3840219 34924031 13071452 75936785 50417711 2927387 35570450 32109687 41799334 68463839 67346024 37103565 75933141 66310375 21397131 36990938 61484658 16439413 18296241 81890507 18949881 80412108 85486910 40110523 49020967 26003461 13...

output:

20082449488285850
18695600095362270
36118761213263190
13451831990452245
12708670130413438
17335160681228838
41285013121342969
142645897328554891
71783956396984156
71810067514677658
10759250627128275
9816755068271738
93298061626989667
14115951518183987
7702869506305678
22381232623033256
4607509379199...

result:

ok 100000 numbers

Test #25:

score: 0
Accepted
time: 494ms
memory: 40992kb

input:

100000 100000
60165834 41093154 12262458 87756690 8895916 66594847 89509269 52006802 6636100 95186368 25295170 22777336 32792284 64792455 31158906 63218668 71484871 38565612 20014683 30210614 35215667 57864689 47579248 82492454 93133016 19894277 11689232 39807448 33056303 17187756 4115181 26777803 2...

output:

12968974600839274
3107336693230966
4872732103344738
78068930309630480
216581317261773225
21328817895885356
48667489418008836
7464165689585868
15376506417653439
78577894888586593
45270581847017114
111158527982143657
60016510489185076
31189795294045044
105880334813918876
18519357639484107
333948370438...

result:

ok 100000 numbers