recursive-add and factorial