dp: longest increasing sub sequence