Счётчик с шагом и сбросом через замыкание

JavaScript Средний closures

Задача «Счётчик с шагом и сбросом через замыкание»

Реализуйте функцию createCounter, которая принимает начальное значение start и шаг step. Функция должна возвращать объект с тремя методами: increment() — увеличивает текущее значение на step и возвращает его, decrement() — уменьшает на step и возвращает, reset() — сбрасывает значение к начальному start. Используйте замыкания для хранения состояния. Начальное значение start и шаг step — целые числа.

Формат ввода

Первая строка: start (целое число). Вторая строка: step (целое число). Третья строка: количество вызовов n (целое число, 1 ≤ n ≤ 20). Далее n строк, каждая содержит одну команду: 'increment', 'decrement' или 'reset'.

Формат вывода

Для каждой команды выведите текущее значение счётчика после выполнения команды, каждое на новой строке.

Примеры

Пример 1

ВВОД
10 3 3 increment increment decrement
ВЫВОД
13 16 13

Пример 2

ВВОД
-5 2 4 decrement decrement increment reset
ВЫВОД
-7 -9 -7 -5

Пример 3

ВВОД
5 4 6
ВЫВОД
78.54 24.00
main.js