#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:100000000")
using namespace std;
int d[1 << 22], e[1 << 22];
char s[2000100];
int h, m[2000100], p[2000100], a[2000100], b[2 * 2000100];
void sfa() {
  int i, j, n;
  for (n = 0; s[n]; m[n] = n, a[n] = s[n], n++)
    ;
  for (h = 0, j = 0; j < n; h = h * 2 + !h) {
    for (i = 0; i < n + 256; b[i] = 0, i++)
      ;
    for (i = 0; i < n; ++b[a[i]], i++)
      ;
    for (i = 0; i < n + 256; b[i + 1] += b[i], i++)
      ;
    for (i = n; i--;)
      if (m[i] >= h) p[--b[a[m[i] - h]]] = m[i] - h;
    for (i = n - h; i < n; p[--b[a[i]]] = i, i++)
      ;
    for (i = 0; i < n; m[i] = p[i], b[i] = a[i], b[n + i] = 0, i++)
      ;
    for (j = 1, i = 0; i < n; a[m[i]] = j,
        j += b[m[i]] < b[m[i + 1]] || b[m[i] + h] < b[m[i + 1] + h], i++)
      ;
  }
}
int getm(int i, int j) {
  int k = 0, l = 0;
  for (i += h, j += h; i <= j; i = (i + 1) / 2, j = (j - 1) / 2) {
    if (i & 1) a[k++] = i;
    if (~j & 1) b[l++] = j;
  }
  for (; l > 0; l--, a[k++] = b[l])
    ;
  for (l = 2 * 2000100, j = 0, i = 0; i < k; i++) {
    l = min(l, j + d[a[i]]);
    j += e[a[i]];
  }
  return l;
}
int main() {
  int n, i, j, k, b;
  scanf("%s", s);
  n = strlen(s);
  for (i = 0; i < n; s[i + n] = s[i], i++)
    ;
  sfa();
  b = 0;
  for (i = 0; i < n; i++)
    if (s[i] == '(')
      b++;
    else
      b--;
  for (h = 1; h < 2 * n; h *= 2)
    ;
  for (i = 0; i < 2 * h; d[i] = 2 * 2000100, i++)
    ;
  for (i = 0; i < 2 * n; i++)
    if (s[i] == '(') {
      d[h + i] = 1;
      e[h + i] = 1;
    } else {
      d[h + i] = -1;
      e[h + i] = -1;
    }
  for (i = h - 1; i > 0; i--) {
    d[i] = min(d[2 * i], e[2 * i] + d[2 * i + 1]);
    e[i] = e[2 * i] + e[2 * i + 1];
  }
  for (i = 0; i < 2 * n; i++) {
    j = m[i];
    if (j < n) {
      k = getm(j, j + n - 1);
      if (b < 0) k -= b;
      if (k >= 0) break;
    }
  }
  if (b < 0)
    for (i = 0; i < -b; printf("("), i++)
      ;
  for (i = 0; i < n; printf("%c", s[i + j]), i++)
    ;
  if (b > 0)
    for (i = 0; i < b; printf(")"), i++)
      ;
  printf("\n");
  return 0;
}
