# 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])
```