만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

보고 싶었나요?

면접 대비

시간 제한2초메모리 제한1024 MB

요약
문자열의 두 문자를 정확히 한 번 교환해서 회문으로 만들 수 있는지 판단합니다.
난이도

보통10점 중 4점

유형
문자열, 투 포인터
정답자
아직 제출이 없습니다

문제

보고 싶었나요?

짐 모리아티

런던의 모든 화면에서 지금 짐 모리아티가 시민들에게 하는 연설 영상이 방송되고 있다. 이 슈퍼악당이 살아 있는지는 아직 확실하지 않다. 누군가 그의 유명세를 자기 이익을 위해 이용하고 있을 수도 있다. 셜록 홈즈를 태운 비행기가 착륙하는 동안, 왓슨과 레스트레이드에게는 중요한 임무가 있다. 시민들의 정신 건강을 해치지 않도록 방송을 즉시 끄는 것이다.

방송을 끄려면 비밀번호를 입력해야 한다는 것을 알고 있다. 비밀번호가 될 문자열은 앞에서부터 읽든 뒤에서부터 읽든 같아야 한다는 것도 정확히 알고 있다. 짐 모리아티는 문자열 하나와 함께, 이 문자열에서 정확히 두 문자의 위치를 바꾸면 비밀번호를 얻을 수 있다고 적은 문자 메시지를 보냈다.

이제 왓슨과 레스트레이드는 이 문자열에서 정확히 두 문자를 골라 위치를 바꿨을 때(두 문자가 같을 수도 있다), 앞에서부터 읽든 뒤에서부터 읽든 같은 문자열이 될 수 있는지 확인하려 한다.

입력

입력 파일의 한 줄에 문자열 SS가 주어진다 (2≤∣S∣≤100 0002 \le |S| \le 100\,000). SS는 영어 소문자로만 이루어져 있다.

출력

출력 파일에 비밀번호를 얻을 수 있으면 Yes를, 그렇지 않으면 No를 출력한다.

예제2

  1. 예제 1

    입력
    abcd
    
    예상 출력
    No
    
  2. 예제 2

    입력
    abab
    
    예상 출력
    Yes