output_description: Print one longest string that is a subsequence of both s and t. If there are
  multiple such strings, any of them will be accepted.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      s
      t
attempt: import numpy as np
  
  s = np.array([i for i in input()])
  t = np.array([i for i in input()])
  
  num_s = int(s.shape[0])
  num_t = int(t.shape[0])
  
  
  dp = np.zeros((num_s + 1, num_t + 1), dtype="int64")
  
  eq = s[:, None] == t[None, :]
  print(len(eq[0]))
  
  for i in range(num_s):
      np.maximum(dp[i, 1:], dp[i, :-1] + eq[i], out=dp[i + 1, 1:])
      np.maximum.accumulate(dp[i + 1], out=dp[i + 1])
  # print(dp)
  
  res = ""
  pos_s = num_s
  pos_t = num_t
  
  
  while len(res) < np.max(dp):
      temp = dp[pos_s, pos_t]
      # print(temp)
      if dp[pos_s - 1, pos_t] == temp:
          pos_s -= 1
  
      if dp[pos_s, pos_t - 1] == temp:
          pos_t -= 1
  
      if dp[pos_s - 1, pos_t - 1] != temp:
          res += s[pos_s - 1]
          pos_s -= 1
          pos_t -= 1
  
      # print(res, pos_s-1)
  
  
  print(res[::-1])
  
problem_description: Statement
  
  You are given strings s and t. Find one longest string that is a subsequence
  of both s and t.
samples: [{"input": "axyb\n    abyxb", "output": "axb\n    \n\nThe answer is `axb` or `ayb`; either will be accepted.\n\n* * *"}, {"input": "aa\n    xayaz", "output": "aa\n    \n\n* * *"}, {"input": "a\n    z", "output": "The answer is `` (an empty string).\n\n* * *"}, {"input": "abracadabra\n    avadakedavra", "output": "aaadara"}]