#include <bits/stdc++.h>
using namespace std;
int N;
int g2, g3;
char s[110];
int main(int argc, char** argv) {
  cin >> N;
  g2 = N / 2;
  g3 = 0;
  if (N % 2 == 1) g2--, g3++;
  cin >> s;
  int cur;
  if (g2)
    cur = 2;
  else
    cur = 3;
  for (int i = 0; i < strlen(s); i++) {
    if (cur == 0) {
      cout << "-";
      if (N - i == 3 && g3)
        cur = 3;
      else
        cur = 2;
    }
    cout << s[i];
    cur--;
  }
  cout << endl;
  return 0;
}

### Prompt

Develop a solution in Cpp to the problem described below:

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;
int N;
int g2, g3;
char s[110];
int main(int argc, char** argv) {
  cin >> N;
  g2 = N / 2;
  g3 = 0;
  if (N % 2 == 1) g2--, g3++;
  cin >> s;
  int cur;
  if (g2)
    cur = 2;
  else
    cur = 3;
  for (int i = 0; i < strlen(s); i++) {
    if (cur == 0) {
      cout << "-";
      if (N - i == 3 && g3)
        cur = 3;
      else
        cur = 2;
    }
    cout << s[i];
    cur--;
  }
  cout << endl;
  return 0;
}

```