fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. #define ll long long
  6. #define ull unsigned ll
  7. #define ld long double
  8. typedef vector<int> vi;
  9. typedef multiset<int> mi;
  10. typedef multiset<ll> mll;
  11. typedef vector<ll> vll;
  12. typedef vector<bool> vb;
  13. typedef vector<string> vs;
  14. typedef set<ll> sll;
  15. typedef vector<vector<int>> _2vi;
  16. typedef vector<vector<ll>> _2vll;
  17. #define all(v) ((v).begin()), ((v).end())
  18. #define sz(v) ((ll)((v).size()))
  19.  
  20. #define vinp(v, n) \
  21.   for (ull i = 0; i < (n); i++) \
  22.   cin >> (v)[i]
  23. #define printv(v) \
  24.   for (auto i : (v)) \
  25.   cout << i << " "
  26. #define fr0(i, n) for (ull(i) = 0; (i) < (n); (i)++)
  27. #define fr1(i, n) for (ull(i) = 1; (i) < (n); (i)++)
  28. #define fr(i, x, n) for (ull(i) = (x); (i) < (n); (i)++)
  29. #define _CRT_SECURE_NO_WARNING
  30. const ll MOD = 1000000007;
  31.  
  32. void Bustany() {
  33. ios_base::sync_with_stdio(false);
  34. cin.tie(NULL);
  35. cout.tie(NULL);
  36. #ifndef ONLINE_JUDGE
  37. freopen("./in.txt", "r", stdin), freopen("./out.txt", "w", stdout);
  38. #endif
  39. }
  40.  
  41. const ll N = 2e5 + 5;
  42. vector<sll> adj(N);
  43. //_2vll adj(N,vll(N));
  44. vb vis;
  45. map<ll, ll> mp;
  46.  
  47. void solve() {
  48. ll n;
  49. cin >> n;
  50. mp[0] = 6;
  51. mp[1] = 2;
  52. mp[2] = 5;
  53. mp[3] = 5;
  54. mp[4] = 4;
  55. mp[5] = 5;
  56. mp[6] = 6;
  57. mp[7] = 3;
  58. mp[8] = 7;
  59. mp[9] = 6;
  60. //min value = min length
  61. //488888 /39
  62. //208888 /
  63. //238888
  64. //max
  65. //7111111111
  66. string max = "";
  67. if (n % 2) {
  68. max += '7';
  69. for (ll i = 0; i < (n / 2) - 1; i++) {
  70. max += '1';
  71. }
  72. } else {
  73. for (ll i = 0; i < n / 2; i++) {
  74. max += '1';
  75. }
  76. }
  77. string min = "";
  78. map<ll, ll> mpp;
  79. mpp[2] = 1;
  80. mpp[3] = 7;
  81. mpp[4] = 4;
  82. mpp[5] = 2;
  83. mpp[6] = 6;
  84. mpp[7] = 8;
  85. if (n <= 7) {
  86. cout << mpp[n] << " " << max << endl;
  87. return;
  88. }
  89. for (ll i = 0; i < (n / 7) - 1; i++) {
  90. min += '8';
  91. }
  92. n %= 7;
  93. n += 7;
  94. if (n == 7) {
  95. min += '8';
  96. } else if (n == 8) {
  97. min = "10" + min;
  98. } else if (n == 9) {
  99. min = "18" + min;
  100. } else if (n == 10) {
  101. if (!min.empty()) {
  102. min.pop_back();
  103. min = "200" + min;
  104. } else
  105. min = "22" + min;
  106. } else if (n == 11) {
  107. min = "20" + min;
  108. } else if (n == 12) {
  109. min = "28" + min;
  110. } else if (n == 13) {
  111. min = "68" + min;
  112. }
  113. cout << min << " " << max << endl;
  114. }
  115.  
  116. int main() {
  117. Bustany();
  118. ll t = 1;
  119. cin >> t;
  120. while (t--) {
  121. solve();
  122. }
  123. }
Success #stdin #stdout 0.01s 12528KB
stdin
Standard input is empty
stdout
0