만드는 중입니다

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

비밀 코드

면접 대비

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

요약
문자열에서 서로 다른 두 위치의 문자를 한 번 교환해 만들 수 있는 서로 다른 문자열의 개수를 구합니다.
난이도

쉬움10점 중 3점

유형
수학, 문자열, 해시맵
정답자
아직 제출이 없습니다

문제

조니 잉글리시가 파스칼 소바주를 거의 잡았지만, 그는 마지막 순간에 코드 자물쇠가 달린 문 뒤로 숨었다.

다행히 악당이 문자열 ss가 적힌 쪽지를 떨어뜨렸다. 조니는 ss에서 서로 다른 두 위치의 문자를 정확히 한 번 교환해서 얻은 문자열 tt가 문의 코드라고 판단했다. 파스칼은 그 이상은 생각하지 못했을 것이다.

조니는 운을 믿지 않는다. 문을 확실히 열려면 서로 다른 코드를 몇 개 입력해야 하는지 알고 싶어 한다. 그는 문자열 문제에 약해서 이 개수를 세어 달라고 부탁했다.

입력

한 줄에 문자열 ss가 주어진다 (1≤∣s∣≤1051 \le |s| \le 10^5). ss는 소문자 라틴 알파벳으로만 이루어져 있다. 이 문자열은 악당이 떨어뜨린 쪽지에 적혀 있던 것이다.

출력

문을 확실히 열기 위해 입력해야 하는 코드의 개수를 한 줄에 출력한다.

예제2

  1. 예제 1

    입력
    abacaba
    
    예상 출력
    15
    
  2. 예제 2

    입력
    aaaaaa
    
    예상 출력
    1