git reimport

This commit is contained in:
2019-03-15 13:47:54 +04:00
commit 3b461f73de
489 changed files with 1631603 additions and 0 deletions

View File

@@ -0,0 +1,97 @@
package chelper;
import io.InputReader;
import io.OutputWriter;
import prep.LongMod;
import solutions.ChelperSolution;
public class TaskC extends ChelperSolution {
{
gcj = true;
}
public void solve(int testNumber, InputReader in, OutputWriter out) {
super.solve(testNumber, in, out);
}
final LongMod MOD = new LongMod(1000000007L);
int N = 1001000;
long[] inverses = new long[N];
@Override
protected void precalc() {
for (int i = 2; i < N; i++) {
inverses[i] = MOD.inversePrime(i - 1);
}
}
@Override
public void solve(int testNumber) {
int n = in.nextInt();
int k = in.nextInt();
long x1 = in.nextInt();
long y1 = in.nextInt();
long C = in.nextInt();
long D = in.nextInt();
long E1 = in.nextInt();
long E2 = in.nextInt();
long FVal = in.nextInt();
LongMod F = new LongMod(FVal);
long[] x = new long[n];
long[] y = new long[n];
x[0] = F.mod(x1);
y[0] = F.mod(y1);
for (int i = 1; i < n; i++) {
x[i] = F.sum(
F.prod(x[i - 1], C),
F.prod(y[i - 1], D),
E1
);
y[i] = F.sum(
F.prod(x[i - 1], D),
F.prod(y[i - 1], C),
E2
);
}
long[] a = new long[n];
for (int i = 0; i < n; i++) {
a[i] = F.sum(x[i], y[i]);
}
long[] numPowers = new long[n + 1];
numPowers[1] = MOD.mod(k);
for (int i = 2; i <= n; i++) {
numPowers[i] = MOD.prod(
i,
MOD.sub(MOD.pow(i, k), 1),
inverses[i]
);
}
long res = 0;
long numSum = 0;
for (int i = 0; i < n; i++) {
numSum = MOD.sum(numSum, numPowers[i + 1]);
res = MOD.sum(
res,
MOD.prod(
a[i],
n - i,
numSum
)
);
}
debug.println("hi");
out.println(res);
}
}