Tuesdays Lab 1)Write a program to compute the complete prime factorization of the input number. The output should be an ordered sequence of prime divisors of the input along with their multiplicity with largest divisor first. A divisor and its multiplicity should be enclosed in braces. For example, on input 42, the output is (7 1) (3 1) (2 1). On input 16, the output is (2 4), etc. 2)Caesar's Cipher In order to securely communcate with his army generals Julius Caesar used to encrypt his messages by cyclic cipher. It is a type of substitution cipher in which each letter in the plaintext is replaced by a letter some fixed number of positions down the alphabet. Ex: with a shift of 3 would replace A by D, B by E,....,Z by C. So CAT would become FDW, BROWN would become EURZQ, etc (ciphered word can be decrypted easily too) So 'MXPSV' would be deciphered/decrypted as 'JUMPS' Write a C programme to implement this cypher technique. You program should ask from the user the shift parameter, whether to encrypt or decrypt, and then the text. Everything is taken as input using getchar.Printing using putchar the reultant text. (Assume that only upper case and lower case alphabets are allowed in the word. Upper case alphabets are encrypted as upper case and so on.) 3)Consider computing one of the roots of a function P(x). Usually, we try to find two values x=a and x=b such that P(a) and P(b) have opposite signs. Then we know that there is a root between a and b. Then we try to narrow down this range. In this problem we will use an efficient method called bisection to quickly arrive at the root. (P(a) refers to the value of function at x= a) After we have found x=a and x=b such that P(a) and P(b) have opposite signs, we compute P((a+b)/2). If the signs of P(a) and P((a+b)/2) are opposite, our new refined range becomes x=a to x=(a+b)/2. On the other hand, if P(b) and P((a+b)/2) have opposite signs, our new range becomes x=(a+b)/2 to x=b. We continue the process until the absolute value of the polynomial at the mid-point of the range becomes less than 0.00001. At this point we stop the process and declare this mid-point to be a root of the polynomial. Write a C program to implement this algorithm. Test your program for the following functions Report the root and the number of iterations needed. P(x) = x + 5; start with a=0 and b=-6 P(x) = (35x^4-30x^2+3)/8; start with a=0 and b=0.5 [This is the fourth Legendre Polynomial] (Use math.h library method to compute the absolute value of a number.(abs(a-b) if a and b are integers, fabs(a-b) for float)