class NumberTheory{
private long FakPos(long[] exp, int lower, int upper){
long result = 1L;
for (; lower < upper ;)
result *= 1L + exp[lower++];
return result;
}
public static void main
(String...
args){ NumberTheory nt = new NumberTheory();
// 24 = 2^3 3
System.
out.
println(nt.
FakPos(new long[]{3L, 1L
},
0,
2));
// 72 = 2^3 3^2
System.
out.
println(nt.
FakPos(new long[]{3L, 2L
},
0,
2));
// 84 = 2^2 3^1 7^1
System.
out.
println(nt.
FakPos(new long[]{2L, 1L, 1L
},
0,
3));
// 25 = 5^2
System.
out.
println(nt.
FakPos(new long[]{2L
},
0,
1));
// 35 = 5^1 7^1
System.
out.
println(nt.
FakPos(new long[]{1L, 1L
},
0,
2));
// 36 = 2^2 3^2
System.
out.
println(nt.
FakPos(new long[]{2L, 2L
},
0,
2)); }
}
Y2xhc3MgTnVtYmVyVGhlb3J5ewogICAgICAgIHByaXZhdGUgbG9uZyBGYWtQb3MobG9uZ1tdIGV4cCwgaW50IGxvd2VyLCBpbnQgdXBwZXIpewogICAgICAgICAgICAgICAgbG9uZyByZXN1bHQgPSAxTDsKICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgZm9yICg7IGxvd2VyIDwgdXBwZXIgOykKICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICo9IDFMICsgZXhwW2xvd2VyKytdOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nLi4uIGFyZ3MpewogICAgICAgICAgICAgICAgTnVtYmVyVGhlb3J5IG50ID0gbmV3IE51bWJlclRoZW9yeSgpOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAvLyAyNCA9IDJeMyAzCiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4obnQuRmFrUG9zKG5ldyBsb25nW117M0wsIDFMfSwgMCwgMikpOwogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAvLyA3MiA9IDJeMyAzXjIKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihudC5GYWtQb3MobmV3IGxvbmdbXXszTCwgMkx9LCAwLCAyKSk7CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIC8vIDg0ID0gMl4yIDNeMSA3XjEKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihudC5GYWtQb3MobmV3IGxvbmdbXXsyTCwgMUwsIDFMfSwgMCwgMykpOwogCiAgICAgICAgICAgICAgICAvLyAyNSA9IDVeMgogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG50LkZha1BvcyhuZXcgbG9uZ1tdezJMfSwgMCwgMSkpOwogCiAgICAgICAgICAgICAgICAvLyAzNSA9IDVeMSA3XjEKICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihudC5GYWtQb3MobmV3IGxvbmdbXXsxTCwgMUx9LCAwLCAyKSk7CiAKICAgICAgICAgICAgICAgIC8vIDM2ID0gMl4yIDNeMgogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKG50LkZha1BvcyhuZXcgbG9uZ1tdezJMLCAyTH0sIDAsIDIpKTsKICAgICAgICB9Cn0=