import java.io.*;
import java.util.Scanner;


public class Main {
    public static void main(String[] args)throws Exception{
        Scanner scan = new Scanner(System.in);
        int n =scan.nextInt();
        String st = "";
        for(int i = 0;i <= n - 1;i++){
            //3の倍数
            if((i + 1) % 3 == 0){
                st += " " + (i + 1);
            }
            //1の位が3
            else if((i + 1) % 10 == 3){
                st += " " + (i + 1);
            }
            //10の位が3
            else if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            }
        }
        System.out.println(st);
    }
} import java.io.*; io.* java import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args)throws Exception{
        Scanner scan = new Scanner(System.in);
        int n =scan.nextInt();
        String st = "";
        for(int i = 0;i <= n - 1;i++){
            //3の倍数
            if((i + 1) % 3 == 0){
                st += " " + (i + 1);
            }
            //1の位が3
            else if((i + 1) % 10 == 3){
                st += " " + (i + 1);
            }
            //10の位が3
            else if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            }
        }
        System.out.println(st);
    }
} Main public static void main(String[] args)throws Exception{
        Scanner scan = new Scanner(System.in);
        int n =scan.nextInt();
        String st = "";
        for(int i = 0;i <= n - 1;i++){
            //3の倍数
            if((i + 1) % 3 == 0){
                st += " " + (i + 1);
            }
            //1の位が3
            else if((i + 1) % 10 == 3){
                st += " " + (i + 1);
            }
            //10の位が3
            else if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            }
        }
        System.out.println(st);
    } main {
        Scanner scan = new Scanner(System.in);
        int n =scan.nextInt();
        String st = "";
        for(int i = 0;i <= n - 1;i++){
            //3の倍数
            if((i + 1) % 3 == 0){
                st += " " + (i + 1);
            }
            //1の位が3
            else if((i + 1) % 10 == 3){
                st += " " + (i + 1);
            }
            //10の位が3
            else if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            }
        }
        System.out.println(st);
    } Scanner scan = new Scanner(System.in); scan new Scanner(System.in) int n =scan.nextInt(); n scan.nextInt() scan.nextInt scan String st = ""; st "" for(int i = 0;i <= n - 1;i++){
            //3の倍数
            if((i + 1) % 3 == 0){
                st += " " + (i + 1);
            }
            //1の位が3
            else if((i + 1) % 10 == 3){
                st += " " + (i + 1);
            }
            //10の位が3
            else if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            }
        } int i = 0; int i = 0; i 0 i <= n - 1 i n - 1 n 1 i++ i++ i {
            //3の倍数
            if((i + 1) % 3 == 0){
                st += " " + (i + 1);
            }
            //1の位が3
            else if((i + 1) % 10 == 3){
                st += " " + (i + 1);
            }
            //10の位が3
            else if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            }
        } {
            //3の倍数
            if((i + 1) % 3 == 0){
                st += " " + (i + 1);
            }
            //1の位が3
            else if((i + 1) % 10 == 3){
                st += " " + (i + 1);
            }
            //10の位が3
            else if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            }
        } if((i + 1) % 3 == 0){
                st += " " + (i + 1);
            }
            //1の位が3
            else if((i + 1) % 10 == 3){
                st += " " + (i + 1);
            }
            //10の位が3
            else if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            } (i + 1) % 3 == 0 (i + 1) % 3 (i + 1) i 1 3 0 {
                st += " " + (i + 1);
            } st += " " + (i + 1) st " " + (i + 1) " " (i + 1) i 1 if((i + 1) % 10 == 3){
                st += " " + (i + 1);
            }
            //10の位が3
            else if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            } (i + 1) % 10 == 3 (i + 1) % 10 (i + 1) i 1 10 3 {
                st += " " + (i + 1);
            } st += " " + (i + 1) st " " + (i + 1) " " (i + 1) i 1 if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            } (i + 1) % 100 >= 30 && (i + 1) % 100 <= 39 (i + 1) % 100 >= 30 (i + 1) % 100 (i + 1) i 1 100 30 (i + 1) % 100 <= 39 (i + 1) % 100 (i + 1) i 1 100 39 {
                st += " " + (i + 1);
            } st += " " + (i + 1) st " " + (i + 1) " " (i + 1) i 1 if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            } (i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399 (i + 1) % 1000 >= 300 (i + 1) % 1000 (i + 1) i 1 1000 300 (i + 1) % 1000 <= 399 (i + 1) % 1000 (i + 1) i 1 1000 399 {
                st += " " + (i + 1);
            } st += " " + (i + 1) st " " + (i + 1) " " (i + 1) i 1 if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            } (i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999 (i + 1) % 10000 >= 3000 (i + 1) % 10000 (i + 1) i 1 10000 3000 (i + 1) % 10000 <= 3999 (i + 1) % 10000 (i + 1) i 1 10000 3999 {
                st += " " + (i + 1);
            } st += " " + (i + 1) st " " + (i + 1) " " (i + 1) i 1 System.out.println(st) System.out.println System.out System System.out st String[] args args public class Main {
    public static void main(String[] args)throws Exception{
        Scanner scan = new Scanner(System.in);
        int n =scan.nextInt();
        String st = "";
        for(int i = 0;i <= n - 1;i++){
            //3の倍数
            if((i + 1) % 3 == 0){
                st += " " + (i + 1);
            }
            //1の位が3
            else if((i + 1) % 10 == 3){
                st += " " + (i + 1);
            }
            //10の位が3
            else if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            }
        }
        System.out.println(st);
    }
} public class Main {
    public static void main(String[] args)throws Exception{
        Scanner scan = new Scanner(System.in);
        int n =scan.nextInt();
        String st = "";
        for(int i = 0;i <= n - 1;i++){
            //3の倍数
            if((i + 1) % 3 == 0){
                st += " " + (i + 1);
            }
            //1の位が3
            else if((i + 1) % 10 == 3){
                st += " " + (i + 1);
            }
            //10の位が3
            else if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            }
        }
        System.out.println(st);
    }
} Main
import java.io.*;
import java.util.Scanner;


public class Main {
    public static void main(String[] args)throws Exception{
        Scanner scan = new Scanner(System.in);
        int n =scan.nextInt();
        String st = "";
        for(int i = 0;i <= n - 1;i++){
            //3の倍数
            if((i + 1) % 3 == 0){
                st += " " + (i + 1);
            }
            //1の位が3
            else if((i + 1) % 10 == 3){
                st += " " + (i + 1);
            }
            //10の位が3
            else if((i + 1) % 100 >= 30 && (i + 1) % 100 <= 39){
                st += " " + (i + 1);
            }
            //100の位が3
            else if((i + 1) % 1000 >= 300 && (i + 1) % 1000 <= 399){
                st += " " + (i + 1);
            }
            //1000の位が3
            else if((i + 1) % 10000 >= 3000 && (i + 1) % 10000 <= 3999){
                st += " " + (i + 1);
            }
        }
        System.out.println(st);
    }
}
