If there is a floating delete for current character we will delete it and move forward otherwise we will increase delete counter for opposite digit
if ( del [ t ] > 0 ) { del [ t ] -- ; count [ t ] -- ; } else { del [ t ^ 1 ] ++ ; q . push ( t ) ; } }