#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <cmath>
#include <iomanip>
#include <numeric>
using namespace std;
void solve()
{
string s;
cin >> s;
stack<int> stk;
stk.push(-1);
int longest = 0, sublong = 0, subs = 0, ln = s.size();
bool sub1 = 1;
for (int i = 0; i < ln; i++)
{
if (s[i] == '(')
{
stk.push(i);
}
else if (!stk.empty() && ((s[i] == ')' && s[stk.top()] == '(')))
{
stk.pop();
if (!sub1 && (i - stk.top()) == longest)
++subs;
if ((i - stk.top()) > longest)
subs = 1;
longest = max(longest, i - stk.top());
}
else
{
sub1 = 0;
while (!stk.empty())
{
stk.pop();
}
stk.push(i);
}
}
if (subs > 0)
cout << longest << " " << subs;
else
cout << "0 1";
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
// freopen("in.txt", "rt", stdin);
// freopen("out.txt", "wt", stdout);
int t = 1;
// cin >> t;
while (t--)
{
solve();
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8cXVldWU+CiNpbmNsdWRlIDxzdGFjaz4KI2luY2x1ZGUgPGNtYXRoPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPG51bWVyaWM+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHNvbHZlKCkKewogICAgc3RyaW5nIHM7CiAgICBjaW4gPj4gczsKCiAgICBzdGFjazxpbnQ+IHN0azsKICAgIHN0ay5wdXNoKC0xKTsKCiAgICBpbnQgbG9uZ2VzdCA9IDAsIHN1YmxvbmcgPSAwLCBzdWJzID0gMCwgbG4gPSBzLnNpemUoKTsKCiAgICBib29sIHN1YjEgPSAxOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBsbjsgaSsrKQogICAgewogICAgICAgIGlmIChzW2ldID09ICcoJykKICAgICAgICB7CiAgICAgICAgICAgIHN0ay5wdXNoKGkpOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmICghc3RrLmVtcHR5KCkgJiYgKChzW2ldID09ICcpJyAmJiBzW3N0ay50b3AoKV0gPT0gJygnKSkpCiAgICAgICAgewogICAgICAgICAgICBzdGsucG9wKCk7CgogICAgICAgICAgICBpZiAoIXN1YjEgJiYgKGkgLSBzdGsudG9wKCkpID09IGxvbmdlc3QpCiAgICAgICAgICAgICAgICArK3N1YnM7CgogICAgICAgICAgICBpZiAoKGkgLSBzdGsudG9wKCkpID4gbG9uZ2VzdCkKICAgICAgICAgICAgICAgIHN1YnMgPSAxOwogICAgICAgICAgICBsb25nZXN0ID0gbWF4KGxvbmdlc3QsIGkgLSBzdGsudG9wKCkpOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBzdWIxID0gMDsKICAgICAgICAgICAgd2hpbGUgKCFzdGsuZW1wdHkoKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc3RrLnBvcCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHN0ay5wdXNoKGkpOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoc3VicyA+IDApCiAgICAgICAgY291dCA8PCBsb25nZXN0IDw8ICIgIiA8PCBzdWJzOwogICAgZWxzZQogICAgICAgIGNvdXQgPDwgIjAgMSI7Cn0KCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwogICAgY291dC50aWUobnVsbHB0cik7CgogICAgLy8gZnJlb3BlbigiaW4udHh0IiwgInJ0Iiwgc3RkaW4pOwogICAgLy8gZnJlb3Blbigib3V0LnR4dCIsICJ3dCIsIHN0ZG91dCk7CgogICAgaW50IHQgPSAxOwogICAgLy8gY2luID4+IHQ7CgogICAgd2hpbGUgKHQtLSkKICAgIHsKICAgICAgICBzb2x2ZSgpOwogICAgfQoKICAgIHJldHVybiAwOwp9