Translate the following C code to MIPS assembly code. Try to use a minimum number of instructions. Since this is a procedure, you should follow the programming rules, such as argument pass and return, push/pop stacks, etc. Also, estimate the total number of MIPS instructions that is executed to complete this procedure. Assume that n = 5 is given.int fact (int n){if (n < 1)return 1;elsereturn (n*fact(n-1));}