#include using namespace std; //高速化 struct ponjuice{ponjuice(){cin.tie(0);ios::sync_with_stdio(0);cout<= 0; i--) #define per2(i, n) for(ll i = n-1; i >= 0; i--) #define per3(i, a, b) for(ll i = b-1; i >= a; i--) #define per4(i, a, b, step) for(ll i = b-1; i >= a; i-= step) #define per(...) overload4(__VA_ARGS__, per4, per3, per2, per1)(__VA_ARGS__) //関数 #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() templateinline bool chmax(S& a, T b){return a < b && ( a = b , true);} templateinline bool chmin(S& a, T b){return a > b && ( a = b , true);} //定数 constexpr ll mod = 998244353; constexpr ll minf=-(1<<29); constexpr ll inf=(1<<29); constexpr ll MINF=-(1LL<<60); constexpr ll INF=(1LL<<60); const int dx[4] ={-1, 0, 1, 0}; const int dy[4] ={ 0, 1, 0,-1}; const int dx8[8] ={-1,-1,-1, 0, 1, 1, 1, 0}; const int dy8[8] ={-1, 0, 1, 1, 1, 0,-1,-1}; void solve(); int main() { int t = 1; // cin >> t; while(t--)solve(); } void solve(){ string s; cin >> s; int n = 1024; vector> ans(n, vector(n, 1)); rep(i,0,n) { ans[i][n-1] = 0; ans[n-1][i] = 0; } ans[0][0] = 0; ans[1][1] = 0; rep(i,0,500) { if(i) ans[i*2-1][i*2+1] = 0; rep(j,i*2+1,n-2) { ans[i*2][j] = 0; } } rep(i,0,500) { if(i) ans[i*2+2][i*2] = 0; rep(j,i*2+2,n-2) { ans[j][i*2+1] = 0; } } rep(i,0,s.size()) { if(s[i] == 'x') continue; if(i%2 == 0) { ans[i][n-2] = 0; }else { ans[n-2][i] = 0; } } cout << n << endl; for(auto a: ans) { for(auto x: a) { cout << (x?'#':'.'); } cout << endl; } }