description: Polycarp doesn't like integers that are divisible by 3 or end with the digit 3 in their decimal representation. Integers that meet both conditions are disliked by Polycarp, too.
  
  Polycarp starts to write out the positive (greater than 0) integers which he likes: 1, 2, 4, 5, 7, 8, 10, 11, 14, 16, .... Output the k-th element of this sequence (the elements are numbered from 1).
  
  Input
  
  The first line contains one integer t (1 ≤ t ≤ 100) — the number of test cases. Then t test cases follow.
  
  Each test case consists of one line containing one integer k (1 ≤ k ≤ 1000).
  
  Output
  
  For each test case, output in a separate line one integer x — the k-th element of the sequence that was written out by Polycarp.
  
  Example
  
  Input
  
  
  10
  1
  2
  3
  4
  5
  6
  7
  8
  9
  1000
  
  
  Output
  
  
  1
  2
  4
  5
  7
  8
  10
  11
  14
  1666
solution: #include <bits/stdc++.h>
  using namespace std;
  long long power(long long b, long long e, long long m) {
    if (e == 0) return 1;
    if (e & 1) return b * power(b * b % m, e / 2, m) % m;
    return power(b * b % m, e / 2, m);
  }
  long long power(long long b, long long e) {
    if (e == 0) return 1;
    if (e & 1) return b * power(b * b, e / 2);
    return power(b * b, e / 2);
  }
  int a[1001] = {0};
  void hack(int pp) {
    int n;
    cin >> n;
    if (a[0] == 0) {
      int t = 0;
      int k = 1;
      while (t <= 1000) {
        if (k % 3 != 0 & (k % 10) != 3) {
          a[t] = k;
          t++;
        }
        k++;
      }
    }
    cout << a[n - 1] << "\n";
  }
  int main() {
    int t = 1;
    cin >> t;
    int l = 0;
    while (t--) {
      hack(l);
      l++;
    }
    return 0;
  }
  