Разрабатывая инструменты для создания карт локаций для пошаговых боёв в новой игре, Петя столкнулся со следующей задачей.
Карта поля состоит из шестиугольных сот. Так как локации планируются очень большие, гейм-дизайнер хочет иметь инструмент для быстрого заполнения участка поля одинаковыми вражескими юнитами. Выглядеть это будет следующим образом: гейм-дизайнер будет выделять на карте прямоугольную область, и на каждой соте, центр которой попадает в выделенный прямоугольник, должен появиться выбранный вражеский юнит.
Более формально, если гейм-дизайнер выбрал соты с координатами (x1, y1) и (x2, y2), где x1 ≤ x2 и y1 ≤ y2, то заполняются все соты с координатами центров (x, y), такие что x1 ≤ x ≤ x2 и y1 ≤ y ≤ y2. Прямоугольная система координат введена таким образом, что одна из сторон сот параллельна оси OX, все центры шестиугольников имеют целочисленные координаты, для каждого целого x есть соты с центром с такой x-координатой и для каждого целого y есть соты с центром с такой y-координатой. Гарантируется, что разность x2 - x1 делится нацело на 2.
В процессе выполнения задачи Петя решил, что прежде чем отрисовать указанных юнитов, он хочет выводить на экран пользователя количество юнитов, которые в итоге будут отрисованы на карте.
Помогите ему реализовать подсчёт этих юнитов до отрисовки.
Единственная строка входных данных содержит четыре целых числа x1, y1, x2, y2 ( - 109 ≤ x1 ≤ x2 ≤ 109, - 109 ≤ y1 ≤ y2 ≤ 109) — координаты центров двух сот.
Выведите одно целое число — количество сот, подлежащих заполнению.
1 1 5 5
13
Название |
---|