#include <bits/stdc++.h>
using namespace std;
const double PI = 2.0 * acos(0.0);
const double eps = 1e-9;
template <class T>
T Abs(T x) {
  return x > 0 ? x : -x;
}
template <class T>
string toString(T n) {
  ostringstream ost;
  ost << n;
  ost.flush();
  return ost.str();
}
long long bit_set(long long k, int p) { return k = (k | (1 << p)); }
long long re_set(long long k, int p) { return k = (k & ~(1 << p)); }
template <class T>
inline T sqr(T n) {
  return n * n;
}
long long bigmod(long long a, long long p, long long mod) {
  long long res = 1, x = a;
  while (p) {
    if (p & 1) res = (res * x) % mod;
    x = (x * x) % mod;
    p >>= 1;
  }
  return res;
}
char str[1000000];
int main() {
  char *p;
  int cnt = 0;
  gets(str);
  p = strtok(str, "/");
  while (p != NULL) {
    ++cnt;
    printf("/%s", p);
    p = strtok(NULL, "/");
  }
  if (!cnt) printf("/");
  return 0;
}

### Prompt

Your challenge is to write a CPP solution to the following problem:

The new operating system BerOS has a nice feature. It is possible to use any number of characters '/' as a delimiter in path instead of one traditional '/'. For example, strings //usr///local//nginx/sbin// and /usr/local/nginx///sbin are equivalent. The character '/' (or some sequence of such characters) at the end of the path is required only in case of the path to the root directory, which can be represented as single character '/'.

A path called normalized if it contains the smallest possible number of characters '/'.

Your task is to transform a given path to the normalized form.

Input

The first line of the input contains only lowercase Latin letters and character '/' — the path to some directory. All paths start with at least one character '/'. The length of the given line is no more than 100 characters, it is not empty.

Output

The path in normalized form.

Examples

Input

//usr///local//nginx/sbin


Output

/usr/local/nginx/sbin

### Response

```cpp
#include <bits/stdc++.h>
using namespace std;
const double PI = 2.0 * acos(0.0);
const double eps = 1e-9;
template <class T>
T Abs(T x) {
  return x > 0 ? x : -x;
}
template <class T>
string toString(T n) {
  ostringstream ost;
  ost << n;
  ost.flush();
  return ost.str();
}
long long bit_set(long long k, int p) { return k = (k | (1 << p)); }
long long re_set(long long k, int p) { return k = (k & ~(1 << p)); }
template <class T>
inline T sqr(T n) {
  return n * n;
}
long long bigmod(long long a, long long p, long long mod) {
  long long res = 1, x = a;
  while (p) {
    if (p & 1) res = (res * x) % mod;
    x = (x * x) % mod;
    p >>= 1;
  }
  return res;
}
char str[1000000];
int main() {
  char *p;
  int cnt = 0;
  gets(str);
  p = strtok(str, "/");
  while (p != NULL) {
    ++cnt;
    printf("/%s", p);
    p = strtok(NULL, "/");
  }
  if (!cnt) printf("/");
  return 0;
}

```