#include <bits/stdc++.h>
using namespace std;
const int N = 2e3+5;
long long n,m;
char a[N][N];
const int mod = 1e9+696969;
const int hash1 = 256;
const int hash2 = 311;
bool check[2*N][2*N];
long long pre[2*N][2*N];
long long power1[N],power2[N],inv1[N],inv2[N];
long long mu(long long x,long long y) {
long long ans =1;
while(y > 0) {
if (y % 2 == 1) {
ans *= x;
ans %= mod;
}
x *= x;
x %= mod;
y /= 2;
}
return ans;
}
void build() {
power1[0] = power2[0]=inv1[0] = inv2[0] = 1;
for (int i= 1; i <= 2e3; i++) {
power1[i] = (power1[i-1]*hash1)%mod;
power2[i] = (power2[i-1]*hash2)%mod;
inv1[i] = mu(power1[i],mod-2);
inv2[i] = mu(power2[i],mod-2);
}
}
long long calHash(long long x,long long y,long long x2,long long y2) {
x--;
y--;
long long tmp = (pre[x2][y2]-(pre[x][y2]+pre[x2][y])%mod)%mod;
tmp = (tmp+mod)%mod;
tmp = (tmp+pre[x][y])%mod;
tmp = (tmp*inv1[x])%mod;
tmp = (tmp*inv2[y])%mod;
return tmp;
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> n >> m;
for (int i= 1; i <= n; i++) {
for(int j = 1;j <= m; j++) {
cin >> a[i][j];
}
for(int j = 1; j <= m; j++) {
check[i][j] = check[i+n][j] = check[i][j+m] = check[i+n][j+m] = (a[i][j] == '.');
}
}
build();
for (int i= 1; i <= 2*n; i++) {
for (int j = 1; j <= 2*m; j++) {
pre[i][j] = check[i][j]*((power1[i]*power2[j])%mod);
pre[i][j] += ((((pre[i-1][j]+pre[i][j-1])%mod)-pre[i-1][j-1])%mod + mod)%mod;
pre[i][j] %= mod;
}
}
long long x = 1,y = 1;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
if (calHash(x,y,x+n-1,y+m-1) == calHash(i,j,i+n-1,j+m-1)) continue;
long long l = -1,r = n-1;
while(r-l > 1) {
long long mid = (l+r)/2;
if (calHash(x,y,x+mid,y+m-1) == calHash(i,j,i+mid,j+m-1)) {
l = mid;
} else {
r = mid;
}
}
long long R = r;
l = -1,r = m-1;
while(r-l > 1) {
long long mid = (l+r)/2;
if (calHash(x,y,x+R,y+mid) ==calHash(i,j,i+R,j+mid)) {
l = mid;
} else {
r = mid;
}
}
long long C = r;
if (check[i+R][j+C] < check[x+R][y+C]) {
x= i,y = j;
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (check[i+x][j+y]) {
cout << ".";
} else cout << "*";
}
cout << "\n";
}
// hahah
}