Beispiel #1
0
        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);
        }
Beispiel #2
0
        //void Stream() { Test(); io.writeFlush(); }
        void Test()
        {
            //100000 100000
            Mat mat = new Mat();

            io.o(mat.newFact(1000000));
        }