input: Write a function to determine the number of common substrings between two given strings. If there are no common substrings, return 0. If either string is empty, return 0.
  assert num_common_substrings("abcd", "bae") == 2
  assert num_common_substrings("hello", "world") == 1
  assert num_common_substrings("abc", "def") == 0
  assert num_common_substrings("", "test") == 0
  assert num_common_substrings("test", "") == 0
output: def num_common_substrings(s1, s2):
      if not s1 or not s2:
          return 0
      set1 = set(s1[i:j] for i in range(len(s1)) for j in range(i + 1, len(s1) + 1))
      set2 = set(s2[i:j] for i in range(len(s2)) for j in range(i + 1, len(s2) + 1))
      return len(set1 & set2)