void Solve() { io.i(out N, out M); long ans = 0; if (Math.Abs(N - M) > 1) { goto EXIT; } else { Mat mat = new Mat(); if (Math.Abs(N - M) == 0) { ans = (2 * (mat.newFact(N) * mat.newFact(M)) % mat.mod) % mat.mod; } else { ans = (mat.newFact(N) * mat.newFact(M)) % mat.mod; } } EXIT :; io.o(ans); }
//void Stream() { Test(); io.writeFlush(); } void Test() { //100000 100000 Mat mat = new Mat(); io.o(mat.newFact(1000000)); }