# Prime Ring Problem ###### tags: `recursive` `back-tracking` > [name=Jason Lin] Source: [UVa 524](https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=7&page=show_problem&problem=465) ```python= #main back-tracking function def primering(r): if len(r) == n and ((r[0]+r[-1]) in p): print(*r) return True flag = 0 for i in range(1,n+1): if i in r: continue if (i+r[-1]) in p: r.append(i) if primering(r): flag=1 r.pop(-1) if flag: return True return False #generate a list of primes from 2 to 2k def prime(k): p = [] for i in range(2,2*k): if p == []: p.append(i) isprime = 1 for j in p: if i%j == 0: isprime = 0 if isprime: p.append(i) return p n = eval(input()) p = prime(n) pr = [] primering([1]) ```