Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <iomanip>#include <sstream>#include <string>#include <cstring>#include <vector>#include <list>#include <set>#include <stack>#include <queue>#include <map>#include <utility>#include <algorithm>using namespace std;const int MAXN = 105;const int MAXM = 55;const int MODULOR = 1000000007;int N, M;int dp[MAXN][MAXN][MAXM];int g[MAXN][MAXM];int gcd(int a, int b){return b == 0? a: gcd(b, a % b);}