You have been speeding on a motorway and a police car had to stop you. The policeman is a funny guy that likes to play games. Before issuing penalty charge notice he gives you a choice to change your penalty. 
Your penalty charge is a combination of numbers like: speed of your car, speed limit in the area, speed of the police car chasing you, the number of police cars involved, etc.  So, your task is to combine the given numbers and make the penalty charge to be as small as possible.      
For example, if  you are given numbers  ```[45, 30, 50, 1]``` your best choice is ```1304550```
Examples:
```Python
['45', '30', '50', '1'] => '1304550'
['100', '10', '1'] => '100101'
['32', '3'] => '323'
```
def penalty(nos):
    print(nos)
    pos = 0
    ret = []
    for x in range(len(nos)):
        low = 10
        tmp = ''
        for x in nos:
            if int(x[0])<=int(low):
                if tmp != '':
                    tmp = getLowest(tmp,x)
                else:
                    tmp = x
                low = tmp[0]
        ret.append(tmp)
        #print(ret,'\t',tmp)
        nos.remove(tmp)
    return ''.join(ret)
        
def getLowest(s1,s2):
    res = {s1:s1,s2:s2}
    if len(s2)<len(s1):
        res[s2] = equalPad(s2,len(s1))
    elif len(s2)>len(s1):
        res[s1] = equalPad(s1,len(s2))
    #print('res',res)
    for x in range(len(res[s1])):
        if res[s1][x] < res[s2][x]:
            return s1
        elif res[s2][x] < res[s1][x]:
            return s2
    return s1

def equalPad(s0,w):
    return s0.ljust(w,s0[-1])
def penalty(nos):
    print(nos)
    pos = 0
    ret = []
    for x in range(len(nos)):
        low = 10
        tmp = ''
        for x in nos:
            if int(x[0])<=int(low):
                if tmp != '':
                    tmp = getLowest(tmp,x)
                else:
                    tmp = x
                low = tmp[0]
        ret.append(tmp)
        #print(ret,'\t',tmp)
        nos.remove(tmp)
    return ''.join(ret)
        
def getLowest(s1,s2):
    res = {s1:s1,s2:s2}
    if len(s2)<len(s1):
        res[s2] = equalPad(s2,len(s1))
    elif len(s2)>len(s1):
        res[s1] = equalPad(s1,len(s2))
    #print('res',res)
    for x in range(len(res[s1])):
        if res[s1][x] < res[s2][x]:
            return s1
        elif res[s2][x] < res[s1][x]:
            return s2
    return s1

def equalPad(s0,w):
    return s0.ljust(w,s0[-1])