# [GolfScript](http://golfscript.com), <s>46 bytes</s> 36 bytes ``` 1/{"_"=!},'P'%~-1%+2/.{"~o"=},,.@,\- ``` Significant improvement from my previous algorithm. Enough so that I'm willing to actually explain it. ``` 1/ #Split the string into an array of chars {"_"=!}, #Replace the prev array with one without underscores 'P'%~ #Split the array at the piper -1% #Reverse the second array (right side) #This has the function of making all correct mice #face the same way, which makes for easier matching + #Concatenate 2/ #Split the array into groups of two #so we only an array of mouse-strings! . #Duplicate our array, since we have to count twice {"~o"=},, #First count all valid mice . #Duplicate that count @, #Bring back that second array and count the mice \- #Subtract (correct mice) from (all mice) #which only leaves (correct mice) then (wrong mice) ```