#include <bits/stdc++.h>
using namespace std;
string s;
int main() {
  int n, k1 = 0, k2 = 0, q, q1, q2;
  cin >> n >> s;
  int i;
  for (i = 0; i <= n; i++)
    for (int j = 0; j <= n; j++)
      if ((3 * i) + (2 * j) == n) k1 = i, k2 = j;
  int p = 0;
  for (int i = 0; i < k1; i++) {
    for (int j = 0; j < 3; j++) {
      cout << s[p];
      p++;
    }
    if (k2 != 0 || i != k1 - 1) cout << "-";
  }
  for (int i = 0; i < k2; i++) {
    for (int j = 0; j < 2; j++) {
      cout << s[p];
      p++;
    }
    if (i != k2 - 1) cout << "-";
  }
}

### Prompt

Create a solution in CPP for the following problem:

Phone number in Berland is a sequence of n digits. Often, to make it easier to memorize the number, it is divided into groups of two or three digits. For example, the phone number 1198733 is easier to remember as 11-987-33. Your task is to find for a given phone number any of its divisions into groups of two or three digits.

Input

The first line contains integer n (2 ≤ n ≤ 100) — amount of digits in the phone number. The second line contains n digits — the phone number to divide into groups.

Output

Output any of divisions of the given phone number into groups of two or three digits. Separate groups by single character -. If the answer is not unique, output any.

Examples

Input

6
549871


Output

54-98-71

Input

7
1198733


Output

11-987-33

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
string s;
int main() {
  int n, k1 = 0, k2 = 0, q, q1, q2;
  cin >> n >> s;
  int i;
  for (i = 0; i <= n; i++)
    for (int j = 0; j <= n; j++)
      if ((3 * i) + (2 * j) == n) k1 = i, k2 = j;
  int p = 0;
  for (int i = 0; i < k1; i++) {
    for (int j = 0; j < 3; j++) {
      cout << s[p];
      p++;
    }
    if (k2 != 0 || i != k1 - 1) cout << "-";
  }
  for (int i = 0; i < k2; i++) {
    for (int j = 0; j < 2; j++) {
      cout << s[p];
      p++;
    }
    if (i != k2 - 1) cout << "-";
  }
}

```