Задача C. Различные числа

Автор:Жюри ВКОШП 2010   Ограничение времени:2 сек
Входной файл:differ.in   Ограничение памяти:256 Мб
Выходной файл:differ.out  

Условие

На днях Алиса делала уборку в своей комнате и нашла дневник, который вела в начальной школе. Там она с удивлением обнаружила запись о том насколько ее поразило то, что 2 + 2 = 2 ⋅ 2. Невероятно, умножение и сложение дают один и тот же результат!

Эта запись натолкнула Алису на следующую задачу: пусть целые заданы числа a и b. Сколько различных значений в наборе чисел a + b, a − b, a ⋅ b, a / b, ab, b + a, b − a, b ⋅ a, b / a, ba.

Деление происходит без округления, результат деления может не быть целым числом. Если какое-либо выражение из этого набора некорректно, то Алиса его не рассматривает. Некорректными считаются деление на ноль и возведение нуля в неположительную степень.

Формат входного файла

Первая строка входного файла содержит целые числа a и b, разделенные пробелом (|a|, |b| ≤ 109).

Формат выходного файла

Выведите в выходной файл количество различных чисел в приведенном наборе.

Примеры тестов

Входной файл (differ.in) Выходной файл (differ.out)
1
2 5
8
2
0 1
3

0.038s 0.007s 15