import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        int x = 0;
        String str = "";
        Scanner sc = new Scanner(System.in);
        Check chk = new Check();
        x = sc.nextInt();
        for(int i=1;i<x+1;i++){
            if(chk.check3X(i)){
                str += " " + Integer.toString(i);
            }else if(chk.has3(i)){
                str += " " + Integer.toString(i);
            }
        }
        System.out.println(str);

    }
}

class Check{
    boolean check3X(int a){
        if(a%3==0){
            return true;
        }
        return false;
    }

    boolean has3(int a){
        String str =  Integer.toString(a);
         for(int i=0;i<str.length();i++){
            if(str.charAt(i)=='3'){
                return true;
            }
        }
        return false;
    }
} import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args){
        int x = 0;
        String str = "";
        Scanner sc = new Scanner(System.in);
        Check chk = new Check();
        x = sc.nextInt();
        for(int i=1;i<x+1;i++){
            if(chk.check3X(i)){
                str += " " + Integer.toString(i);
            }else if(chk.has3(i)){
                str += " " + Integer.toString(i);
            }
        }
        System.out.println(str);

    }
} Main public static void main(String[] args){
        int x = 0;
        String str = "";
        Scanner sc = new Scanner(System.in);
        Check chk = new Check();
        x = sc.nextInt();
        for(int i=1;i<x+1;i++){
            if(chk.check3X(i)){
                str += " " + Integer.toString(i);
            }else if(chk.has3(i)){
                str += " " + Integer.toString(i);
            }
        }
        System.out.println(str);

    } main {
        int x = 0;
        String str = "";
        Scanner sc = new Scanner(System.in);
        Check chk = new Check();
        x = sc.nextInt();
        for(int i=1;i<x+1;i++){
            if(chk.check3X(i)){
                str += " " + Integer.toString(i);
            }else if(chk.has3(i)){
                str += " " + Integer.toString(i);
            }
        }
        System.out.println(str);

    } int x = 0; x 0 String str = ""; str "" Scanner sc = new Scanner(System.in); sc new Scanner(System.in) Check chk = new Check(); chk new Check() x = sc.nextInt() x sc.nextInt() sc.nextInt sc for(int i=1;i<x+1;i++){
            if(chk.check3X(i)){
                str += " " + Integer.toString(i);
            }else if(chk.has3(i)){
                str += " " + Integer.toString(i);
            }
        } int i=1; int i=1; i 1 i<x+1 i x+1 x 1 i++ i++ i {
            if(chk.check3X(i)){
                str += " " + Integer.toString(i);
            }else if(chk.has3(i)){
                str += " " + Integer.toString(i);
            }
        } {
            if(chk.check3X(i)){
                str += " " + Integer.toString(i);
            }else if(chk.has3(i)){
                str += " " + Integer.toString(i);
            }
        } if(chk.check3X(i)){
                str += " " + Integer.toString(i);
            }else if(chk.has3(i)){
                str += " " + Integer.toString(i);
            } chk.check3X(i) chk.check3X chk i {
                str += " " + Integer.toString(i);
            } str += " " + Integer.toString(i) str " " + Integer.toString(i) " " Integer.toString(i) Integer.toString Integer i if(chk.has3(i)){
                str += " " + Integer.toString(i);
            } chk.has3(i) chk.has3 chk i {
                str += " " + Integer.toString(i);
            } str += " " + Integer.toString(i) str " " + Integer.toString(i) " " Integer.toString(i) Integer.toString Integer i System.out.println(str) System.out.println System.out System System.out str String[] args args class Check{
    boolean check3X(int a){
        if(a%3==0){
            return true;
        }
        return false;
    }

    boolean has3(int a){
        String str =  Integer.toString(a);
         for(int i=0;i<str.length();i++){
            if(str.charAt(i)=='3'){
                return true;
            }
        }
        return false;
    }
} Check boolean check3X(int a){
        if(a%3==0){
            return true;
        }
        return false;
    } check3X {
        if(a%3==0){
            return true;
        }
        return false;
    } if(a%3==0){
            return true;
        } a%3==0 a%3 a 3 0 {
            return true;
        } return true; true return false; false int a a boolean has3(int a){
        String str =  Integer.toString(a);
         for(int i=0;i<str.length();i++){
            if(str.charAt(i)=='3'){
                return true;
            }
        }
        return false;
    } has3 {
        String str =  Integer.toString(a);
         for(int i=0;i<str.length();i++){
            if(str.charAt(i)=='3'){
                return true;
            }
        }
        return false;
    } String str =  Integer.toString(a); str Integer.toString(a) Integer.toString Integer a for(int i=0;i<str.length();i++){
            if(str.charAt(i)=='3'){
                return true;
            }
        } int i=0; int i=0; i 0 i<str.length() i str.length() str.length str i++ i++ i {
            if(str.charAt(i)=='3'){
                return true;
            }
        } {
            if(str.charAt(i)=='3'){
                return true;
            }
        } if(str.charAt(i)=='3'){
                return true;
            } str.charAt(i)=='3' str.charAt(i) str.charAt str i '3' {
                return true;
            } return true; true return false; false int a a public class Main {
    public static void main(String[] args){
        int x = 0;
        String str = "";
        Scanner sc = new Scanner(System.in);
        Check chk = new Check();
        x = sc.nextInt();
        for(int i=1;i<x+1;i++){
            if(chk.check3X(i)){
                str += " " + Integer.toString(i);
            }else if(chk.has3(i)){
                str += " " + Integer.toString(i);
            }
        }
        System.out.println(str);

    }
} public class Main {
    public static void main(String[] args){
        int x = 0;
        String str = "";
        Scanner sc = new Scanner(System.in);
        Check chk = new Check();
        x = sc.nextInt();
        for(int i=1;i<x+1;i++){
            if(chk.check3X(i)){
                str += " " + Integer.toString(i);
            }else if(chk.has3(i)){
                str += " " + Integer.toString(i);
            }
        }
        System.out.println(str);

    }
} Main
import java.util.Scanner;

public class Main {
    public static void main(String[] args){
        int x = 0;
        String str = "";
        Scanner sc = new Scanner(System.in);
        Check chk = new Check();
        x = sc.nextInt();
        for(int i=1;i<x+1;i++){
            if(chk.check3X(i)){
                str += " " + Integer.toString(i);
            }else if(chk.has3(i)){
                str += " " + Integer.toString(i);
            }
        }
        System.out.println(str);

    }
}

class Check{
    boolean check3X(int a){
        if(a%3==0){
            return true;
        }
        return false;
    }

    boolean has3(int a){
        String str =  Integer.toString(a);
         for(int i=0;i<str.length();i++){
            if(str.charAt(i)=='3'){
                return true;
            }
        }
        return false;
    }
}