Problem Statement
Halina is a young mathematician. Recently she has been studying an interesting function h that operates on positive integers.
Let d(n) be the number of distinct positive divisors of n. The function h is then defined as follows: for each n we have h(n) = n^d(n). In words, h(n) is defined as n to the power of d(n).
For example, d(6)=4 because 6 is divisible by 1, 2, 3, and 6. Then, h(6) = 6^4 = 1296.
Halina already knows how to compute her function h. Now she would like to compute the inverse function. Help her!
You are given a
Definition
- Class:
- DivisorsPower
- Method:
- findArgument
- Parameters:
- long
- Returns:
- long
- Method signature:
- long findArgument(long n)
- (be sure your method is public)
Constraints
- n will be between 2 and 10^18, inclusive.
Examples
4
Returns: 2
d(2) = 2, h(2) = 4
10
Returns: -1
There is no x satisfying h(x) = 10.
64
Returns: 4
d(4) = 3, h(4) = 64
10000
Returns: 10
d(10) = 4, h(10) = 10000
2498388559757689
Returns: 49983883
25
Returns: 5
729
Returns: 9
27
Returns: -1
81
Returns: -1
50
Returns: -1
7921
Returns: 89
1048576
Returns: 16
110075314176
Returns: 24
456976
Returns: 26
456977
Returns: -1
656100000000
Returns: 30
531441
Returns: 27
101559956668416
Returns: 36
1062882
Returns: -1
9682651996416
Returns: 42
64925062108545024
Returns: 48
96717311574016
Returns: 56
66535302272909312
Returns: -1
Program with overflow would return 60.
8279638877935441
Returns: -1
This test fails if program treats 9539*9539 as a prime.
360040606269696
Returns: 66
3486784401
Returns: 81
10460353203
Returns: -1
1000000000000000000
Returns: 100
28525864220672256
Returns: 114
1771561
Returns: 121
118721967032369152
Returns: -1
Program with overflow would return 210.
759807991618519296
Returns: -1
Program with overflow would return 370.
4890838206582784
Returns: 412
53974440976
Returns: 482
292681
Returns: 541
541
Returns: -1
29542602396307456
Returns: 556
347709076131545088
Returns: -1
594823321
Returns: 841
3533050288881
Returns: 1371
9109555799784049
Returns: 208849
9598548249896761
Returns: 212521
9598548249896762
Returns: -1
999922001521
Returns: 999961
35044572243972880
Returns: -1
982134461213542729
Returns: 994009
838137706742929321
Returns: 942841
889092468889
Returns: 942917
324584056305938521
Returns: 687241
6756327210616080
Returns: -1
329734774403186161
Returns: 23963
893623315422378256
Returns: 30746
95367431640625
Returns: 625
79792266297612001
Returns: 2401
61341990221615104
Returns: 628
965206487562694441
Returns: 982449229
926680334444501641
Returns: 962642371
926680334444501643
Returns: -1
926680338295071129
Returns: -1
98978104944563881
Returns: 314607859
999999874000003969
Returns: 999999937
999999999999999989
Returns: -1
2
Returns: -1
999999999999
Returns: -1
12345679432098769
Returns: 111111113
16
Returns: -1
999999999999999996
Returns: -1
68
Returns: -1
999999858000005041
Returns: 999999929
100000000000000003
Returns: -1
965211250482432409
Returns: 982451653
999998002000998001
Returns: 999999001
1014741853230169
Returns: 100489
999999992000000016
Returns: -1
8
Returns: -1
36902422678601089
Returns: 332929
1125899839733759
Returns: -1
36
Returns: -1
10000000002065383
Returns: -1
127021550911887241
Returns: 502681
999999999999999877
Returns: -1
485829216265306112
Returns: -1
1073741824
Returns: 32
1000000
Returns: -1
4294967297
Returns: -1
14774554437890625
Returns: 105
789730223053602816
Returns: -1
32894113444921
Returns: 32041
10028029413722401
Returns: -1
999999594000041209
Returns: 999999797
486820867825729536
Returns: -1
999999999999998989
Returns: -1
2498388559757699
Returns: -1
632070858021803281
Returns: 795028841
11
Returns: -1
999999866000004473
Returns: -1
999999999999999999
Returns: -1
2985984
Returns: 12