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 A {
  	public static void main (String[] args) throws IOException {
  		Kattio io = new Kattio();
  		int t = io.nextInt();
  		for (int ii=0; ii<t; ii++) {
  			int n = io.nextInt();
  
  			if (n%18 == 0) {
  				System.out.println(30*(n/18) - (30) + 29);
  				continue;
  			}
  
  			if (n<=18) {
  				int count = 0;
  				for (int i=1; i<=30; i++) {
  					if (i%3 == 0 || i%10 == 3) continue;
  					count++;
  					if (count == n) {
  						System.out.println(i);
  						break;
  					}
  				}
  			} else {
  				int multi = n/18;
  				n = n%18;
  				int count = 0;
  				for (int i=1; i<=30; i++) {
  					if (i%3 == 0 || i%10 == 3) continue;
  					count++;
  					if (count == n) {
  						System.out.println(30*multi + i);
  						break;
  					}
  				}
  			}
  		}
  	}
  
  	static class Kattio extends PrintWriter {
  		private BufferedReader r;
  		private StringTokenizer st;
  
  		// standard input
  		public Kattio() { this(System.in, System.out); }
  		public Kattio(InputStream i, OutputStream o) {
  			super(o);
  			r = new BufferedReader(new InputStreamReader(i));
  		}
  		// USACO-style file input
  		public Kattio(String problemName) throws IOException {
  			super(new FileWriter(problemName + ".out"));
  			r = new BufferedReader(new FileReader(problemName + ".in"));
  		}
  
  		// returns null if no more input
  		public String next() {
  			try {
  				while (st == null || !st.hasMoreTokens())
  					st = new StringTokenizer(r.readLine());
  				return st.nextToken();
  			} catch (Exception e) { }
  			return null;
  		}
  
  		public int nextInt() { return Integer.parseInt(next()); }
  		public double nextDouble() { return Double.parseDouble(next()); }
  		public long nextLong() { return Long.parseLong(next()); }
  	}
  }