#include <bits/stdc++.h>
const int M = 6e5 + 10;
const int mod = 1e9 + 7;
using namespace std;
inline long long read() {
  long long e = 1, sum = 0;
  char c = getchar();
  while (!isdigit(c)) {
    if (c == '-') e = -1;
    c = getchar();
  }
  while (isdigit(c)) {
    sum = sum * 10 + c - 48;
    c = getchar();
  }
  return e * sum;
}
char c[M];
long long n, a[M];
long long l = 1, r = 1;
long long ans, flag;
long long x[M], y[M], z[M];
long long hx, hy, hz, Min = mod;
int main() {
  long long i, j;
  n = read();
  scanf("%s", c + 1);
  for (i = 1; i <= n; i++) {
    a[i] = a[i - 1] + (c[i] == '(' ? 1 : -1);
    if (a[i] < Min) {
      Min = a[i];
    }
  }
  if (a[n] != 0) {
    printf("0\n1 1");
    return 0;
  }
  for (i = 1; i <= n; i++) {
    a[i + n] = a[i];
  }
  x[0] = y[0] = z[0] = 0;
  for (i = 1; i <= n; i++) {
    if (a[i] == Min) {
      x[++hx] = i;
    } else if (a[i] == Min + 1) {
      y[++hy] = i;
    } else if (a[i] == Min + 2) {
      z[++hz] = i;
    }
  }
  x[++hx] = n + x[1];
  y[++hy] = n + y[1];
  z[++hz] = n + z[1];
  long long ans, res;
  ans = res = hx - 1;
  long long Max = 0;
  for (i = 1; i <= hy; i++) {
    long long sum = 0;
    for (j = y[i - 1] + 1; j < y[i]; j++) {
      if (a[j] < Min + 1) break;
      if (a[j] == Min + 2) {
        sum++;
      }
    }
    if (sum > Max) {
      l = (y[i - 1] + 1) % n;
      r = y[i] % n;
      if (l == 0) l = n;
      if (r == 0) r = n;
      Max = sum;
    }
  }
  ans = max(ans, Max + res);
  Max = 0;
  for (i = 1; i <= hx; i++) {
    long long sum = 0;
    for (j = x[i - 1] + 1; j < x[i]; j++) {
      if (a[j] == Min + 1) {
        sum++;
      }
    }
    if (sum > ans) {
      l = (x[i - 1] + 1) % n;
      r = x[i] % n;
      if (l == 0) l = n;
      if (r == 0) r = n;
      ans = sum;
    }
  }
  if (hx - 1 == 1) {
    if (hy - 1 > ans) {
      for (i = 1; i <= n; i++) {
        if (a[i] == Min) {
          l = i % n;
          r = (i + 1) % n;
          if (l == 0) l = n;
          if (r == 0) r = n;
          ans = hy - 1;
        }
      }
    }
  }
  printf("%lld\n", ans);
  printf("%lld %lld", l, r);
  return 0;
}
