#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
long long k[3],t,n,m,maxx,x2,y2,x3,y3,aa[10000][10000],aa1[10000][10000],can=0,qw;
char a[10000][10000];
void bfs(int xx,int yy) {
if(yy==y2&&xx==x2) {
qw=1;
} else {
if(can==0) {
if(aa[xx+1][yy]==1) {
aa[xx+1][yy]=0;
bfs(xx+1,yy);
aa[xx+1][yy]=1;
}
}
if(can==0) {
if(aa[xx][yy+1]==1) {
aa[xx][yy+1]=0;
bfs(xx,yy+1);
aa[xx][yy+1]=1;
}
}
if(can==0) {
if(aa[xx-1][yy]==1) {
aa[xx-1][yy]=0;
bfs(xx-1,yy);
aa[xx-1][yy]=1;
}
}
if(can==0) {
if(aa[xx][yy-1]==1) {
aa[xx][yy-1]=0;
bfs(xx,yy-1);
aa[xx][yy=-1]=1;
}
}
}
}
void kl() {
}
int main() {
unsigned seed;
seed = time(0);
srand(seed);
cin>>n>>m;
system("cls");
while(qw!=1) {
for(int i=1; i<=n; i++) {
for(int j=1; j<=m; j++) {
int yyy=rand()%2+1;
if(yyy==1) {
aa1[i][j]=aa[i][j]=1;
} else {
aa1[i][j]=aa[i][j]=0;
}
}
}
aa1[x3][y3]=aa1[x2][y2]=1;
x3=1;
x2=n;
y3=1;
y2=m;
bfs(x3,y3);
}
int yuu=rand()%5+1;
for(int i=1; i<=n; i++) {
for(int j=1; j<=m; j++) {
if(aa1[i][j]==0) {
cout<<'#';
}
if(aa1[i][j]==1) {
cout<<'.';
}
}
cout<<endl;
}
return 0;
}