eval"S,*A=$<.read.split*'';B=[];(%d*V=%d).times{|g|B<<~A[g]=?#<=>c=S[g];{g-1=>g%%V<1,g-V=>g<V}.map{|k,x|x||c==S[k]||(1while k=$*[j=k];B[i=g]<B[j]&&(i,j=j,i);i!=j&&(B[$*[j]=i]+=B[j];A[i]+=A[j]))}};z=0;A.zip(B,$*){|a,b,q|q||z+=a*b};p z"%gets.split