A. Perfect Permutation

time limit per test: 2 seconds

memory limit per test: 256 megabytes

input: standard input

output: standard output

A permutation is a sequence of integers p1, p2, ..., pn, consisting of n distinct positive integers, each of them doesn't exceed n. Let's denote the i-th element of permutation p as pi. We'll call number n the size of permutation p1, p2, ..., pn.

Nickolas adores permutations. He likes some permutations more than the others. He calls such permutations perfect. A perfect permutation is such permutation p that for any i (1 ≤ i ≤ n) (n is the permutation size) the following equations hold ppi = i and pi ≠ i. Nickolas asks you to print any perfect permutation of size n for the given n.

Input

A single line contains a single integer n (1 ≤ n ≤ 100) — the permutation size.

Output

If a perfect permutation of size n doesn't exist, print a single integer -1. Otherwise print n distinct integers from 1 to np1, p2, ..., pn — permutation p, that is perfect. Separate printed numbers by whitespaces.

Examples

input

1

output

-1

input

2

output

2 1

input

4

output

2 1 4 3 
  • 关键是两个公式:ppi = i and pi ≠ i.;把奇偶两位互换即可,当然n得是偶数;
  • #include <iostream>
    
    using namespace std;
    
    int main()
    {
    int n;
    cin >> n;
    if( n % 2 == 1 )
    {
    cout << -1 <<endl;
    }
    else
    {
    int i, a[101];
    for( i=1; i<=n; i++ )
    {
    if( i % 2 == 1 )
    {
    a[i] = i + 1;
    }
    else
    {
    a[i] = i - 1;
    }
    }
    for( i=1; i<n; i++ )
    {
    cout << a[i] << " ";
    }
    cout << a[i] << endl;
    }
    return 0;
    }

最新文章

  1. JDBC介绍
  2. linq 日期分组统计
  3. css多栏自适应布局
  4. iOS 初步单元测试
  5. js 一些技巧
  6. convert2Mp4 code snippet
  7. alpha预乘
  8. oracle8
  9. Cent OS 命令行和窗口界面默认登录切换方法
  10. 转:CentOS6.3配置yum源
  11. CSS之box-sizing的用处简单介绍
  12. 【one day one linux】find 用法详解小记
  13. TrueType字体的后缀名解释
  14. 用excel记录测试bug问题总结
  15. 论文笔记:Joint Embeddings of Shapes and Images via CNN Image Purification
  16. 浅谈Java简单实现的生产者与消费者问题
  17. springboot学习章节代码-spring高级话题
  18. 软件项目第一次sprint评分表
  19. 基于DPI(深度报文解析)的应用识别
  20. 一些unity问题的收集

热门文章

  1. python:for语句的使用方法
  2. 第一篇&amp;nbsp;UCOS介绍
  3. 数论Keynote
  4. Solr查询过程源码分析
  5. map两种插入方法解析(insert() 与 下标[]操作)
  6. Linux 搭建NFS文件服务器实现文件共享
  7. c++ (proxy)代理模式
  8. php格式化时间戳显示友好的时间
  9. 383. Ransom Note 在字典数组中查找笔记数组
  10. 19-字符串匹配(kmp || substr,find)