# Напишете код за функцията cache. Това е декоратор, който трябва
# да запомня какво е върнала декорираната функция, и да връща запомненото
# при повторно извикване с едни и същи аргументи.
#
# Може да се предположи, че всички аргументи са хешируеми.
# Използвайте само стандартната библиотека на Python.
def cache(func):
raise NotImplementedError
calls = {"count": 0}
@cache
def add(a, b):
calls["count"] += 1
return a + b
assert add(1, 2) == 3
assert calls["count"] == 1
assert add(1, 2) == 3
assert calls["count"] == 1
assert add(2, 3) == 5
assert calls["count"] == 2
print("OK")