#include <bits/stdc++.h>
using namespace std;
vector<string> vec;
int main() {
  int n, num, odd(1), counter(0);
  string str;
  cin >> n;
  num = (n - 1) / 2;
  counter = (n + 1) / 2;
  for (int i = 1; i <= counter; i++) {
    for (int x = 0; x < num; x++) {
      cout << '*';
      str += '*';
    }
    for (int y = 0; y < odd; y++) {
      cout << 'D';
      if (i != counter) str += 'D';
    }
    for (int z = 0; z < num; z++) {
      cout << '*';
      str += '*';
    }
    cout << endl;
    if (i != counter) vec.push_back(str);
    str = "";
    num--;
    odd += 2;
  }
  reverse(vec.begin(), vec.end());
  for (int i = 0; i < vec.size(); i++) {
    cout << vec[i] << endl;
  }
}

### Prompt

Generate a Cpp solution to the following problem:

Twilight Sparkle once got a crystal from the Crystal Mine. A crystal of size n (n is odd; n > 1) is an n × n matrix with a diamond inscribed into it.

You are given an odd integer n. You need to draw a crystal of size n. The diamond cells of the matrix should be represented by character "D". All other cells of the matrix should be represented by character "*". Look at the examples to understand what you need to draw.

Input

The only line contains an integer n (3 ≤ n ≤ 101; n is odd). 

Output

Output a crystal of size n.

Examples

Input

3


Output

*D*
DDD
*D*


Input

5


Output

**D**
*DDD*
DDDDD
*DDD*
**D**


Input

7


Output

***D***
**DDD**
*DDDDD*
DDDDDDD
*DDDDD*
**DDD**
***D***

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
vector<string> vec;
int main() {
  int n, num, odd(1), counter(0);
  string str;
  cin >> n;
  num = (n - 1) / 2;
  counter = (n + 1) / 2;
  for (int i = 1; i <= counter; i++) {
    for (int x = 0; x < num; x++) {
      cout << '*';
      str += '*';
    }
    for (int y = 0; y < odd; y++) {
      cout << 'D';
      if (i != counter) str += 'D';
    }
    for (int z = 0; z < num; z++) {
      cout << '*';
      str += '*';
    }
    cout << endl;
    if (i != counter) vec.push_back(str);
    str = "";
    num--;
    odd += 2;
  }
  reverse(vec.begin(), vec.end());
  for (int i = 0; i < vec.size(); i++) {
    cout << vec[i] << endl;
  }
}

```