Задача №3198. Числовые промежутки

05.12.2016

Сегодня в школе Васе рассказывали про числовые промежутки. Каждый из них задаётся парой чисел — своими началом и концом, и информацией о том, включается ли в него каждый из концов. Таким образом, существует четыре типа промежутков:

  • Интервал. Обозначается (x, y), включает в себя все числа z: x < z < y.
  • Полуинервалы. Обозначаются [x, y) и (x, y], включают в себя все такие z, что x ≤ z < y и x < z ≤ y соответственно.
  • Отрезок. Обозначается [x, y] и включает в себя все числа z: x ≤ z ≤ y.
В качестве домашней работы Васе досталось посчитать количество целых чисел в каждом из данных промежутков. Поскольку они ещё не проходили вещественных чисел, \(x\) и \(y\) рациональные: \(x\) = \(a \over b\) , \(y\) = \(c \over d\) (\(a\) и \(c\) целые, \(b\) и \(d\) целые положительные)

Рассмотрим пример: [\(3 \over 2\), 4) В данном случае \(d\) = 1, поэтому вместо \(4 \over 1\) пишут просто 4. В этом множестве содержится два целых числа: 2 и 3, а число 4 не содержится.

Помогите Васе с домашней работой — напишите программу, которая по заданному числовому промежутку посчитает количество целых чисел, содержащихся в нём.

Входные данные

Первым символом идёт открывающаяся квадратная или круглая скобка. Далее записано число x в формате \(a \over b\) либо a, где |a| ≤ 109, 0 < b ≤ 109. После следует запятая и пробел. Потом — число y в таком же формате. Далее — закрывающаяся квадратная или круглая скобка. После неё идёт перевод строки и конец файла.

Гарантируется, что данный числовой промежуток не является пустым (то есть содержит в себе хотя бы одно число, не обязательно целое).

Выходные данные

По заданному числовому промежутку выведите единственное число — количество целых чисел в нём.

Примеры
Входные данные
[3/2, 4)
Выходные данные
2
Входные данные
[-2/4, 5/3]
Выходные данные
2
Входные данные
[-1000, 1000]
Выходные данные
2001
Входные данные
[-2, 4/3]
Выходные данные
4
Сдать: для сдачи задач необходимо войти в систему