factorial method using range