Пункт 1. Всегда сначала проверяется возможность сплита.
Пункт 2. По всей видимоти я коряво объяснил. Программа не проверяет сразу последний счет. Она проверяет их все по порядку. Сначала 1-ый, если он выполняется, то выполняет действие по нему. Потом 2-й, если он выполняется, то выполняет действие по нему, а про первый счет забывает. Если 2-й не выполняется, то остается в силе первый.
Пункт 3. У меня -6, но замечание Коровина я понял. Добавлю.