#include <bits/stdc++.h>
using namespace std;
string s;
int a, b;
vector<vector<char>> table;
void get_size() {
  for (int i = 1; i <= 5; i++)
    if ((s.size() * 1.0) / (i * 1.0) <= 20.0) {
      a = i;
      b = ceil((s.size() * 1.0) / (i * 1.0));
      break;
    }
}
void init() {
  table.resize(a);
  for (int i = 0; i < a; i++) table[i].assign(b, '0');
}
int main() {
  cin >> s;
  get_size();
  init();
  int stars = a * b - s.size();
  for (int i = 0; i < stars; i++) table[i][b - 1] = '*';
  int pos = 0;
  for (int i = 0; i < a; i++)
    for (int j = 0; j < b; j++)
      if (table[i][j] == '0') table[i][j] = s[pos++];
  cout << a << ' ' << b << endl;
  for (int i = 0; i < a; i++) {
    for (int j = 0; j < b; j++) cout << table[i][j];
    cout << endl;
  }
  return 0;
}
