//=time() ?>
started from the bottom now we here
dynamic programming + recursion in interviews is cruel and unusual punishment