I am greater than you! Write a function or program that given a list of non negative integers, arranges them such that they form the largest possible number.

INPUT

[50, 2, 1, 9]


OUTPUT

95021




INPUT

0


OUTPUT

0




INPUT
(Interesting one)

[7, 76]


OUTPUT

776


RULES


standard loopholes apply.
Depending on your language you can use int(32) / int(64) or any other numeric datatype. (Please append the chosen type to your answer)
take a list as Input 
you choose the behavior on empty input 


GL
Python 2, 85 80 77 72 70 bytes



lambda l:''.join(sorted(map(str,l),key=lambda i:i+i[-1]*max(l))[::-1])


Try it online!

Sorts the numbers lexicographically, but each number is padded with its last  digit.

This means that 'shorter' numbers (string-wise) can be larger than 'longer' numbers:

Example:

Input: [76, 7]

Each number gets padded with its last digit: ['76666..','7777..']

Sorted (descending): ['7777..',76666..'], which gives [7, 76]

Joining the result gives: 776