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.*;
import java.util.*;
//https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem&problem=1428
public class Main {
	public static final long MOD = 1000000007;
	static int n;
	static int[][] arr = new int[3][1000001];
	static int[] sum;

	public static void main(String[] args) throws Exception
	{
		MyScanner input = new MyScanner();
		BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));
		n = input.nextInt();
		int m = input.nextInt();
		int[][] arr = new int[n][m];
		
		for(int i = 0; i < n; i++)
		{
			for(int j = 0; j < m; j++)
			{
				if(i% 2== 0)
				{
					arr[i][j] = 1;
				}
				else if( i-1 >= 0 && (i-1) %4 == 0 && j == m-1)
				{
					arr[i][j] = 1;
				}
				else if( i-3 >=0 && (i-3) % 4 == 0 && j == 0)
				{
					arr[i][j] = 1;
				}
			}
		}
		
		
		for(int i = 0; i < n; i++)
		{
			for(int j = 0; j < m; j++)
			{
				if(arr[i][j] == 1)
					System.out.print('#');
				else
					System.out.print('.');
			}
			System.out.println();
		}
	}
	public static void print(int[] inf)
	{
		for(int i: inf)
			System.out.print(i+" ");
		System.out.println();
	}



	private static class MyScanner 
	{
		BufferedReader br;
		StringTokenizer st;

		public MyScanner(String s) 
		{

			try
			{
				br = new BufferedReader(new FileReader(s));
			} catch (IOException e)
			{
				e.printStackTrace();
			}

		}

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

		public String next() 
		{
			if (st == null || !st.hasMoreElements()) 
			{
				try 
				{
					String line = br.readLine();
					if (line == null) {
						throw new UnknownError();
					}
					while (line.trim().equals("")) {
						line = br.readLine();
						if (line == null) {
							throw new UnknownError();
						}
					}
					st = new StringTokenizer(line);
				} 
				catch (IOException e) 
				{
					throw new UnknownError();
				}
			}
			return st.nextToken();
		}

		public String nextLine() {
			try {
				String line = br.readLine();
				if (line == null) {
					throw new UnknownError();
				}
				return line;
			}
			catch (IOException e) {
				throw new UnknownError();
			}
		}

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

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

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

	}
}