
<SYSTEM_TASK:>
Given the following text problem statement, write Python code to implement the functionality described below in problem statement
<END_TASK>
<USER_TASK:>
Problem:
Find permutation of numbers upto N with a specific sum in a specific range   Function to check if sum is possible with remaining numbers ; Stores the minimum sum possible with x numbers ; Stores the maximum sum possible with x numbers ; If S lies in the range[minSum , maxSum]; Function to find the resultant permutation ; Stores the count of numbers in the given segment ; If the sum is not possible with numbers in the segment ; Output - 1 ; Stores the numbers present within the given segment ; Iterate over the numbers from 1 to N ; If(S - i)is a positive non - zero sum and if it is possible to obtain(S - i)remaining numbers ; Update sum S ; Update required numbers in the segement ; Push i in vector v ; If sum has been obtained ; Break from the loop ; If sum is not obtained ; Output - 1 ; Stores the numbers which are not present in given segment ; Loop to check the numbers not present in the segment ; Pointer to check if i is present in vector v or not ; If i is not present in v ; Push i in vector v1 ; Point to the first elements of v1 and v respectively ; Print the required permutation ; Driver Code

<ASSISTANT_TASK:>
Python Code::
def possible(x,S,N):
  minSum = (x * (x + 1))//2 
  maxSum = (x * ((2 * N) - x + 1))//2 
  if(S < minSum or S > maxSum): 
 	 return False 
 return True 
def findPermutation(N ,L ,R ,S ): 
	x = R - L + 1
 if (not possible( x , S , N)) : 
 	 print(" - 1")
 return 
 else : 
 	 v = []
 for i in range(N , 0 , - 1):
 	 if(( S - i)>= 0 and possible(x - 1 , S - i , i - 1)) : 
 	 S = S - i 
 x -= 1 
 v . append(i)
 if(S == 0): 
 	 break 
 if(S != 0): 
 	 print(- 1)
 return 
 v1 = []
 for i in range(1 , N + 1): 
 	 it = i in v 
 if(not it): 
 	 v1 . append(i)
 j = 0 
 f = 0 
 for i in range(1 , L): 
 	 print(v1[j], end = " ▁ ")
 j += 1 
 for i in range(L , R + 1): 
 	 print(v[f], end = " ▁ ")
 f += 1 
 for i in range(R + 1 , N + 1): 
 	 print(v1[j], end = " ▁ ")
 j += 1 
 return 
 if __name__ == " _ _ main _ _ " : 
 	 N = 6 
 L = 3 
 R = 5 
 S = 8 
 findPermutation(N , L , R , S)

<END_TASK>
