시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB894907613.843%

문제

스타트링크가 입주한 사무실은 방 번호를 직접 정할 수 있다. 방 번호를 정하려면 1층 문방구에서 파는 숫자를 구매해야 한다. 숫자를 구매하기 위해 준비한 금액은 M원이다.

문방구에서 파는 숫자는 0부터 N-1까지이고, 각 숫자 i의 가격은 Pi이다. 문방구에서는 같은 숫자를 여러 개 구매할 수 있고, 문방구는 매우 많은 재고를 보유하고 있기 때문에, 항상 원하는 만큼 숫자를 구매할 수 있다. 방 번호가 0이 아니라면 0으로 시작할 수 없다.

예를 들어, N = 3, M = 21, P0 = 6, P1 = 7, P2 = 8이라면, 만들 수 있는 가장 큰 방 번호는 210이다. 최대 M원을 사용해서 만들 수 있는 가장 큰 방 번호를 구해보자.

입력

첫째 줄에 N이 주어진다. 둘째 줄에는 공백으로 구분된 P0, ..., PN-1이 주어진다. 마지막 줄에는 M이 주어진다.

출력

첫째 줄에 최대 M원을 사용해서 만들 수 있는 가장 큰 방 번호의 자릿수를 출력한다. 가장 큰 방 번호를 X라고 했을 때, 둘째 줄에는 X의 처음 50자리를 출력하고, 셋째 줄에는 마지막 50자리를 출력한다. 만약, X의 자릿수가 50보다 작은 경우 둘째 줄과 셋째 줄에는 X를 출력한다. 만약, M원을 모두 사용해서 방 번호를 만들 수 없는 경우에는 첫째 줄에 0을 출력하고, 둘째 줄과 셋째 줄에는 아무것도 출력하지 않아야 한다.

제한

  • 1 ≤ N ≤ 10
  • 1 ≤ Pi ≤ 1018
  • 0 ≤ M ≤ 1018
  • N, Pi, M은 정수

예제 입력 1

3
6 7 8
21

예제 출력 1

3
210
210

예제 입력 2

3
1 7 8
21

예제 출력 2

15
100000000000000
100000000000000

예제 입력 3

10
1 1 1 1 1 1 1 1 1 1
923372036854775807

예제 출력 3

923372036854775807
99999999999999999999999999999999999999999999999999
99999999999999999999999999999999999999999999999999

예제 입력 4

2
1 923372036854775807
923372036854775807

예제 출력 4

1
1
1

예제 입력 5

2
1 923372036854775806
923372036854775807

예제 출력 5

2
10
10

예제 입력 6

3
1 5 10
10

예제 출력 6

6
100000
100000

예제 입력 7

2
1 923372036854775807
923372036854775806

예제 출력 7

1
0
0

예제 입력 8

2
1 10
1000000

예제 출력 8

999991
10000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000

출처