Problem Statement
The King of Byteland likes integer factorization.
Your task is to help him factor the number N.
You will be given the
To make this task easier, the King has decided to give you a hint.
He already knows the correct factorization and he will tell you every second number in the correct return value.
More precisely, in addition to N you will be given a
Given N and primes, return the
Definition
- Class:
- TheKingsFactorization
- Method:
- getVector
- Parameters:
- long, long[]
- Returns:
- long[]
- Method signature:
- long[] getVector(long N, long[] primes)
- (be sure your method is public)
Constraints
- N will be between 2 and 1,000,000,000,000,000,000 (10^18), inclusive.
- primes will contain the correct prime factors (as defined in the problem statement).
Examples
12
{2, 3}
Returns: {2, 2, 3 }
7
{7}
Returns: {7 }
1764
{2, 3, 7}
Returns: {2, 2, 3, 3, 7, 7 }
49
{7}
Returns: {7, 7 }
210
{2, 5}
Returns: {2, 3, 5, 7 }
100000
{2, 2, 2, 5, 5}
Returns: {2, 2, 2, 2, 2, 5, 5, 5, 5, 5 }
32416190071
{32416190071}
Returns: {32416190071 }
32193520815076979
{179424691}
Returns: {179424691, 179426369 }
747175606
{2}
Returns: {2, 373587803 }
53
{53}
Returns: {53 }
93
{3}
Returns: {3, 31 }
28
{2, 7}
Returns: {2, 2, 7 }
66
{2, 11}
Returns: {2, 3, 11 }
19
{19}
Returns: {19 }
4077
{3, 3}
Returns: {3, 3, 3, 151 }
1658
{2}
Returns: {2, 829 }
7734
{2, 1289}
Returns: {2, 3, 1289 }
2510
{2, 251}
Returns: {2, 5, 251 }
8985
{3, 599}
Returns: {3, 5, 599 }
837108
{2, 3, 3, 337}
Returns: {2, 2, 3, 3, 3, 23, 337 }
484993
{17, 607}
Returns: {17, 47, 607 }
68199
{3, 179}
Returns: {3, 127, 179 }
586125
{3, 5, 5}
Returns: {3, 3, 5, 5, 5, 521 }
182120
{2, 2, 29}
Returns: {2, 2, 2, 5, 29, 157 }
18195326
{2, 293473}
Returns: {2, 31, 293473 }
19698256
{2, 2, 1231141}
Returns: {2, 2, 2, 2, 1231141 }
96799770
{2, 3, 37, 709}
Returns: {2, 3, 3, 5, 37, 41, 709 }
41616336
{2, 2, 3}
Returns: {2, 2, 2, 2, 3, 867007 }
62146292
{2, 13}
Returns: {2, 2, 13, 1195121 }
3440596343
{2833}
Returns: {2833, 1214471 }
7444442931
{3, 191}
Returns: {3, 107, 191, 121421 }
2520372976
{2, 2, 11}
Returns: {2, 2, 2, 2, 11, 14320301 }
5351222641
{5351222641}
Returns: {5351222641 }
1067500455
{3, 7}
Returns: {3, 5, 7, 10166671 }
68314849208
{2, 2}
Returns: {2, 2, 2, 8539356151 }
73849265775
{3, 5, 281}
Returns: {3, 3, 5, 5, 281, 1168039 }
23671554027
{3, 31, 193}
Returns: {3, 11, 31, 113, 193, 1061 }
483012904
{2, 2, 5488783}
Returns: {2, 2, 2, 11, 5488783 }
93074783711
{7, 14107}
Returns: {7, 13, 14107, 72503 }
145620356668
{2, 3079}
Returns: {2, 2, 3079, 11823673 }
627276513996
{2, 3, 11, 59077}
Returns: {2, 2, 3, 3, 11, 26813, 59077 }
444279237316
{2, 111069809329}
Returns: {2, 2, 111069809329 }
411595106454
{2, 3, 7, 90191}
Returns: {2, 3, 3, 3, 7, 12073, 90191 }
746365281032
{2, 2, 44017}
Returns: {2, 2, 2, 7, 44017, 302791 }
720720
{2, 2, 3, 5, 11}
Returns: {2, 2, 2, 2, 3, 3, 5, 7, 11, 13 }
665280
{2, 2, 2, 3, 3, 7}
Returns: {2, 2, 2, 2, 2, 2, 3, 3, 3, 5, 7, 11 }
554400
{2, 2, 2, 3, 5, 11}
Returns: {2, 2, 2, 2, 2, 3, 3, 5, 5, 7, 11 }
498960
{2, 2, 3, 3, 5, 11}
Returns: {2, 2, 2, 2, 3, 3, 3, 3, 5, 7, 11 }
332640
{2, 2, 2, 3, 5, 11}
Returns: {2, 2, 2, 2, 2, 3, 3, 3, 5, 7, 11 }
50400
{2, 2, 2, 3, 5}
Returns: {2, 2, 2, 2, 2, 3, 3, 5, 5, 7 }
576460752303423488
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}
Returns: {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }
432345564227567616
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}
Returns: {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3 }
343937239529371488
{2, 2, 2, 3, 7, 7, 11, 11, 13, 13, 47}
Returns: {2, 2, 2, 2, 2, 3, 3, 7, 7, 7, 7, 7, 11, 11, 11, 11, 13, 13, 13, 47, 47 }
169096930494046152
{2, 2, 13, 17, 17, 47, 47, 47}
Returns: {2, 2, 2, 3, 13, 13, 17, 17, 17, 37, 47, 47, 47, 47, 47 }
1492992010450944
{2, 2, 2, 2, 2, 2, 3, 3, 3}
Returns: {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 1000000007 }
231447602946796236
{2, 3, 7, 11, 13, 47}
Returns: {2, 2, 3, 3, 7, 7, 11, 11, 13, 17, 47, 104394737 }
1000000000000000000
{2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5}
Returns: {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }
175517932966395201
{3, 3, 7, 13, 47, 118456249}
Returns: {3, 3, 3, 3, 7, 7, 13, 13, 47, 47, 118456249 }
33194176068608
{2, 2, 2, 2, 2, 32416187567}
Returns: {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 32416187567 }
526477903055332542
{2, 3, 3, 47, 228204732751}
Returns: {2, 3, 3, 3, 3, 3, 47, 101, 228204732751 }
697488711251146816
{2, 2, 2, 104394737}
Returns: {2, 2, 2, 2, 2, 2, 104394737, 104394737 }
202082451928044253
{47, 86027947}
Returns: {47, 49979417, 86027947 }
470848117576706911
{937, 32452657}
Returns: {937, 15484279, 32452657 }
429496730910720001
{655360001}
Returns: {655360001, 655360001 }
37588592414461729
{193877777}
Returns: {193877777, 193877777 }
3651003162326508
{2, 3}
Returns: {2, 2, 3, 304250263527209 }
999999999999999862
{2 }
Returns: {2, 499999999999999931 }
980000140000004278
{2, 700000069 }
Returns: {2, 700000031, 700000069 }
793558824758043976
{2, 2 }
Returns: {2, 2, 2, 99194853094755497 }
92233292289161182
{2 }
Returns: {2, 46116646144580591 }
992962200242288338
{2 }
Returns: {2, 496481100121144169 }
999999999999999842
{2 }
Returns: {2, 499999999999999921 }
999999799000008694
{2, 999999937 }
Returns: {2, 499999931, 999999937 }
200000000000000006
{2 }
Returns: {2, 100000000000000003 }
100000
{2, 2, 2, 5, 5 }
Returns: {2, 2, 2, 2, 2, 5, 5, 5, 5, 5 }
800000000000000026
{2 }
Returns: {2, 400000000000000013 }
999999999999999989
{999999999999999989 }
Returns: {999999999999999989 }
999999999999999993
{3 }
Returns: {3, 333333333333333331 }
199999999999999994
{2 }
Returns: {2, 99999999999999997 }
210
{2, 5 }
Returns: {2, 3, 5, 7 }
15039996049596667
{139 }
Returns: {139, 108201410428753 }
200000000000000026
{2 }
Returns: {2, 100000000000000013 }
970833680167774470
{2, 5 }
Returns: {2, 3, 5, 32361122672259149 }
990151289621082074
{2 }
Returns: {2, 495075644810541037 }
843077835197831258
{2 }
Returns: {2, 421538917598915629 }
999956325678898958
{2 }
Returns: {2, 499978162839449479 }
999999999999999896
{2, 2 }
Returns: {2, 2, 2, 124999999999999987 }
349272004444904014
{2, 1000000007 }
Returns: {2, 174636001, 1000000007 }
999999866000004473
{999999929 }
Returns: {999999929, 999999937 }
980000002800000002
{2, 700000001 }
Returns: {2, 700000001, 700000001 }
360287964820930600
{2, 2, 5 }
Returns: {2, 2, 2, 5, 5, 1801439824104653 }
999999999999984986
{2 }
Returns: {2, 499999999999992493 }
1964903306
{2 }
Returns: {2, 982451653 }
200110257011432018
{2 }
Returns: {2, 100055128505716009 }
20000002800000098
{2, 100000007 }
Returns: {2, 100000007, 100000007 }
21796757741761202
{2, 104395301 }
Returns: {2, 104395301, 104395301 }
981168724994134051
{981168724994134051 }
Returns: {981168724994134051 }
2000000014
{2 }
Returns: {2, 1000000007 }
200218200258200302
{2 }
Returns: {2, 100109100129100151 }
800000000000000024
{2, 2 }
Returns: {2, 2, 2, 100000000000000003 }
14
{2 }
Returns: {2, 7 }
979999868400004418
{2, 699999953 }
Returns: {2, 699999953, 699999953 }
200006760057122
{2, 10000169 }
Returns: {2, 10000169, 10000169 }
899999999999999846
{2 }
Returns: {2, 449999999999999923 }
183368264792
{2, 2 }
Returns: {2, 2, 2, 22921033099 }
74249016090130874
{2 }
Returns: {2, 37124508045065437 }
854217074704302454
{2, 653535427 }
Returns: {2, 653535401, 653535427 }
12
{2, 3 }
Returns: {2, 2, 3 }
239854726664911
{15487019 }
Returns: {15487019, 15487469 }
36028796482093054
{2 }
Returns: {2, 18014398241046527 }
1999999984366
{2 }
Returns: {2, 999999992183 }
621378720128007854
{2, 999000011 }
Returns: {2, 311000357, 999000011 }
237746308477719406
{2 }
Returns: {2, 118873154238859703 }
999999999999999134
{2 }
Returns: {2, 499999999999999567 }
999999923000000882
{2, 999999937 }
Returns: {2, 499999993, 999999937 }
978266565744874558
{2 }
Returns: {2, 489133282872437279 }
320000041600000774
{2, 400000043 }
Returns: {2, 400000009, 400000043 }
2001300200604902
{2, 100019 }
Returns: {2, 100003, 100019, 100043 }
885909753408416474
{2, 999999751 }
Returns: {2, 442954987, 999999751 }
5720972626
{2 }
Returns: {2, 2860486313 }
999999951389101934
{2, 707106791 }
Returns: {2, 707106737, 707106791 }
7553350875370
{2, 785839 }
Returns: {2, 5, 785839, 961183 }
678679667760357089
{67867967 }
Returns: {67867967, 9999999967 }
1390710599625153
{3, 27644437 }
Returns: {3, 16769023, 27644437 }
64832380142
{2 }
Returns: {2, 32416190071 }
500000012000000054
{2, 500000009 }
Returns: {2, 500000003, 500000009 }
948047602067304166
{2, 961748941 }
Returns: {2, 492876863, 961748941 }
999999875021574338
{2, 707106737 }
Returns: {2, 707106737, 707106737 }
499999818000016562
{2, 499999909 }
Returns: {2, 499999909, 499999909 }
288230376151711718
{2 }
Returns: {2, 144115188075855859 }
3000000210
{2, 5 }
Returns: {2, 3, 5, 100000007 }
722664438997003402
{2, 4200084451 }
Returns: {2, 86029751, 4200084451 }
199996160018414
{2, 9999907 }
Returns: {2, 9999901, 9999907 }
999999747000012922
{2, 999999929 }
Returns: {2, 499999909, 999999929 }
8000000056
{2, 2 }
Returns: {2, 2, 2, 1000000007 }
734064161753028154
{2, 982451707 }
Returns: {2, 373587911, 982451707 }
799999999999999976
{2, 2 }
Returns: {2, 2, 2, 99999999999999997 }
965626188232372178
{2, 694847533 }
Returns: {2, 694847533, 694847533 }
937357814443548326
{2, 694847533 }
Returns: {2, 674506111, 694847533 }
999999874000003969
{999999937 }
Returns: {999999937, 999999937 }
231219114367441138
{2, 504547 }
Returns: {2, 227569, 504547, 1006883 }
104267587982426282
{2 }
Returns: {2, 52133793991213141 }
499999924000000966
{2, 499999993 }
Returns: {2, 499999931, 499999993 }
458885063689113602
{2, 479001599 }
Returns: {2, 479001599, 479001599 }
357815296795805258
{2, 433024223 }
Returns: {2, 413158523, 433024223 }
606197161055787754
{2, 599144041 }
Returns: {2, 505885997, 599144041 }
319999926400004182
{2, 399999959 }
Returns: {2, 399999949, 399999959 }
6000000001
{6000000001 }
Returns: {6000000001 }
810054180971804662
{2, 900007 }
Returns: {2, 500009, 900007, 900037 }
30000000210
{2, 5 }
Returns: {2, 3, 5, 1000000007 }
999730024299271
{99991, 99991 }
Returns: {99991, 99991, 99991 }
21755069872
{2, 2, 36871 }
Returns: {2, 2, 2, 2, 36871, 36877 }
888852222649332302
{2, 999979 }
Returns: {2, 444443, 999979, 999983 }
499999986000000098
{2, 499999993 }
Returns: {2, 499999993, 499999993 }
999999999999998146
{2 }
Returns: {2, 499999999999999073 }
250315132318522
{2, 50021 }
Returns: {2, 50021, 50021, 50021 }
799999999999999982
{2 }
Returns: {2, 399999999999999991 }
427651727822255162
{2, 982451653 }
Returns: {2, 217645177, 982451653 }
200000000138
{2 }
Returns: {2, 100000000069 }
80179124953718456
{2, 2 }
Returns: {2, 2, 2, 10022390619214807 }
16002320092400918
{2, 200009 }
Returns: {2, 200003, 200009, 200017 }
999999271665052798
{2, 793699 }
Returns: {2, 793691, 793699, 793711 }
961748949655740469
{961748941 }
Returns: {961748941, 1000000009 }
50419013362
{2 }
Returns: {2, 25209506681 }
945764098
{2 }
Returns: {2, 472882049 }
20000000004130766
{2 }
Returns: {2, 10000000002065383 }
999999999999999766
{2 }
Returns: {2, 499999999999999883 }
142234025442142234
{2 }
Returns: {2, 71117012721071117 }
25514699833688
{2, 2, 24793 }
Returns: {2, 2, 2, 13, 24793, 9895279 }
998254128064864128
{2, 2, 2, 2, 701 }
Returns: {2, 2, 2, 2, 2, 2, 2, 3, 701, 3708445257017 }
855925001274976082
{2, 654188429 }
Returns: {2, 654188429, 654188429 }
979999739600017298
{2, 699999907 }
Returns: {2, 699999907, 699999907 }
948620324694494954
{2 }
Returns: {2, 474310162347247477 }
777575109091711366
{2, 852457 }
Returns: {2, 535013, 852457, 852463 }
2000000018
{2 }
Returns: {2, 1000000009 }
5942430146
{2 }
Returns: {2, 2971215073 }
420
{2, 3, 7 }
Returns: {2, 2, 3, 5, 7 }
992000000000000072
{2, 2 }
Returns: {2, 2, 2, 124000000000000009 }
999999999999999995
{5, 599, 369743471 }
Returns: {5, 29, 599, 31139, 369743471 }
750000009000000027
{3, 500000003 }
Returns: {3, 500000003, 500000003 }
26915972537950862
{2 }
Returns: {2, 13457986268975431 }
23451616243765046
{2, 227189 }
Returns: {2, 227177, 227189, 227191 }
500000018000000162
{2, 500000009 }
Returns: {2, 500000009, 500000009 }
965211250482432409
{982451653 }
Returns: {982451653, 982451653 }
80000028800002574
{2, 200000039 }
Returns: {2, 200000033, 200000039 }
19999999999999874
{2 }
Returns: {2, 9999999999999937 }
2166010111093742
{2, 102677 }
Returns: {2, 102593, 102677, 102811 }
333333333333333331
{333333333333333331 }
Returns: {333333333333333331 }
38
{2 }
Returns: {2, 19 }
100000007700000049
{100000007 }
Returns: {100000007, 1000000007 }
32193212922307583
{179424671 }
Returns: {179424671, 179424673 }
90
{2, 3 }
Returns: {2, 3, 3, 5 }
60131588110926522
{2, 100003, 1000033 }
Returns: {2, 3, 100003, 100213, 1000033 }
200000000000000042
{2 }
Returns: {2, 100000000000000021 }
500000006000000018
{2, 500000003 }
Returns: {2, 500000003, 500000003 }
3430
{2, 7, 7 }
Returns: {2, 5, 7, 7, 7 }
10000000600000011
{3, 3, 1163 }
Returns: {3, 3, 3, 281, 1163, 1133313931 }
2000000000000074
{2 }
Returns: {2, 1000000000000037 }
12423
{3, 101 }
Returns: {3, 41, 101 }
2310
{2, 5, 11 }
Returns: {2, 3, 5, 7, 11 }
30
{2, 5 }
Returns: {2, 3, 5 }
999999999999999690
{2, 5 }
Returns: {2, 3, 5, 33333333333333323 }
719939538069374498
{2, 599974807 }
Returns: {2, 599974807, 599974807 }
9999996000000319
{99999971 }
Returns: {99999971, 99999989 }
800000023600000126
{2, 1000000007 }
Returns: {2, 400000009, 1000000007 }
198389706189510994
{2 }
Returns: {2, 99194853094755497 }
7400837602790641
{86028121 }
Returns: {86028121, 86028121 }
969969
{3, 11, 17 }
Returns: {3, 7, 11, 13, 17, 19 }