#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //#ifndef MYDEBUG #define err(...) #define errs(...) #define NO_CP(a) #define MY_ASSERT(a) //#endif using namespace std; void Calc(); #define PI 3.14159265358979323846 #define ALL(a) (a).begin(),(a).end() #define RALL(a) (a).rbegin(),(a).rend() typedef long long ll; typedef unsigned long long ull; int main() { cin.tie(0); ios::sync_with_stdio(false); cout.setf(ios::fixed, ios::floatfield); cout.precision(15); Calc(); cout.flush(); return 0; } struct Scanner { NO_CP(Scanner); templatestatic A Next() { A a; cin >> a; MY_ASSERT(cin); return a; } static string Line() { string s; getline(cin, s); MY_ASSERT(cin); return s; } templatestatic vector Array(int n) { vector a(n); for (A& i : a) i = Next(); return a; } static int Int() { return Next(); } template Scanner& operator>>(A &a) { a = Next(); return *this; } template operator A() { return Next(); } }; template<> bool Scanner::Next() { return !!cin; } namespace out { template void Out(A b, A e, const char *between = " ") { if (b != e)while (cout << *b, ++b != e) cout << between; } templatevoid Outs(const T &t) { cout << t; } templatevoid Outs(const T& t, const Args&... args) { cout << t << ' '; Outs(args...); } } /*---------------------------------------------------------------------*/ void Calc() { Scanner cin; int cnt = 0; int maxi = 0; string s = cin.Line(); s += cin.Line(); for (auto& i : s) { if (i == 'o')maxi = std::max(++cnt, maxi); else cnt = 0; } cout << maxi << endl; }