input: Write a python function to find the length of the longest increasing subsequence in a given list.
  assert LongestIncreasingSubsequence([10, 9, 2, 5, 3, 7, 101, 18]) == 4
  assert LongestIncreasingSubsequence([0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15]) == 6
  assert LongestIncreasingSubsequence([3, 10, 2, 1, 20]) == 3
  assert LongestIncreasingSubsequence([3, 2]) == 1
output: def LongestIncreasingSubsequence(nums):
      if not nums:
          return 0
      
      dp = [1] * len(nums)
      
      for i in range(len(nums)):
          for j in range(i):
              if nums[i] > nums[j]:
                  dp[i] = max(dp[i], dp[j] + 1)
      
      return max(dp)