// By rbtree (https://rbtree.archi) :\
// Please submit with C++14!
#define D67 signed main() {  /* W >= S && Len is even, Max Len*/
#define D66 /* By rbtree (https://rbtree.archi) :*/
#define D65 // freopen("fairphoto.out", "w", stdout);
#define D64 // freopen("fairphoto.in", "r", stdin);
#define D63 ps += a[i].second == 'W' ? -1 : 1;
#define D62 /* Please submit with C++14!*/
#define D61 c.push_back(make_pair(ps,
#define D60 (lower_bound(c.begin(),
#define D5F printf("%lld
", MAX);
#define D5E lower_bound(c.begin(),
#define D5D stable_sort(a.begin()
#define D5C tp(0)))->second);
#define D5B vector<pair<tp,
#define D5A array<pair<tp,
#define D59 c.back().first
#define D58 a[i].first));
#define D57 make_pair(ps,
#define D56 a[i].second;
#define D55 __Initer_t()
#define D54 (c.empty()
#define D53 a[i].first
#define D52 __Negitive
#define D51 getchar();
#define D50 getchar())
#define D4F __Initer_t
#define D4E constexpr
#define D4D __Read();
#define D4C namespace
#define D4B __Initer;
#define D4A a.begin()
#define D49 __Read()
#define D48 c.end(),
#define D47 c.end())
#define D46 __Value;
#define D45 ~__Value
#define D44 (__Char
#define D43 __Value
#define D42 tp(0)))
#define D41 char>,
#define D40 return
#define D3F struct
#define D3E __Char
#define D3D Hat_N>
#define D3C even;
#define D3B long;
#define D3A Hat_N
#define D39 using
#define D38 bool
#define D37 ++i)
#define D36 long
#define D35 odd,
#define D34 max(
#define D33 char
#define D32 MAX,
#define D31 std;
#define D30 tp>>
#define D2F 15);
#define D2E cin
#define D2D 58;
#define D2C (tp
#define D2B MAX
#define D2A ra;
#define D29 15;
#define D28 for
#define D27 ra,
#define D26 1);
#define D25 ps)
#define D24 45;
#define D23 57;
#define D22 1e5
#define D21 ==
#define D20 a;
#define D1F <=
#define D1E if
#define D1D 48
#define D1C n;
#define D1B 47
#define D1A ps
#define D19 3;
#define D18 !=
#define D17 &&
#define D16 (;
#define D15 0,
#define D14 tp
#define D13 1;
#define D12 0;
#define D11 1,
#define D10 >>
#define DF ||
#define DE 10
#define DD n
#define DC :
#define DB <
#define DA >
#define D9 -
#define D8 i
#define D7 &
#define D6 =
#define D5 ?
#define D4 1
#define D3 {
#define D2 +
#define D1 }
#define D0 *
#define D68 D66 D62 
#define D69(__FOX__) __FOX__
D69(D68)
#include <time.h>
#include <algorithm>
#include <array>
#include <cmath>
#include <functional>
#include <iostream>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <unordered_map>
#include <utility>
#include <vector>
#define ra __Read()
#define c (ps & 1 ? odd : even)
#define D6A D39 D14 D6 D36 D3B D14 D4D D39 D4C D31
#define D6B D4E D14 D3A D6 D22 D2 D19 D67 D14 DD
#define D6C D6 D27 D1A D6 D15 D2B D6 D12 D5A D41
#define D6D D3D D20 D5B D30 D35 D3C D28 D2C D8 D6
#define D6E D13 D8 D1F D1C D37 D3 D53 D6 D2A D2E
#define D6F D10 D56 D1 D5D D2 D11 D4A D2 DD D2
#define D70 D26 D28 D2C D8 D6 D13 D8 D1F D1C D37
#define D71 D3 D1E D54 DF D59 DB D25 D3 D61 D58
#define D72 D1 D63 D1E D60 D48 D57 D42 D18 D47 D3
#define D73 D2B D6 D34 D32 D53 D9 D5E D48 D57 D5C
#define D74 D1 D1 D5F D40 D12 D1 D3F D4F D3 D55
#define D75 D3 D64 D65 D1 D1 D4B D14 D49 D3 D38
#define D76 D52 D6 D12 D33 D3E D6 D51 D14 D46 D28
#define D77 D16 D3E DB D1D DF D3E DA D23 D3E D6
#define D78 D50 D3 D52 D6 D3E D21 D24 D1 D43 D6
#define D79 D3E D7 D29 D28 D44 D6 D51 D3E DA D1B
#define D7A D17 D3E DB D2D D3E D6 D50 D3 D43 D6
#define D7B D43 D0 DE D2 D44 D7 D2F D1 D40 D52
#define D7C D5 D45 D2 D4 DC D46 D1 
#define D7D D6A D6B D6C D6D D6E D6F D70 D71 D72 D73
#define D7E D74 D75 D76 D77 D78 D79 D7A D7B D7C 
#define D7F D7D D7E 
#define D80(__FOX__) __FOX__
D80(D7F)