private static int g(string q, int w)
return q.Aggregate(new{b=1,c=w,x=1},(l,o)=>l.x<0?l:o=='W'?new{b=1,c=l.c+l.b,x=1}:new{b=l.b*2,c=l.c-l.b,x=l.c-l.b-l.b*2}).c;
public static void Main()
L(g("WWWWWLLLLLLLLLWWWWWWWWWWW", 15));
L(g("LLLWWWWLLWWLWWWWLWWLLLWWWLWWLLLLWLLWWLLLWWWWWLWLWLWWLLLWLWLWLWLWLWLWWLLLW", 15));
private static void L(object l) {