#include <bits/stdc++.h>
int main() {
  int M;
  scanf("%d", &M);
  int N = M;
  char** m = NULL;
  m = (char**)malloc(sizeof(char*) * M);
  int j = 0;
  for (;;) {
    if (j >= M) {
      break;
    }
    m[j] = (char*)malloc(sizeof(char) * N);
    ++j;
  }
  int i;
  j = 0;
  for (;;) {
    if (j >= M) {
      break;
    }
    i = 0;
    for (;;) {
      if (i >= N) {
        break;
      }
      m[j][i] = '*';
      ++i;
    }
    ++j;
  }
  int i2 = N / 2;
  int i3 = N / 2;
  j = 0;
  for (;;) {
    if (j >= M / 2) {
      break;
    }
    i = i2;
    for (;;) {
      if (i > i3) {
        break;
      }
      m[j][i] = 'D';
      ++i;
    }
    --i2;
    ++i3;
    ++j;
  }
  j = M / 2;
  for (;;) {
    if (j >= M) {
      break;
    }
    i = i2;
    for (;;) {
      if (i > i3) {
        break;
      }
      m[j][i] = 'D';
      ++i;
    }
    ++i2;
    --i3;
    ++j;
  }
  j = 0;
  for (;;) {
    if (j >= M) {
      break;
    }
    i = 0;
    for (;;) {
      if (i >= N) {
        break;
      }
      printf("%c", m[j][i]);
      ++i;
    }
    if (j != M - 1) {
      printf("\n");
    }
    ++j;
  }
  j = 0;
  for (;;) {
    if (j >= M) {
      break;
    }
    free(m[j]);
    ++j;
  }
  free(m);
}

### Prompt

Please provide a Cpp coded solution to the problem described below:

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>
int main() {
  int M;
  scanf("%d", &M);
  int N = M;
  char** m = NULL;
  m = (char**)malloc(sizeof(char*) * M);
  int j = 0;
  for (;;) {
    if (j >= M) {
      break;
    }
    m[j] = (char*)malloc(sizeof(char) * N);
    ++j;
  }
  int i;
  j = 0;
  for (;;) {
    if (j >= M) {
      break;
    }
    i = 0;
    for (;;) {
      if (i >= N) {
        break;
      }
      m[j][i] = '*';
      ++i;
    }
    ++j;
  }
  int i2 = N / 2;
  int i3 = N / 2;
  j = 0;
  for (;;) {
    if (j >= M / 2) {
      break;
    }
    i = i2;
    for (;;) {
      if (i > i3) {
        break;
      }
      m[j][i] = 'D';
      ++i;
    }
    --i2;
    ++i3;
    ++j;
  }
  j = M / 2;
  for (;;) {
    if (j >= M) {
      break;
    }
    i = i2;
    for (;;) {
      if (i > i3) {
        break;
      }
      m[j][i] = 'D';
      ++i;
    }
    ++i2;
    --i3;
    ++j;
  }
  j = 0;
  for (;;) {
    if (j >= M) {
      break;
    }
    i = 0;
    for (;;) {
      if (i >= N) {
        break;
      }
      printf("%c", m[j][i]);
      ++i;
    }
    if (j != M - 1) {
      printf("\n");
    }
    ++j;
  }
  j = 0;
  for (;;) {
    if (j >= M) {
      break;
    }
    free(m[j]);
    ++j;
  }
  free(m);
}

```