#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const int N = 1e5 + 50;
string s;
struct suc {
  string pre, suf;
  bool inc;
  int f;
  void pb_front(char ch) {
    if (!f) {
      inc = false;
    } else if (ch != pre[0]) {
      inc = (ch < pre[0]);
    }
    ++f;
    if ((int)(suf).size() < 2) {
      suf = ch + suf;
    }
    pre = ch + pre;
    if ((int)(pre).size() > 10) {
      pre.pop_back();
    }
  }
} ans[N];
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> s;
  int len = (int)(s).size();
  for (register int i = len - 1; i >= 0; --i) {
    char ch = s[i];
    if (i + 1 < len && s[i] == s[i + 1]) {
      ans[i] = ans[i + 2];
      if (ans[i].f != 0 &&
          (ch < ans[i].pre[0] || (ch == ans[i].pre[0] && ans[i].inc))) {
        ans[i].pb_front(ch);
        ans[i].pb_front(ch);
      }
    } else {
      ans[i] = ans[i + 1];
      ans[i].pb_front(ch);
    }
  }
  for (register int i = 0; i < len; ++i) {
    if (ans[i].f <= 10) {
      cout << ans[i].f << ' ' << ans[i].pre << endl;
    } else {
      cout << ans[i].f << ' ' << ans[i].pre.substr(0, 5) << "..." << ans[i].suf
           << endl;
    }
  }
  return 0;
}
