def findDigits(n):
    # Write your code here
    cnt = 0
    for i in str(n):
        i = int(i)
        if i == 0:
            continue
        else:
            if n % i == 0:
                cnt += 1
                
    return cnt
def jumpingOnClouds(c, k):
    e = 100    # 에너지
    n = len(c)
    s = 0      # 시작은 0부터
    while True:
        s = (s + k) % n    # jump
        e -= (c[s] * 2) + 1 # thundercloud면 2가 추가로 감소
        
        # 시작점(0)으로 다시 되돌아가면 게임이 끝남
        if not s:
            break
        
    return e
def permutationEquation(p):
    # Write your code here
    result = [0] * len(p)
    
    for n in p:
        next_ = p[n - 1]
        next__ = p[next_ - 1]
        result[next__ - 1] = n
        
    return result

 

def circularArrayRotation(a, k, queries):
    # Write your code here
    n = len(a)
    result = [0] * n
    
    # 해당 자리에서 k만큼 이동시켜주고, 회전(n)
    for i in range(n):
        result[(i + k) % n] = a[i]
        
    return [result[q] for q in queries]
    
    
# 아래는 바로 결괏값(참고함)
# n-k로 테이블 돌려서 기준 맞춰주고, q만큼 이동, 회전이므로 % n
def circularArrayRotation(a, k, queries):
    # Write your code here
    result = []
    n = len(a)
    
    for q in queries:
        result.append(a[(n - k + q) % n])
        
    return result
# n으로 나눠주는 이유는 [5, 4, 3]인 경우를 생각
def saveThePrisoner(n, m, s):
    # Write your code here
    result = (m - 1 + s) % n
    
    return n if not result else result