#include <bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
string toBin(long long a) {
  string res = "";
  while (a) {
    res += char((a & 1) + '0');
    a >>= 1;
  }
  reverse(res.begin(), res.end());
  return res;
}
const int mod = 1e9 + 7;
long long expo(long long base, long long pow) {
  long long ans = 1;
  while (pow != 0) {
    if (pow & 1 == 1) {
      ans = ans * base;
      ans = ans % mod;
    }
    base *= base;
    base %= mod;
    pow /= 2;
  }
  return ans;
}
long long inv(long long x) { return expo(x, mod - 2); }
bool isPal(string ss) {
  int len = ss.length();
  for (int i = 0; i < len / 2; i++) {
    int comp = len - i - 1;
    if (ss[i] != ss[comp]) return false;
  }
  return true;
}
double pi = 3.141592653589793238462643;
double error = 0.0000001;
const int M = 100001;
int main() {
  int n;
  scanf("%d", &(n));
  string str;
  cin >> str;
  if (n % 2 == 0) {
    int i = 0;
    for (i = 0; i < n; i += 2) {
      string temp = str.substr(i, 2);
      if (i != 0) temp = "-" + temp;
      cout << temp;
    }
  } else {
    int i = 0;
    cout << str.substr(0, 3);
    for (i = 3; i < n; i += 2) {
      string temp = str.substr(i, 2);
      if (i != 0) temp = "-" + temp;
      cout << temp;
    }
  }
}

### 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;
long long gcd(long long a, long long b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
string toBin(long long a) {
  string res = "";
  while (a) {
    res += char((a & 1) + '0');
    a >>= 1;
  }
  reverse(res.begin(), res.end());
  return res;
}
const int mod = 1e9 + 7;
long long expo(long long base, long long pow) {
  long long ans = 1;
  while (pow != 0) {
    if (pow & 1 == 1) {
      ans = ans * base;
      ans = ans % mod;
    }
    base *= base;
    base %= mod;
    pow /= 2;
  }
  return ans;
}
long long inv(long long x) { return expo(x, mod - 2); }
bool isPal(string ss) {
  int len = ss.length();
  for (int i = 0; i < len / 2; i++) {
    int comp = len - i - 1;
    if (ss[i] != ss[comp]) return false;
  }
  return true;
}
double pi = 3.141592653589793238462643;
double error = 0.0000001;
const int M = 100001;
int main() {
  int n;
  scanf("%d", &(n));
  string str;
  cin >> str;
  if (n % 2 == 0) {
    int i = 0;
    for (i = 0; i < n; i += 2) {
      string temp = str.substr(i, 2);
      if (i != 0) temp = "-" + temp;
      cout << temp;
    }
  } else {
    int i = 0;
    cout << str.substr(0, 3);
    for (i = 3; i < n; i += 2) {
      string temp = str.substr(i, 2);
      if (i != 0) temp = "-" + temp;
      cout << temp;
    }
  }
}

```