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.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;

public class Arena {

    public static void main(String[] args) {
        MyScanner input = new MyScanner();
        PrintWriter output = new PrintWriter(new BufferedOutputStream(System.out));

        int row = input.nextInt();
        int column = input.nextInt();

        boolean isFull = true;
        boolean isRight = true;

        for (int i = 0; i < row; i++) {
            if (isFull) {
                printRow(output, column, RowType.FULL);
                isFull = false;
            } else {
                if (isRight) {
                    printRow(output, column, RowType.RIGHT);
                } else {
                    printRow(output, column, RowType.LEFT);
                }
                isFull = true;
                isRight = !isRight;
            }
        }
        output.close();
    }

    private static void printRow(PrintWriter output, int column, RowType rowType) {
        switch (rowType) {
            case FULL:
                for (int i = 0; i < column; i++) {
                    output.print("#");
                }
                break;
            case LEFT:
                output.print("#");
                for (int i = 1; i < column; i++) {
                    output.print(".");
                }
                break;
            case RIGHT:
                for (int i = 1; i < column; i++) {
                    output.print(".");
                }
                output.print("#");
                break;
        }
        output.println();
    }

    private enum RowType {
        FULL, LEFT, RIGHT;
    }

    private static class MyScanner {
        BufferedReader br;
        StringTokenizer st;

        public MyScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        public String next() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        public int nextInt() {
            return Integer.parseInt(next());
        }

        public long nextLong() {
            return Long.parseLong(next());
        }

        public double nextDouble() {
            return Double.parseDouble(next());
        }

        public String nextLine() {
            String str = "";
            try {
                str = br.readLine();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return str;
        }
    }
}
