Просмотрел код. Действительно, нашел ошибку, из-за которой некоторые комбинации обрабатывались неправильно. Спасибо за помощь в исправлении багов!)