숫자 만들기
시간 제한1.5초메모리 제한1024 MB
X의 자릿수를 재배열한 수 가운데 맨 앞자리가 0이 아니고 Y 이상인 가장 작은 Z를 구하며, Y의 자릿수 변경과 Z의 특정 자리 조회를 처리합니다.
문제
두 양의 정수 와 가 주어진다. 두 수의 10진수 자릿수는 같다. 는 다음 조건을 모두 만족하는 10진수 양의 정수이다.
- 의 자릿수는 의 자릿수를 재배열한 것이다. 의 맨 앞자리는 0일 수 없다. 예를 들어 이면 는 또는 일 수 있지만, , , 은 가 될 수 없다.
- 이다.
- 는 위 조건을 만족하는 값 중 최솟값이다.
다음 개의 질의를 처리한다. 질의는 다음 두 종류 중 하나이다.
- 의 번째 자릿수를 로 바꾼다.
- 의 번째 자릿수를 출력한다. 해당하는 가 없으면 을 출력한다.
자릿수는 왼쪽부터 센다.
입력
첫째 줄에 두 정수 와 가 공백으로 구분되어 주어진다.
둘째 줄에 가 주어진다.
다음 개의 줄에 질의가 주어진다. 각 질의의 첫 번째 정수는 질의의 종류이며, 형식은 다음과 같다.
1: 의 번째 자릿수를 로 바꾼다.2: 의 번째 자릿수를 출력한다. 해당하는 가 없으면 을 출력한다.
종류가 2인 질의가 적어도 하나 주어진다.
출력
종류가 2인 질의마다 답을 한 줄에 하나씩 출력한다.
제한
와 의 자릿수는 같다. 와 의 맨 앞자리는 0이 아니다. 종류가 1인 질의에서 (의 자릿수), 이다. 이면 이다. 종류가 2인 질의에서 (의 자릿수)이다.