from __future__ import division, print_function import array import bisect import collections import decimal import fractions import functools import heapq import itertools import math import random import re import sys try: input = raw_input except NameError: pass # decimal.getcontext().prec = 50 # sys.setrecursionlimit(1000000) # MOD = 10**9 + 7 # INF = float('inf') IMPOSSIBLE = "IMPOSSIBLE" POSSIBLE = "POSSIBLE" def gcd(a, b): """greatest common divisor""" if b == 0: return a else: return gcd(b, a % b) def egcd(a, b): """return (g, x, y), a*x + b*y = gcd(x, y)""" if a == 0: return (b, 0, 1) else: g, y, x = egcd(b % a, a) return (g, x - (b // a) * y, y) def solve(f): w, n, d = f.read_int_list() x = f.read_int_list() ans = 0 for i in range(w // 2): diff = x[i] - x[w - i - 1] if diff == 0: continue g, a, b = egcd(d, -n) base = diff // g # print(f"{a}*{d} - {b}*{n} = {g}") if diff % g != 0: return IMPOSSIBLE # print(f"{a*base}*{d} - {b*base}*{n} = {g*base}") m0 = a * base cnt = m0 % (n // g) # print(g, a, b, diff, m0, cnt) ans += min(cnt, abs(cnt - n // g)) return ans class Reader(object): def __init__(self, filename=None): self.file = open(filename) if filename is not None else None self.case = 1 def __readline(self): return next(self.file).strip() if self.file else input() def next_case(self): next(self.file) self.case += 1 def read_int(self): return int(self.__readline()) def read_float(self): return float(self.__readline()) def read_decimal(self): return decimal.Decimal(self.__readline()) def read_str(self): return self.__readline() def read_int_list(self): return list(map(int, self.__readline().split())) def read_float_list(self): return list(map(float, self.__readline().split())) def read_decimal_list(self): return list(map(decimal.Decimal, self.__readline().split())) def read_str_list(self): return self.__readline().split() if __name__ == "__main__": filename = sys.argv[1] if len(sys.argv) > 1 else None f = Reader(filename) cases = f.read_int() for case in range(cases): line = "Case #%d: %s\n" % (case + 1, str(solve(f))) print(line, end="")