#include <bits/stdc++.h>
using namespace std;
long long gcd(long long n, long long m) {
  long long x, y;
  if (n > m) {
    y = n;
    x = m;
  } else {
    y = m;
    x = n;
  }
  if (y % x == 0)
    return x;
  else {
    return gcd(x, y % x);
  }
}
int main() {
  long long n;
  cin >> n;
  string str;
  cin >> str;
  long long m = n;
  for (long long i = 0; i < n; i += 2) {
    if (m - 2 == 1) {
      cout << str[i] << str[i + 1] << str[i + 2];
      break;
    } else {
      cout << str[i] << str[i + 1];
      if (m - 2 != 0) cout << "-";
    }
    m -= 2;
  }
}

### Prompt

Construct a cpp code solution to the problem outlined:

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;
long long gcd(long long n, long long m) {
  long long x, y;
  if (n > m) {
    y = n;
    x = m;
  } else {
    y = m;
    x = n;
  }
  if (y % x == 0)
    return x;
  else {
    return gcd(x, y % x);
  }
}
int main() {
  long long n;
  cin >> n;
  string str;
  cin >> str;
  long long m = n;
  for (long long i = 0; i < n; i += 2) {
    if (m - 2 == 1) {
      cout << str[i] << str[i + 1] << str[i + 2];
      break;
    } else {
      cout << str[i] << str[i + 1];
      if (m - 2 != 0) cout << "-";
    }
    m -= 2;
  }
}

```