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