ソースコード
#include <bits/stdc++.h>
using namespace std;
#define FOR(i,k,n) for(int i = (int)(k); i < (int)(n); i++)
#define REP(i,n) FOR(i,0,n)
#define ALL(a) a.begin(), a.end()
#define MS(m,v) memset(m,v,sizeof(m))
typedef long long ll;
typedef long double ld;
typedef vector<int> vi;
typedef vector<string> vs;
typedef pair<int, int> pii;
const int MOD = 1e9 + 7;
template<class T> T &chmin(T &a, const T &b) { return a = min(a, b); }
template<class T> T &chmax(T &a, const T &b) { return a = max(a, b); }
template<class T>
istream& operator >> (istream& is, vector<T>& v)
{
for (auto &i : v) is >> i;
return is;
}
template<class T>
ostream& operator<<(ostream& os, vector<T>& v)
{
const string delimiter = "\n";
REP(i, v.size())
{
os << v[i];
if (i != v.size() - 1) os << delimiter;
}
return os;
}
/*--------------------template--------------------*/
int main()
{
cin.sync_with_stdio(false); cout << fixed << setprecision(10);
int n, h, w; cin >> n >> h >> w;
vs fld(h); cin >> fld;
vector<vi> v(h);
REP(i, h)
{
string s = fld[i];
int cnt = 0;
REP(j, s.size())
{
if (s[j] == '.') cnt++;
else
{
if(cnt > 0) v[i].push_back(cnt);
cnt = 0;
}
}
if (cnt > 0) v[i].push_back(cnt);
}
REP(i, n)
{
int ans = 0;
for (auto w : v)
{
for(auto j : w) ans += j / (i + 1);
}
cout << ans << endl;
}
return 0;
}