#include <bits/stdc++.h>
using namespace std;
string s;
vector<int> ans;
int i;
void Serach(int ele) {
  if (ele == ans.size()) ans.push_back(0);
  for (; i < s.length(); i++) {
    if (i + 7 <= s.length() && s.substr(i, 7) == "<table>") {
      i++;
      Serach(ans.size());
    } else if (i + 8 <= s.length() && s.substr(i, 8) == "</table>") {
      i++;
      return;
    } else if (i + 4 <= s.length() && s.substr(i, 4) == "<td>") {
      ans[ele]++;
    }
  }
}
int main() {
  int i;
  string ss;
  while (cin >> ss) s += ss;
  Serach(-1);
  sort(ans.begin(), ans.end());
  for (i = 0; i < ans.size(); i++) {
    if (i) cout << ' ';
    cout << ans[i];
  }
  if (ans.size()) cout << endl;
  return 0;
}
