#include <bits/stdc++.h>
using namespace std;
char s[300005];
int last[27];
int tmp[55];
long long ans[55];
int main(void) {
  scanf("%s", s);
  set<int> st;
  memset(last, -1, sizeof(last));
  st.insert(-1);
  int mx = 0;
  for (int i = 0; s[i]; i++) {
    if (~last[s[i] - 'a']) st.erase(last[s[i] - 'a']);
    last[s[i] - 'a'] = i;
    int m = 0;
    for (__typeof(st.begin()) it = st.begin(); it != st.end(); it++)
      tmp[m++] = *it;
    int x = i;
    for (int j = m - 1, cnt = 1; j >= 0; j--, cnt++) {
      ans[cnt] += x - tmp[j];
      mx = max(mx, cnt);
      x = tmp[j];
    }
    st.insert(i);
  }
  printf("%d\n", mx);
  for (int i = 1; i <= mx; i++) printf("%I64d\n", ans[i]);
}
