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 gcd(long long a, long long b) {
    if (b == 0) return a;
    return gcd(b, a % b);
  }
  long long lcm(long long a, long long b) { return a * b / gcd(a, b); }
  bool cmp(pair<long long, long long> p1, pair<long long, long long> p2) {
    if (p1.second == p2.second) return p1.first < p2.first;
    return p1.second < p2.second;
  }
  long long solve(long long a, long long b, long long k) {
    if (a % k == 0) return (b / k - a / k + 1);
    return b / k - a / k;
  }
  int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    long long t = 1;
    cin >> t;
    long long ar[1001];
    long long i = 1, j = 1;
    while (j < 1001) {
      if (((i % 3) != 0) && ((i % 10) != 3)) ar[j++] = i;
      i++;
    }
    while (t--) {
      long long k;
      cin >> k;
      cout << ar[k] << "\n";
    }
    return 0;
  }
  