def fib_dict(num):
    """
    Finds the N-th fibonacci number recursively(but uses dict for memoization).

    :param int num: The N-th fibonacci number (index).
    :return: Computed number.
    """
    cache = {0: 0, 1: 1}

    def fib_recurs(n):
        if n in cache:
            return cache[n]
        cache[n] = fib_recurs(n - 1) + fib_recurs(n - 2)
        return cache[n]

    return fib_recurs(num)