Доброго дня всем! C пятницей!

Уже неделю бьюсь над одним проектом. Если кто с подсказкой поможет, буду очень сильно признателен!
Суть такова.

Есть входная числовая переменная "Х". От неё в разные моменты времени (выбирается наличием "1" (bool), на входах I1..I2..I3), отнимаются переменные "а", "b", "с". Но, каждый раз (при смене сигналов на входах) вычитание производится от разности предыдущего вычитания.
Поясню.
Появилась "1" на входе I1, началось вычитание Х-а. Пришёл "0", процесс остановился. Значение записалось в переменную "Y". При повторном появлении "1" процесс возобновляется.
Если "1" появляется на входе I2, то запускается вычитание Y-b. Если "1" появляется на входе I3, то запускается Y-c.
Весь процесс останавливается при достижении Х=0. Операция вычитания привязана к 1 сек. Т.е. значения вычисляются с интервалом в 1 сек.

У меня получается, если входных переменных "а", "b", "с"... всего две, только "а" и "b". Как только появляется третья... вся моя "математика" рушится. (((