# Python3 program for the above approach
# Function to return the starting
# index of the subarray whose
# concatenation is divisible by X
def findSubarray(arr, K, X):
num = 0
# Generate the concatenation
# of first K length subarray
for i in range(0, K):
num = num * 10 + arr[i]
# If num is divisible by X
if num % X == 0:
return 0
i = K
# Traverse the remaining array
for j in range(i, len(arr)):
# Append the digits of arr[i]
num = ((num % int(pow(10, j - 1))) *
10 + arr[j])
# If num is divisible by X
if num % X == 0:
return j - i + 1
# No subarray exists
return -1
# Function to print the subarray in
# the range [answer, answer + K]
def print_subarray(arr, answer, K):
# No such subarray exists
if answer == -1:
print(answer)
# Otherwise
else:
# Print the subarray in the
# range [answer, answer + K]
for i in range(answer, answer + K):
print(arr[i], end = " ")
# Driver Code
if __name__ == "__main__":
# Given array arr[]
arr = [ 1, 2, 4, 5, 9,
6, 4, 3, 7, 8 ]
K = 4
X = 4
# Function call
answer = findSubarray(arr, K, X)
# Function call to print subarray
print_subarray(arr, answer, K)
# This code is contributed by akhilsaini