#include <bits/stdc++.h>
using namespace std;
const int maxn = 103;
int n, i = 0;
char s[maxn];
string substr(int i, int len) { return string(s + i).substr(0, len); }
int main() {
  scanf("%d%s", &n, s);
  while (n >= 5) {
    printf("%s-", substr(i, 3).c_str());
    n -= 3, i += 3;
  }
  if (n == 4)
    printf("%s-%s\n", substr(i, 2).c_str(), substr(i + 2, 2).c_str());
  else
    printf("%s\n", s + i);
  return 0;
}

### Prompt

Your task is to create a Cpp solution to 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;
const int maxn = 103;
int n, i = 0;
char s[maxn];
string substr(int i, int len) { return string(s + i).substr(0, len); }
int main() {
  scanf("%d%s", &n, s);
  while (n >= 5) {
    printf("%s-", substr(i, 3).c_str());
    n -= 3, i += 3;
  }
  if (n == 4)
    printf("%s-%s\n", substr(i, 2).c_str(), substr(i + 2, 2).c_str());
  else
    printf("%s\n", s + i);
  return 0;
}

```