def solution(n, t, m, p):
# ๋ฌด์กฐ๊ฑด 0์ ํ๋ฒ ํฌํจ๋๋ฏ๋ก answer='0'
answer = '0'
# 10~15๊น์ง๋ฅผ A~F์ ๋งคํ์ํค๊ธฐ ์ํ mapper
mapper = "0123456789ABCDEF"
# 1๋ถํฐ ์ซ์๋ฅผ ๋์ฌ๊ฐ๋ฉฐ n์ง์๋ฅผ ๊ตฌํด๋ณธ๋ค.
target = 1
# ์ด ๊ตฌํด์ผ ํ๋ ๊ฐฏ์๋ t*m๊ฐ๋ณด๋ค ์๋ค.
while len(answer) < t * m:
# ๊ณ์ ๋๋ ์์ ์ด๋ฏ๋ก ์๋ก์ด ๋ณ์์ ๋ณต์ฌํ๋ค.
temp_number = target
# n์ง์๋ก ๊ธฐ๋กํ ๋ณ์ temp_answer
temp_answer = ""
# n์ง์ ๊ตฌํ๊ธฐ๊ฐ ๋๋ ๋๊น์ง while
while temp_number:
# n์ผ๋ก ๊ณ์ ๋๋๋ฉฐ ๋์ค๋ ๋๋จธ์ง๋ฅผ temp_answer ์ ์ชฝ์ ๋ํ๋ค
temp_answer = mapper[temp_number % n] + temp_answer
# temp_number๋ ํ๋ฒ ๊ณ์ฐ๋ ์ดํ์๋ ๋๋จธ์ง๋ฅผ ๋ฒ๋ฆฐ ๋ชซ์ด ํ์ํ๋ค
temp_number //= n
# n์ง์๋ฅผ ๋ค ๊ตฌํ๋ค๋ฉด ์ต์ข
๋ต์์ธ answer์ ๋ํ๋ค
answer += temp_answer
# ๋ค์๋ฒ์๋ 1๋งํผ ํฐ ์์ n์ง์๋ฅผ ๊ตฌํ ์ค๋น๋ฅผ ํ๋ค
target += 1
# ์ ๋ต์ p-1๋ฒ๋ถํฐ ์์ํ์ฌ m๋งํผ ๊ฑด๋๋ฐ๋ฉฐ t*m๊น์ง ๊ตฌํ๋ฉด ๋๋ค
return answer[p - 1:t * m:m]