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.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;

public class SolutionB {
    final static long MI = 1000000007;

    public static void main(String[] args) {
	InputStream inputStream = System.in;
	OutputStream outputStream = System.out;
	InputReader in = new InputReader(inputStream);
	PrintWriter out = new PrintWriter(outputStream);
	Task solver = new Task();
	solver.solve(in, out);
	out.close();
    }

    public static class Task {
	public void solve(InputReader in, PrintWriter out) {
	    int n = in.nextInt();
	    int m = in.nextInt();
	    for (int i = 0; i < n; i++) {
		if (i % 2 == 0) {
		    for (int j = 0; j < m; j++) {
			out.print("#");
		    }
		    out.println();
		} else if ((i - 1) % 4 == 0) {
		    for (int j = 0; j < m - 1; j++) {
			out.print(".");
		    }
		    out.println("#");
		} else {
		    out.print("#");
		    for (int j = 0; j < m - 1; j++) {
			out.print(".");
		    }
		    out.println();
		}
	    }
	}
    }

    public static class InputReader {
	public BufferedReader reader;
	public StringTokenizer tokenizer;

	public InputReader(InputStream stream) {
	    reader = new BufferedReader(new InputStreamReader(stream), 32768);
	    tokenizer = null;
	}

	public String next() {
	    while (tokenizer == null || !tokenizer.hasMoreTokens()) {
		try {
		    tokenizer = new StringTokenizer(reader.readLine());
		} catch (IOException e) {
		    throw new RuntimeException(e);
		}
	    }
	    return tokenizer.nextToken();
	}

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

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

	public int[] nextIntArray(int s) {
	    int[] in = new int[s];
	    for (int i = 0; i < s; i++) {
		in[i] = nextInt();
	    }
	    return in;
	}

	public String nextLine() {
	    try {
		return reader.readLine();
	    } catch (IOException e) {
		throw new RuntimeException(e);
	    }
	}

    }
}