#include <bits/stdc++.h>
using namespace std;
int n;
string s;
int main() {
  cin >> n;
  int i = 1, j;
  for (j = 0; j < n; j++) i *= 10;
  cin >> s;
  bool flag = 0;
  if (n % 2 == 1) {
    flag = 1;
    n -= 3;
  } else
    n -= 2;
  for (j = 0; j < n; j += 2) {
    for (int jj = j; jj < j + 2; jj++) cout << s[jj];
    cout << '-';
  }
  n = s.size();
  if (flag)
    cout << s[n - 3] << s[n - 2] << s[n - 1];
  else
    cout << s[n - 2] << s[n - 1];
  return 0;
}

### Prompt

In cpp, your task is to solve 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;
int n;
string s;
int main() {
  cin >> n;
  int i = 1, j;
  for (j = 0; j < n; j++) i *= 10;
  cin >> s;
  bool flag = 0;
  if (n % 2 == 1) {
    flag = 1;
    n -= 3;
  } else
    n -= 2;
  for (j = 0; j < n; j += 2) {
    for (int jj = j; jj < j + 2; jj++) cout << s[jj];
    cout << '-';
  }
  n = s.size();
  if (flag)
    cout << s[n - 3] << s[n - 2] << s[n - 1];
  else
    cout << s[n - 2] << s[n - 1];
  return 0;
}

```