// Problem :
#pragma GCC optimize("Ofast,unroll-loops,inline,fast-math")
#pragma GCC target("avx2,sse4.2,bmi,bmi2,lzcnt,popcnt,fma")
#include <bits/stdc++.h>
#if LOCAL
#include "algo/debug.h"
#endif
#define task "sol"
using namespace std;
using ll = long long;
constexpr int MOD = 1e9 + 7;
constexpr int LIMIT = 1e6 + 7;
constexpr ll INF = LLONG_MAX;
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr); cout.tie(nullptr);
if (fopen(task".inp", "r")) {
freopen(task".inp", "r", stdin), freopen(task".out", "w", stdout);
}
string s;
cin >> s;
int n = s.size();
vector<int> suff(n + 1, 0);
for (int i = n - 1; i >= 0; --i) {
suff[i] = suff[i + 1] + (s[i] == 'L');
}
int cnt = 0, shakes = 0, rounds = 0;
for (char c : s) {
if (c == 'R') {
++cnt;
} else {
shakes += cnt;
}
}
for (int i = 0; i < n; ++i) {
if (s[i] == 'R') {
rounds = max(rounds, suff[i]);
}
}
cout << rounds << ' ' << shakes << '\n';
return 0;
}
Ly8gUHJvYmxlbSA6CgojcHJhZ21hIEdDQyBvcHRpbWl6ZSgiT2Zhc3QsdW5yb2xsLWxvb3BzLGlubGluZSxmYXN0LW1hdGgiKQojcHJhZ21hIEdDQyB0YXJnZXQoImF2eDIsc3NlNC4yLGJtaSxibWkyLGx6Y250LHBvcGNudCxmbWEiKQoKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojaWYgTE9DQUwKI2luY2x1ZGUgImFsZ28vZGVidWcuaCIKI2VuZGlmCgojZGVmaW5lIHRhc2sgInNvbCIKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnVzaW5nIGxsID0gbG9uZyBsb25nOwoKY29uc3RleHByIGludCBNT0QgPSAxZTkgKyA3Owpjb25zdGV4cHIgaW50IExJTUlUID0gMWU2ICsgNzsKY29uc3RleHByIGxsIElORiA9IExMT05HX01BWDsKCnNpZ25lZCBtYWluKCkgewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOyBjb3V0LnRpZShudWxscHRyKTsKCiAgICBpZiAoZm9wZW4odGFzayIuaW5wIiwgInIiKSkgewogICAgICAgIGZyZW9wZW4odGFzayIuaW5wIiwgInIiLCBzdGRpbiksIGZyZW9wZW4odGFzayIub3V0IiwgInciLCBzdGRvdXQpOwogICAgfQoKICAgIHN0cmluZyBzOwogICAgY2luID4+IHM7CgogICAgaW50IG4gPSBzLnNpemUoKTsKCiAgICB2ZWN0b3I8aW50PiBzdWZmKG4gKyAxLCAwKTsKCiAgICBmb3IgKGludCBpID0gbiAtIDE7IGkgPj0gMDsgLS1pKSB7CiAgICAgICAgc3VmZltpXSA9IHN1ZmZbaSArIDFdICsgKHNbaV0gPT0gJ0wnKTsKICAgIH0KCiAgICBpbnQgY250ID0gMCwgc2hha2VzID0gMCwgcm91bmRzID0gMDsKCiAgICBmb3IgKGNoYXIgYyA6IHMpIHsKICAgICAgICBpZiAoYyA9PSAnUicpIHsKICAgICAgICAgICAgKytjbnQ7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgc2hha2VzICs9IGNudDsKICAgICAgICB9CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyArK2kpIHsKICAgICAgICBpZiAoc1tpXSA9PSAnUicpIHsKICAgICAgICAgICAgcm91bmRzID0gbWF4KHJvdW5kcywgc3VmZltpXSk7CiAgICAgICAgfQogICAgfQoKICAgIGNvdXQgPDwgcm91bmRzIDw8ICcgJyA8PCBzaGFrZXMgPDwgJ1xuJzsKCiAgICByZXR1cm4gMDsKfQo=