static long To_Add ( long n ) {
  long min = Long . MAX_VALUE ;
  long max = Long . MIN_VALUE ;
  while ( n > 0 ) {
    min = Math . min ( min , n % 10 ) ;
    max = Math . max ( max , n % 10 ) ;
    n /= 10 ;
  }
  return ( min * max ) ;
}

static long To_Add ( long n ) { long min = Long . MAX_VALUE ; long max = Long . MIN_VALUE ; while ( n > 0 ) { min = Math . min ( min , n % 10 ) ; max = Math . max ( max , n % 10 ) ; n /= 10 ; } return ( min * max ) ; }
(method_declaration (modifiers) type: (integral_type) name: (identifier) parameters: (formal_parameters (formal_parameter type: (integral_type) name: (identifier))) body: (block (local_variable_declaration type: (integral_type) declarator: (variable_declarator name: (identifier) value: (field_access object: (identifier) field: (identifier)))) (local_variable_declaration type: (integral_type) declarator: (variable_declarator name: (identifier) value: (field_access object: (identifier) field: (identifier)))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (decimal_integer_literal))) body: (block (expression_statement (assignment_expression left: (identifier) right: (method_invocation object: (identifier) name: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (decimal_integer_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (method_invocation object: (identifier) name: (identifier) arguments: (argument_list (identifier) (binary_expression left: (identifier) right: (decimal_integer_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (decimal_integer_literal))))) (return_statement (parenthesized_expression (binary_expression left: (identifier) right: (identifier))))))