lo

Dãy số đẹp

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 7

Cho 2 số nguyên dương S và K. Một dãy số nguyên dương A = (A1, A2, …, An) được goi là một dãy số đẹp khi thỏa mãn 2 điều kiện:

  • 1 <= A1 < A2 < … < An < S
  • Với mỗi bộ số (x1, x2, …, xn) nguyên không âm bất kỳ, A1x1 + A2x2 + … + Anxn khác S

Gọi A = (A1, A2, … , An) là dãy số đẹp có giá trị n lớn nhất với thứ tự từ điển nhỏ nhất, đưa ra giá trị AK hoặc -1 nếu K > N

Cho T bộ test, hãy đưa ra kết quả của từng bộ test.

Giới hạn:

  • T <= 1000
  • 3 <= S <= 1018
  • 1 <= K < S

Input:

Gồm T + 1 dòng

  • Dòng 1 chứa số T, chỉ số bộ test
    • Dòng 2 đến T + 1, mỗi dòng chứa 2 số nguyên S và K

Output:

Gồm T dòng, mỗi dòng in ra kết quả của bộ test

Sample:

5  
3 1  
7 4  
10 3  
2022 507  
1000000000000000000 999999999999999999

Output:

2  
-1  
8  
1351  
-1

Subtask:

  • Sub 1: S <= 500 (50%)
  • Sub 2: Giới hạn mặc định của đề

Bắn cung

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 6

Tại một trường bắn, một cung thủ thực hiện N phát bắn vào một mục tiêu có M vòng điểm.

Mục tiêu có thể được mô tả như sau

  • Tâm của mục tiêu có tọa độ 0 (R0 = 0).
  • Với i = 0, 1, ..., M - 1, nếu mũi tên có khoảng cách so với tâm trong khoảng từ Ri đến Ri+1, cung thủ được Si điểm.
  • Nếu mũi tên có khoảng cách so với tâm lớn hơn SM, cung thủ không được điểm
  • Mũi tên bắn càng gần tâm, điểm càng cao (S0 > S1 > ... > SM)

Một luật đặc biệt được áp dụng: 2 mũi tên bất kỳ phải cách nhau ít nhất D

Tìm số điểm lớn nhất mà cung thủ có thể đạt được

Giới hạn:

  • 1 <= N, M <= 105
  • 1 <= D <= 106
  • 0 = R0 < R1 < ... < RM < 1011
  • 1011 >= S0 > ... > SM-1 > 0
  • Tất cả số liệu đều là số nguyên

Input: Gồm 3 dòng

  • Dòng 1: Gồm 3 số N, M, D
  • Dòng 2: Gồm M + 1 số R0, R1, ..., RM
  • Dòng 3: Gồm M số S0, S1, ..., SM-1

Output:

Gồm 1 dòng là kết quả bài toán

Sample:

3 3 3
0 2 5 6
90 60 30

Output:

240

Subtask:

  • Sub 1: 1 <= N, M, D <= 100 (25%)
  • Sub 2: 1 <= M, D <= 1000 (25%)
  • Sub 3: Giới hạn mặc định (50%)

Mã hóa xâu

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 7

Mã hóa này được mô tả bởi hai chuỗi ~A~ và ~B~ , trong đó mỗi ký tự ở chuỗi ~A~ được ánh xạ tới một ký tự tương ứng trong chuỗi ~B~ . Ví dụ, nếu:

  • ~A~ = abcdefghijklmnopqrstuvwxyz
  • ~B~ = zyxwvutsrqponmlkjihgfedcba
  • thì a sẽ được ánh xạ thành z, b sẽ thành y, ....

Nhưng nếu chỉ mã hóa 1 lần thì quá dễ đoán, nên việc mã hóa được lặp lại ~N~ lần. Hãy đưa ra xâu ~S~ sau khi được mã hóa ~N~ lần

Input

Dòng 1: xâu S gồm toàn ký tự latin in thường

Dòng thứ 2 chứa 1 số nguyên ~N~

2 dòng tiếp theo chứa 2 xâu ~A~ và ~B~ là hoán vị của bảng chữ cái latin tiếng Anh chỉ mã hóa của đề bài

Output

Một xâu là mã hóa của ~S~ sau ~N~ lần

Giới hạn

  • Sub 1: ~N~ = 1
  • Sub 2: ~N, |S| <= 2000~
  • Sub 3: ~N <= 10^5~
  • Sub 4: ~N <= 10^9, |S| <= 10^5~

Test mẫu

Input

hnoi
2
abcdefghijklmnopqrstuvwxyz
pnudzgabijkyehlrqxfmsctovw

Output

nbyi