#define rep(i, n) for(int i = 0; i < (int)(n); i++) typedef int ll; #include using namespace std; int main() { cin.tie(0); ios::sync_with_stdio(false); ll h,w,K; std::cin >> h>>w>>K; std::vector s(h); vector>> sum(26,vector>(h+1,vector(w+1))); for (int i = 0; i < h; i++) { std::cin >> s[i]; for (int j = 0; j < w; j++) { int alpha = s[i][j]-'a'; sum[alpha][i+1][j+1] = 1; for (int k = 0; k < 26; k++) { sum[k][i+1][j+1] += sum[k][i][j+1] + sum[k][i+1][j] - sum[k][i][j]; } } } ll result = 0; for (int i = 0; i < h; i++) { for (int j = 0; j < w; j++) { for (int size = sqrt(K); size <= min(h,w); size++) { if(i+size0){ num++; } } if(num==K) result++; if(num>K) break; }else{ break; } } } } std::cout << result << std::endl; // 2000か。tの大きさの正方形は(2000-t)*(2000-t)通りある4 * 1e6。数えれんこともない。 // もじの種類数 // ある領域に含まれるa-zの数は出せる。 // 2**26 }