Fox Ciel starts to learn programming. The first task is drawing a fox! However, that turns out to be too hard for a beginner, so she decides to draw a snake instead.

A snake is a pattern on a n by m table. Denote c-th cell of r-th row as (r, c). The tail of the snake is located at (1, 1), then it's body extends to (1, m), then goes down 2 rows to (3, m), then goes left to (3, 1) and so on.

Your task is to draw this snake for Fox Ciel: the empty cells should be represented as dot characters ('.') and the snake cells should be filled with number signs ('#').

Consider sample tests in order to understand the snake pattern.

Input

The only line contains two integers: n and m (3 ≤ n, m ≤ 50). 

n is an odd number.

Output

Output n lines. Each line should contain a string consisting of m characters. Do not output spaces.

Examples

Input

3 3


Output

###
..#
###


Input

3 4


Output

####
...#
####


Input

5 3


Output

###
..#
###
#..
###


Input

9 9


Output

#########
........#
#########
#........
#########
........#
#########
#........
#########
import java.lang.reflect.Array;
import java.util.*;
import java.lang.*;

import java.util.regex.Pattern;

public class Example {
    public static int Max(int[] p)
    {
        int Max=0;
        int j=0;
        for(int i=0;i<p.length;i++)
        {
            if(p[i]>Max)
            {
                Max = p[i];
                j=i;
            }
        }
        return j;
    }
    public static int Max(int[] a, int l)
    {
        int max=0;
        for(int i=0;i<a.length-1;i++)
        {
            if(a[i+1]-a[i]>max)max=a[i+1]-a[i];
        }
        if(a[0]*2>max) max=a[0]*2;
        if((l-a[a.length-1])*2>max)max=(l-a[a.length-1])*2;
        return max;
    }
   public static int[] Sort(int[] a)
   {
       for(int i=0;i<a.length-1;i++)
       {
           for(int j=i+1;j<a.length;j++)
           {
               if(a[i]>a[j])
               {
                   int temp=a[i];
                   a[i]=a[j];
                   a[j]=temp;
               }
           }
       }
       return a;
   }
   public static boolean Permutation(int[] p)
   {
       boolean[] temp= new boolean[p.length];
       Arrays.fill(temp, false);
       for(int i=0;i<p.length;i++)
       {
           for(int j=0;j<p.length;j++)
           {
               if(p[i]==j)
               {
                   temp[j]=true;
                   break;
               }
           }
       }
       for(int j=0;j<p.length;j++)
       {
           if(!temp[j]) return false;
       }
       return true;
   }
   public static long Count(long n)
   {
       long count=0;
       if (n>=100)
       {
           count=count+n/100;
           n=n -(n/100)*100;
       }
       if(n>=20)
       {
           count=count+n/20;
           n=n-(n/20)*20;
       }
       if(n>=10)
       {
           count=count+n/10;
           n=n-(n/10)*10;
       }
       if(n>=5)
       {
           count=count+n/5;
           n=n-(n/5)*5;
       }
       count=count+n;
       return count;

   }
    public static void main(String[] args) {
        int m,n;
        Scanner sc= new Scanner(System.in);
        n=sc.nextInt();
        m=sc.nextInt();
        for(int i=0;i<n;i++)
        {
            for(int j=0;j<m;j++)
            {
                if((i+1)%2==0) {
                    if ((((i + 1) / 2) % 2) != 0) {
                        if (j == m - 1) System.out.print("#");
                        else System.out.print(".");
                    } else if ((((i + 1) / 2) % 2) == 0) {
                        if (j == 0) System.out.print("#");
                        else System.out.print(".");
                    }
                }
                else System.out.print("#");
            }
            System.out.println("");
        }
    }

}
