#include <bits/stdc++.h>
#define ll long long
#define ii inline
#define ull unsigned long long
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)
using namespace std;
const int N=1e3+10;
const int mod=100003;
const int inf=-1e9;
ll n,m;
char mymap[N][N];
ll ans;
void ee() {
for(int i=1;i<=n;i++) {
for(int j=1;j<=6;j++) cout<<mymap[i][j];
cout<<endl;
}
}
int main() {
IOS;
cin>>n>>m;
for(int i=1;i<=n;i++) {
for(int j=1;j<=6;j++) {
cin>>mymap[i][j];
}
}
if(!m) {
ee();
return 0;
}
for(int i=1;i<=n;i++) {
for(int j=1;j<=6;j++) {
if(mymap[i][j]=='.') {
ans++;
}
}
}
if(ans<m) {
cout<<"Impossible";
return 0;
}
for(int i=1;i<=n;i++) {
for(int j=1;j<=6;j++) {
if(mymap[i][j]=='X'&&mymap[i][6-j+1]=='.') {
mymap[i][6-j+1]='X';
m--;
}
}
}
if(m<0||m%2==1) {
cout<<"Impossible";
return 0;
}
bool b=0;
for(int i=1;i<=n;i++) {
if(b==1) break;
for(int j=1;j<=6;j++) {
if(!m) {
b=1;
break;
}
if(mymap[i][j]=='.'&&mymap[i][6-j+1]=='.') {
mymap[i][6-j+1]='X';
mymap[i][j]='X';
m-=2;
}
}
}
if(m) cout<<"Impossible";
else ee();
return 0;
}