가장 무서운 이야기
시간 제한1초메모리 제한1024 MB
공백으로 나뉜 단어로 이루어진 이야기가 주어집니다. 문자 위치와 단어 위치를 서로 바꿔 답하고, 문자 삽입과 삭제를 처리합니다.
문제
젊은 잭은 할로윈에 친구들을 겁주려고 가장 무서운 이야기를 쓰기로 했다.
이야기는 공백으로 구분된 단어가 하나 이상 이어진 것이다. 단어는 소문자 라틴 알파벳으로 이루어진 비어 있지 않은 문자열이다.
이야기의 품질은 단어뿐 아니라 단어를 이루는 문자에도 영향을 받는다.
잭은 개의 단어로 이루어진 이야기를 이미 만들었다. 이제 그는 이 이야기에 번의 연산을 하려고 한다. 각 연산은 이야기가 얼마나 무서운지 확인하거나 이야기를 조금 고치는 것이다. 연산은 네 종류다.
?1 i: 이야기의 번째 문자가 몇 번째 단어의 몇 번째 위치에 있는지 구한다.?2 w p: 번째 단어의 번째 문자가 이야기에서 몇 번째 위치에 있는지 구한다.+ i c: 이야기의 번째 위치에 문자 (소문자 또는 공백을 나타내는\_)를 삽입한다.- i: 이야기의 번째 문자를 삭제한다.
입력
첫 줄에 두 정수 과 이 공백으로 구분되어 주어진다().
둘째 줄에 잭의 이야기가 주어진다. 이야기는 공백으로 구분된 개의 단어로 이루어지며, 모든 단어 길이의 합은 이하다.
다음 개의 줄에 각 연산이 주어진다.
?1 i: . 여기서 은 현재 이야기의 길이다.?2 w p: , . 여기서 는 현재 단어 수, 는 번째 단어의 길이다.+ i c: . 는 소문자 또는 공백(\_)이다.- i: .
어느 시점에도 이야기에 공백이 연속으로 나오거나 공백으로 시작하지 않는다. 첫 번째 종류 질의의 문자는 항상 공백이 아닌 글자다.
출력
첫 번째 종류 질의마다 단어 번호와 단어 안의 위치를 공백으로 구분해 한 줄에 출력한다.
두 번째 종류 질의마다 이야기에서의 위치를 한 줄에 출력한다.