Задача внешней функции - вернуть внутреннюю с подставленным в тело внутренней аргументом, переданным во внешнюю. При связывании переменной a с результатом работы внешней фунции, с а свяжется внутренняя фунция, созданная внешней. В качестве N в ней уже будет переданное ранее во вненюю значение.