Складывание
Как вы помните, Алексей увлекается оригами. Он перешел с квадратов на прямоугольники, а с прямоугольниками справиться намного сложнее. Его главный интерес состоит в том, чтобы определить минимально возможное количество изгибов, необходимое для преобразования прямоугольника W * H в w * h. Результат каждого изгиба также должен быть прямоугольником, поэтому разрешается делать только складки, параллельные сторонам прямоугольника. Помогите Алексу и напишите программу, которая определит минимально необходимое количество складок.
Входные данные
Первая строка содержит два целых числа W и H - исходные размеры прямоугольника. Вторая строка содержит еще два целых числа w и h - размеры целевого прямоугольника (1 ≤ W, H, w, h ≤ 10^9
).
Выходные данные
Выведите одно целое число - минимальное количество складок, необходимое для преобразования исходного прямоугольника в целевой.
Если требуемое преобразование невозможно, выведите -1.
Примеры
Примечание
В первом примере следует свернуть прямоугольник 2 * 7 в 2 * 4, а затем в 2 * 2.
Во втором примере следует сложить прямоугольник 10 * 6 в 10 * 4, затем в 8 * 4 и повернуть его так, чтобы получить 4 * 8.
В третьем примере невозможно сложить прямоугольник 5 * 5 в 1 * 6 (помните, что складки должны быть параллельны сторонам прямоугольника).