public static long inverseElement ( long a , long n ) {
  long b = n , u = 1 , v = 0 ;
  while ( b > 0 ) {
    long t = a / b ;
    a -= t * b ;
    u -= t * v ;
    t = a ;
    a = b ;
    b = t ;
    t = u ;
    u = v ;
    v = t ;
  }
  u = u % n ;
  if ( u < 0 ) u += n ;
  return u ;
}

public static long inverseElement ( long a , long n ) { long b = n , u = 1 , v = 0 ; while ( b > 0 ) { long t = a / b ; a -= t * b ; u -= t * v ; t = a ; a = b ; b = t ; t = u ; u = v ; v = t ; } u = u % n ; if ( u < 0 ) u += n ; return u ; }
(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) value: (identifier)) declarator: (variable_declarator name: (identifier) value: (decimal_integer_literal)) declarator: (variable_declarator name: (identifier) value: (decimal_integer_literal))) (while_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (decimal_integer_literal))) body: (block (local_variable_declaration type: (integral_type) declarator: (variable_declarator name: (identifier) value: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (decimal_integer_literal))) consequence: (expression_statement (assignment_expression left: (identifier) right: (identifier)))) (return_statement (identifier))))