def pow(X, N): # base case if N == 0: return 1 # recursion call temp = pow(X, N//2) # if N is odd then we will have to multiply x if N%2 == 1: return temp*temp*X return temp*tempAlgorithm time complexity : O(log n) space complexity : O(log n)Can someone help me with this code? Mainly I want to know what is the role of return statements in this as I get confused a lot from a beginner POV and what is N//2 ?