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

#########
........#
#########
#........
#########
........#
#########
#........
#########
#include <bits/stdc++.h>
using namespace std;
void situation1(int Length);
void situation2(int Length);
void situation3(int Length);
int main(void) {
  int Lines = 0;
  int Length = 0;
  int x = 0;
  cin >> Lines >> Length;
  for (int I = 0; I < Lines; I++) {
    if (I % 2 == 0) {
      situation1(Length);
      cout << "\n";
    } else if (I % 2 == 1) {
      if (x % 2 == 0) {
        situation3(Length);
        cout << "\n";
        x = x + 1;
      } else if (x % 2 == 1) {
        situation2(Length);
        cout << "\n";
        x = x + 1;
      }
    }
  }
}
void situation1(int Length) {
  for (int I = 0; I < Length; I++) {
    cout << "#";
  }
}
void situation2(int Length) {
  cout << "#";
  for (int I = 0; I < Length - 1; I++) {
    cout << ".";
  }
}
void situation3(int Length) {
  for (int I = 0; I < Length - 1; I++) {
    cout << ".";
  }
  cout << "#";
}
