#include #include #include using namespace std; int N,M,K; int A[9],B[2020]; long solve(int i) { atcoder::mf_graphmf((i+1)*2*N+N+2); int S=(i+1)*2*N+N; int T=S+1; for(int j=0;j>N>>M>>K; for(int i=0;i>A[i]; for(int i=0;i>B[i],B[i]--; ans[0]=solve(0); if(M>=2)ans[M-1]=solve(M-1); dfs(0,M-1); for(int i=0;i