#includeusingnamespace std;int n, m, k, x, y, ans, temp, point;int g[105][105], vis[105], linker[105];booldfs(int u){for(int i =1; i <= m; i++){if(g[u][i]&&!vis[i]){vis[i]=1;if(!linker[i]||dfs(linker[i])){linker[i]= u;returntrue;}}}returnfalse;}inthungary(){ans =0;memset(linker,0,sizeof(linker));for(int i =1; i <= n; i++){memset(vis,0,sizeof(vis));if(dfs(i)) ans++;}return ans;}intmain(){int count =1;while(~scanf("%d %d %d",&n,&m,&k)){memset(g,0,sizeof(g));for(int i =0; i < k; i++){scanf("%d %d",&x,&y);g[x][y]=1;}int total =hungary();temp =0, point =0;for(int i =1; i <= n; i++){for(int j =1; j <= m; j++){if(!g[i][j])continue;g[i][j]=0;temp =hungary();g[i][j]=1;if(temp < total) point++;}}printf("Board %d have %d important blanks for %d chessmen.\n", count, point, total);count++;}return0;}