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: import java.io.*;
  import java.util.*;
  
  public class Main {
      public static void main(String[] args) throws IOException {
          //br = new BufferedReader(new FileReader("input.txt"));
          //out = new PrintWriter("output.txt");
          int t = nextInt();
          long[]a=new long[100000];
          int idx=0;
          for (int i = 1; i <= 100000; i++) {
              if(i%3!=0&&i%10!=3){a[idx]=i;idx++;}
          }
          for (int i = 0; i < t; i++) {
              int k = nextInt();
              out.println(a[k-1]);
          }
          out.close();
      }
  
      static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      static PrintWriter out = new PrintWriter(System.out);
      static StringTokenizer in = new StringTokenizer("");
  
  
      public static boolean hasNext() throws IOException {
          if (in.hasMoreTokens()) return true;
          String s;
          while ((s = br.readLine()) != null) {
              in = new StringTokenizer(s);
              if (in.hasMoreTokens()) return true;
          }
          return false;
      }
  
      public static String nextToken() throws IOException {
          while (!in.hasMoreTokens()) {
              in = new StringTokenizer(br.readLine());
          }
          return in.nextToken();
      }
  
      public static int nextInt() throws IOException {
          return Integer.parseInt(nextToken());
      }
  
      public static long nextLong() throws IOException {
          return Long.parseLong(nextToken());
      }
  
      public static double nextDouble() throws IOException {
          return Double.parseDouble(nextToken());
      }
  }
  
  class Ayo implements Comparable<Ayo> {
      long x;
      int idx;
      int type;
  
      Ayo(long x, int idx, int type) {
          this.x = x;
          this.idx = idx;
          this.type = type;
      }
  
      public int compareTo(Ayo o) {
          if (x == o.x) return -Integer.compare(type, o.type);
          else return Long.compare(x, o.x);
      }
  }