#include <bits/stdc++.h>
using namespace std;
#pragma GCC target("avx2")
#pragma GCC optimization("O2")
#pragma GCC optimization("unroll-loops")
const long double ERR = 1e-5;
const int MOD = 1e9 + 7;
bool areEqual(long double _n1, long double _n2) {
  return fabs(_n1 - _n2) < ERR;
}
const int W = 40;
int DATA = 0;
void init();
void printData();
void printChar(int);
void minusData(int);
int main() {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  init();
  string INPUT;
  cin >> INPUT;
  for (char c : INPUT) {
    printChar(int(c));
  }
}
void printChar(int c) {
  if (DATA < c) {
    minusData(DATA + 1);
    DATA = 255;
  }
  minusData(DATA - c);
  DATA = c;
  printData();
}
void minusData(int M) {
  while (M > 19) {
    minusData(19);
    M -= 19;
  }
  string toPrint = ".";
  while (M--) {
    toPrint += ".X";
  }
  while (toPrint.length() < W) toPrint += '.';
  puts(toPrint.c_str());
  puts("........................................");
}
void init() {
  puts("........................................");
  puts("X......................................X");
  puts("........................................");
}
void printData() {
  puts("........................................");
  puts("X......................................X");
  puts("X.......................................");
  puts("........................................");
}
