static int countParallelogram ( int n , int m ) {
  int C [ ] [ ] = new int [ MAX ] [ MAX ] ;
  binomialCoeff ( C , Math . max ( n , m ) , 2 ) ;
  return C [ n ] [ 2 ] * C [ m ] [ 2 ] ;
}

static int countParallelogram ( int n , int m ) { int C [ ] [ ] = new int [ MAX ] [ MAX ] ; binomialCoeff ( C , Math . max ( n , m ) , 2 ) ; return C [ n ] [ 2 ] * C [ m ] [ 2 ] ; }
(method_declaration (modifiers) type: (integral_type) name: (identifier) parameters: (formal_parameters (formal_parameter type: (integral_type) name: (identifier)) (formal_parameter type: (integral_type) name: (identifier))) body: (block (local_variable_declaration type: (integral_type) declarator: (variable_declarator name: (identifier) dimensions: (dimensions) value: (array_creation_expression type: (integral_type) dimensions: (dimensions_expr (identifier)) dimensions: (dimensions_expr (identifier))))) (expression_statement (method_invocation name: (identifier) arguments: (argument_list (identifier) (method_invocation object: (identifier) name: (identifier) arguments: (argument_list (identifier) (identifier))) (decimal_integer_literal)))) (return_statement (binary_expression left: (array_access array: (array_access array: (identifier) index: (identifier)) index: (decimal_integer_literal)) right: (array_access array: (array_access array: (identifier) index: (identifier)) index: (decimal_integer_literal))))))