#include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int N; cin >> N; stack> st; long long answer = 0; for(int x=0; x> s; long long white = 0,black = 2*N; for(int i=0; i<2*N; i++) if(s.at(i) == '.') answer += i-white,white++; black -= white; if(black > N){ long long b = black-N; answer += b*(b-1)/2; while(st.size() && st.top().second > 0 && b){ auto &[x2,w] = st.top(); long long use = min(b,w); answer += use*(x-x2+1); w -= use,b -= use; if(w == 0) st.pop(); } if(b) st.push({x,-b}); } else if(white > N){ long long w = white-N; answer += w*(w-1)/2; while(st.size() && st.top().second < 0 && w){ auto &[x2,b] = st.top(); long long use = min(-b,w); answer += use*(x-x2+1); w -= use,b += use; if(b == 0) st.pop(); } if(w) st.push({x,w}); } } cout << answer << endl; }