public static void main ( String [ ] args ) {
  try ( BufferedReader in = new BufferedReader ( new InputStreamReader ( System . in ) ) ) {
    char [ ] word = in . readLine ( ) . toCharArray ( ) ;
    boolean flag = false ;
    for ( int i = 0 ;
    i < word . length ;
    i ++ ) {
      if ( word [ i ] != 'a' ) {
        word [ i ] = ( char ) ( word [ i ] - 1 ) ;
        flag = true ;
      }
      else if ( flag ) {
        break ;
      }
    }
    if ( ! flag ) word [ word . length - 1 ] = 'z' ;
    System . out . println ( word ) ;
  }
  catch ( IOException e ) {
  }
}

public static void main ( String [ ] args ) { try ( BufferedReader in = new BufferedReader ( new InputStreamReader ( System . in ) ) ) { char [ ] word = in . readLine ( ) . toCharArray ( ) ; boolean flag = false ; for ( int i = 0 ; i < word . length ; i ++ ) { if ( word [ i ] != ' a ' ) { word [ i ] = ( char ) ( word [ i ] - 1 ) ; flag = true ; } else if ( flag ) { break ; } } if ( ! flag ) word [ word . length - 1 ] = ' z ' ; System . out . println ( word ) ; } catch ( IOException e ) { } }
(method_declaration (modifiers) type: (void_type) name: (identifier) parameters: (formal_parameters (formal_parameter type: (array_type element: (type_identifier) dimensions: (dimensions)) name: (identifier))) body: (block (try_with_resources_statement resources: (resource_specification (resource type: (type_identifier) name: (identifier) value: (object_creation_expression type: (type_identifier) arguments: (argument_list (object_creation_expression type: (type_identifier) arguments: (argument_list (field_access object: (identifier) field: (identifier)))))))) body: (block (local_variable_declaration type: (array_type element: (integral_type) dimensions: (dimensions)) declarator: (variable_declarator name: (identifier) value: (method_invocation object: (method_invocation object: (identifier) name: (identifier) arguments: (argument_list)) name: (identifier) arguments: (argument_list)))) (local_variable_declaration type: (boolean_type) declarator: (variable_declarator name: (identifier) value: (false))) (for_statement init: (local_variable_declaration type: (integral_type) declarator: (variable_declarator name: (identifier) value: (decimal_integer_literal))) condition: (binary_expression left: (identifier) right: (field_access object: (identifier) field: (identifier))) update: (update_expression (identifier)) body: (block (if_statement condition: (parenthesized_expression (binary_expression left: (array_access array: (identifier) index: (identifier)) right: (character_literal))) consequence: (block (expression_statement (assignment_expression left: (array_access array: (identifier) index: (identifier)) right: (cast_expression type: (integral_type) value: (parenthesized_expression (binary_expression left: (array_access array: (identifier) index: (identifier)) right: (decimal_integer_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (true)))) alternative: (if_statement condition: (parenthesized_expression (identifier)) consequence: (block (break_statement)))))) (if_statement condition: (parenthesized_expression (unary_expression operand: (identifier))) consequence: (expression_statement (assignment_expression left: (array_access array: (identifier) index: (binary_expression left: (field_access object: (identifier) field: (identifier)) right: (decimal_integer_literal))) right: (character_literal)))) (expression_statement (method_invocation object: (field_access object: (identifier) field: (identifier)) name: (identifier) arguments: (argument_list (identifier))))) (catch_clause (catch_formal_parameter (catch_type (type_identifier)) name: (identifier)) body: (block)))))