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.util.*;
  import java.io.*;
  
  public class P07 {
  	static class FastReader{
  		BufferedReader br ;
  		StringTokenizer st;
  		public FastReader() {
  			br = new BufferedReader(new InputStreamReader(System.in));
  			
  		}
  		String next() {
  			while(st==null || !st.hasMoreElements()) {
  				try {
  					st = new StringTokenizer(br.readLine());
  				}catch(IOException e) {
  					e.printStackTrace();
  				}
  			}
  			return st.nextToken();
  		}
  		
  		int nextInt() {
  			return Integer.parseInt(next());
  		}
  		
  		long nextLong() {
  			return  Long.parseLong(next());
  		}
  		
  		double nextDouble() {
  			return Double.parseDouble(next());
  		}
  		
  		float nextFloat() {
  			return Float.parseFloat(next());
  		}
  		String nextLine() {
  			String str = "";
  			try {
  				str = br.readLine();
  			}catch(IOException e) {
  				e.printStackTrace();
  			}
  			return str ;
  		}
  	}
  	
   	public static  void main(String[] args)throws IOException {
  		FastReader fs = new FastReader();
  		int a [] = new int [1001];
  		a[0]=0;
  		int j =1;
  		for(int i=1;i<=1000;i++) {
  			while(!is(j)) {
  				j++;
  			}
  			a[i]=j++;
  		}
  //		for(int i =0;i<60;i++) {
  //			System.out.print(a[i]+" ");
  //		}
  //		System.out.println();
  		int t = fs.nextInt();
  		while(t-->0) {
  			int n = fs.nextInt();
  			System.out.println(a[n]);
  		}
  		
      }
  	private static boolean is(int j) {
  		if(j%3==0) return false;
  		if(j%10==3)return false;
  		return true;
  	}
  	private static int gcd(int i, int j) {
  		if(j==0) {
  			return i;
  		}
  		return gcd(j,i%j);
  	}
  	
  }
  