#include <bits/stdc++.h>
using namespace std;
template <class T>
inline string tostring(T n) {
  stringstream ss;
  ss << n;
  ss.flush();
  return ss.str();
}
template <class T>
inline string tobinary(T n) {
  string s = n ? "" : "0";
  while (n) {
    s += ((n & 1) + '0');
    n >>= 1;
  }
  return s;
}
template <class T>
inline int digits(T n) {
  int cnt = n ? 0 : 1;
  while (n) {
    n /= 10;
    cnt++;
  }
  return cnt;
}
template <class T1, class T2>
inline T2 gcd(T1 a, T2 b) {
  return !b ? a : gcd(b, a % b);
}
int main() {
  char *s = (char *)malloc((1000010) * sizeof(char));
  scanf("%s", s);
  int i;
  int *a = (int *)malloc((1000010) * sizeof(int));
  int l = 0;
  int r = strlen(s) - 1;
  for (i = 0; s[i]; i++) {
    if (s[i] == 'l') {
      a[r--] = i + 1;
    } else {
      a[l++] = i + 1;
    }
  }
  for (i = 0; s[i]; i++) {
    cout << a[i] << " ";
  }
  return 0;
}
