fork download
  1. #include <algorithm>
  2. #include <iomanip>
  3. #include <iostream>
  4. #include <vector>
  5. #include <set>
  6. #include <numeric>
  7. #include <map>
  8. #include <unordered_map>
  9. #include <stack>
  10. #include <queue>
  11. using namespace std;
  12. #define all(a) a.begin(), a.end()
  13. #define ll long long
  14. #define fo(i,n) for (long long i = 0; i < n; i++)
  15. ll formula (ll a)
  16. {
  17. return a*(a+1)/2;
  18. }
  19. ll check (ll n)
  20. {
  21. return (n == 1 || n == 36 || n == 1225 || n == 41616 || n == 1413721 || n == 48024900 || n == 1631432881 || n == 55420693056);
  22. }
  23. int main()
  24. {
  25. ll i,a,b,c,n;
  26. ios_base::sync_with_stdio(false);
  27. string input;
  28. cin.tie(0); cout.tie(0);
  29. cin >> i;
  30. while (i--)
  31. {
  32. ll cnt = 0;
  33. cin >> a;
  34. n = formula(a);
  35. if (check(n))
  36. {
  37. cout << -1 << '\n';
  38. }
  39. else
  40. {
  41. cout << 2 << ' ' << 1 << ' ';
  42. for (int i = 3; i <= a; i++)
  43. {
  44. if (i+1 <= a && check(formula(i+1)))
  45. {
  46. cout << i + 2 << ' ';
  47. }
  48. else if (check(formula(i-1)))
  49. {
  50. cout << i - 2 << ' ';
  51. }
  52. else
  53. {
  54. cout << i << ' ';
  55. }
  56. }
  57. cout << '\n';
  58. }
  59. }
  60. }
Success #stdin #stdout 0.01s 5288KB
stdin
1
49
stdout
-1