Three arrays of same size are given. Find a triplet such that maximum – minimum in that triplet is minimum of all the triplets. A triplet should be selected in a way such that it should have one number from each of the three given arrays.

If there are 2 or more smallest difference triplets, then the one with the smallest sum of its elements should be displayed.

**Input:** arr1 = [5, 2, 8]
arr2 = [10, 7, 12]
arr3 = [9, 14, 6]
**Output:** [8, 7, 6]

def tript(arr1, arr2, arr3, n): arr1.sort() arr2.sort() arr3.sort() t1,t2,t3 = 0,0,0 i,j,k = 0,0,0 diff = 1000000 while(i<n and j<n and k<n): sum = arr1[i]+arr2[j]+arr3[k] maxi = max( max(arr1[i],arr2[j]), arr3[k]) mini = min( min(arr1[i],arr2[j]), arr3[k]) if(mini == arr1[i]): i += 1 elif(mini == arr2[j]): j += 1 else: k += 1 if (diff > (maxi-mini)): diff = maxi - mini t3 = maxi t2 = sum-(maxi+mini) t1 = mini return [t1,t2,t3] Arr1=list(map(int,input('Arr1: ').split(' '))) Arr2=list(map(int,input('Arr2: ').split(' '))) Arr3=list(map(int,input('Arr3: ').split(' '))) L=tript(Arr1,Arr2,Arr3,len(Arr1)) print(sorted(L,reverse=True))

**INPUT_1:**

Arr1: 5 2 8

Arr2: 10 7 12

Arr3: 9 14 6

**OUTPUT:**

[ 7, 6, 5 ]

**INPUT_2:**

Arr1: 15 12 18 19

Arr2: 10 17 13 8

Arr3: 14 16 11 5

**OUTPUT:**

[ 12, 11, 10 ]

**INPUT_3:**

Arr1: 2 3 5

Arr2: 15 48 20

Arr3: 10 11 2

**OUTPUT:**

[ 15, 10, 5 ]

**INPUT_4:**

Arr1: 6 2 1

Arr2: 5 9 7

Arr3: 12 6 5

**OUTPUT:**

[ 6, 5, 5 ]

**ILLUSTRATION**