#include <bits/stdc++.h>
using namespace std;
const int N=1e5+10;
typedef pair<int,int> PII;
char s[N];
int mp[N]; //映射左括号对应右括号的位置
void fun(char s[])
{
stack<int> stk;
memset(mp,0,sizeof mp);
int len=strlen(s);
for(int i=0;i<len;i++)
{
if(s[i]=='(')
{
stk.push(i+1);
}
else
{
mp[stk.top()]=i+1;
stk.pop();
}
}
for(int i=0;i<len;i++)
{
if(s[i]=='('&&mp[i+1]!=0) //不知道为啥题目中说了是合法串还要判不合法的情况
printf("%d %d\n",i+1,mp[i+1]);
}
}
int main()
{
while(scanf("%s",&s)!=EOF)
{
fun(s);
}
return 0;
}