时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
            空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
             64bit IO Format: %lld
        
     
    题目描述
        
        
    
            
               如图所示为一个由n个圆圈构成的圆环。将自然数1,2,...,n放入圆圈内,并且要求任意两个相邻的圆圈内的数字之和为素数。请问给你圆圈数,你能给出放置自然数的所有正确方案吗? 
 注意:圆圈中的数字一定是从1开始的,并且连续不重复。
 
                            输入描述:
                                                    输入包含多组测试数据。每组输入占一行,为整数n(0<n<20),表示圆圈数。
                                                                            输出描述:
                                                    对于每组输入,输出所有正确的方案,按字典序从小到大排序。每组输出后输出一个空行。具体输出格式见输出样例。
                                                                            
                        
                            示例1
                        
                        
                            
                            
                                                                    输出
                                                                复制
                                
                                
                                    Case 1:
1 4 3 2 5 6
1 6 5 2 3 4
Case 2:
1 2 3 8 5 6 7 4
1 2 5 8 3 4 7 6
1 4 7 6 5 8 3 2
1 6 7 4 3 8 5 2
                                 
                             
                                                     
                     
                                                        备注:
                注意:只能按照顺时针方向放置数字。