만드는 중입니다

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

디지털 계산기

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

요약
N, K, L이 주어질 때 N!의 앞 K자리와 뒤 L자리를 출력합니다.
난이도

보통10점 중 6점

유형
수학, 정수론, 구현
정답자
아직 제출이 없습니다

문제

단은 지루한 수학 시간에 주머니 속 계산기를 가지고 노는 것을 좋아한다. 방금 선생님이 팩토리얼 함수 이야기를 시작했다.

NN의 팩토리얼, 즉 N!N!은 1부터 NN까지 모든 정수의 곱이다. 예를 들어 6!=6×5×4×3×2×1=7206! = 6 \times 5 \times 4 \times 3 \times 2 \times 1 = 720이다.

단은 이 새로운 함수를 실험해 보려고 주머니에서 계산기를 꺼냈다. 안타깝게도 계산기는 자릿수가 금방 부족해져 오버플로 오류만 보여 주었다. 단은 곧 팩토리얼 함수가 매우 빠르게 커진다는 것을 깨달았다. 그래도 그는 N!N!의 자릿수 중 적어도 일부는 알고 싶어 한다.

양의 정수 NN, KK, LL이 주어졌을 때 N!N!의 앞 KK자리와 뒤 LL자리를 구하라.

입력

첫 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스 앞에는 빈 줄이 하나 있다.

각 테스트 케이스는 공백으로 구분된 양의 정수 NN, KK, LL이 한 줄에 주어진다. KK와 LL은 모두 N!N!의 자릿수를 넘지 않는다.

출력

각 테스트 케이스마다 공백으로 구분된 두 문자열 AA와 BB를 한 줄에 출력한다. AA는 N!N!의 앞 KK자리로 이루어진 문자열이고, BB는 N!N!의 뒤 LL자리로 이루어진 문자열이다.

제한

1≤T≤1011 \le T \le 101

예제1

  1. 예제 1

    입력
    3
    
    6 2 1
    
    10 3 2
    
    8 5 5
    
    예상 출력
    72 0
    362 00
    40320 40320