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.Random;
  import java.util.StringTokenizer;
  
  public class Main {
  
      static InputReader sc = new InputReader(System.in);
      static PrintWriter out = new PrintWriter(System.out);
      public static void main(String[] args) throws IOException {
  
  
          int t = sc.nextInt();
          while(t-- > 0){
              int k = sc.nextInt();
              int s = 0;
              while(k-- > 0){
                  s++;
                  while(s % 3 == 0 || s % 10 == 3) {
                      s++;
                  }
              }
              out.println(s);
  
          }
          out.flush();
          out.close();
      }
  
      private static class InputReader {
          public BufferedReader reader;
          public StringTokenizer tokenizer;
  
          public InputReader(InputStream stream) {
              reader = new BufferedReader(new InputStreamReader(stream), 32768);
              tokenizer = null;
          }
  
          public String next() {
              while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                  try {
                      tokenizer = new StringTokenizer(reader.readLine());
                  } catch (IOException e) {
                      throw new RuntimeException(e);
                  }
              }
              return tokenizer.nextToken();
          }
  
          public int nextInt() {
              return Integer.parseInt(next());
          }
  
          public long nextLong() {
              return Long.parseLong(next());
          }
  
          public double nextDouble(){ return Double.parseDouble(next()); }
      }
  
      void shuffleArray(long[] arr){
          int n = arr.length;
          Random rnd = new Random();
          for(int i=0; i<n; ++i){
              long tmp = arr[i];
              int randomPos = i + rnd.nextInt(n-i);
              arr[i] = arr[randomPos];
              arr[randomPos] = tmp;
          }
      }
  
  }
  