A+B - 투 스텝

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

요약
10^18 이하의 두 정수를 길이 13의 소문자 문자열로 부호화해, 두 번째 프로그램이 그 합을 복원하도록 한다.
난이도

보통10점 중 5점

유형
수학, 문자열, 구현, 비트 연산
정답자
아직 제출이 없습니다

문제

이 문제는 투 스텝 문제이다. 한 번 채점할 때 참가자의 프로그램을 2번 실행하는 형식의 문제이다. 각 실행은 일반적인 문제와 같이 진행되지만, 두 실행은 서로 독립적이다.

갑과 을은 주어진 음이 아닌 두 정수 A,BA,B의 합을 구하려고 한다. 두 정수의 합을 구하는 과정은 다음과 같다.

  • 갑에게 음이 아닌 두 정수 AA와 BB가 주어진다.
  • 갑은 소문자 알파벳으로 구성된 길이가 1313인 문자열을 만든다.
  • 을에게는 갑이 만든 문자열이 주어진다. 단, 을에게는 A,BA,B의 값이 주어지지 않는다.
  • 을은 주어진 문자열을 통해 A+BA+B를 구해야 한다.

갑과 을이 이러한 과정을 통해 A+BA+B를 구할 수 있는 프로그램을 작성하자.

입력

첫 번째 줄에는 입력의 종류를 나타내는 정수 TT가 주어진다. (T∈1,2)(T \in \\{ 1, 2 \\})

T=1T=1인 경우 갑의 입력이 주어진다. 즉, 두 번째 줄에 음이 아닌 정수 AA와 BB가 공백으로 구분되어 주어진다. (0≤A,B≤1018)(0 \le A, B \le 10^{18})

T=2T=2인 경우 을의 입력이 주어진다. 즉, 두 번째 줄에 갑이 만든 소문자 알파벳으로 구성된 길이가 1313인 문자열이 주어진다.

출력

T=1T=1인 경우, 첫 번째 줄에 소문자 알파벳으로 구성된 길이가 1313인 문자열을 출력한다.

T=2T=2인 경우, 첫 번째 줄에 A+BA+B의 값을 출력한다.

예제2

  1. 예제 1

    입력
    1
    1 2
    
    예상 출력
    aaaaaaaathree
    
  2. 예제 2

    입력
    2
    aaaaaaaathree
    
    예상 출력
    3