start _ _ right initA initA 1 a right initB initA _ _ left accept initB 1 b right initC initB _ _ left accept initC 1 1 left reset initC _ _ left accept reset 1 1 left reset reset a a left reset reset b b left reset reset _ _ right go go a b right place place a a right place place b b right place place c c right place place _ _ left reject place 1 c left goBack goBack c c left goBack goBack b b left goBack goBack a b right place goBack _ _ right oneScan oneScan a a right oneScan oneScan b b right oneScan oneScan c c right oneScan oneScan 1 1 left cleanup oneScan _ _ left accept cleanup c b left cleanup cleanup b a left cleanup cleanup a a left cleanup cleanup _ _ right go