solved shift reduce