parameters: (self, A, B, C, D)
return_statement: return result
docstring: :type A: List[int]
          :type B: List[int]
          :type C: List[int]
          :type D: List[int]
          :rtype: int
docstring_summary: :type A: List[int]
          :type B: List[int]
          :type C: List[int]
          :type D: List[int]
          :rtype: int
docstring_tokens: : type A : List [ int ] : type B : List [ int ] : type C : List [ int ] : type D : List [ int ] : rtype : int
function: def fourSumCount(self, A, B, C, D):
          """
          :type A: List[int]
          :type B: List[int]
          :type C: List[int]
          :type D: List[int]
          :rtype: int
          """
          assert(len(A) == len(B) == len(C) == len(D))
          record = {}
          for i in C:
              for j in D:
                  record[i + j] = record.get(i + j, 0) + 1
  
          result = 0
          for i in A:
              for j in B:
                  if 0 - i - j in record:
                      result += record[0 - i - j]
  
          return result
function_tokens: def fourSumCount ( self , A , B , C , D ) : assert ( len ( A ) == len ( B ) == len ( C ) == len ( D ) ) record = { } for i in C : for j in D : record [ i + j ] = record . get ( i + j , 0 ) + 1 result = 0 for i in A : for j in B : if 0 - i - j in record : result += record [ 0 - i - j ] return result