// ITP1_5_D Structured Programming
import java.util.*;

class Main {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      int n = Integer.parseInt(sc.next());
      for (int i = 1; i <= n; i++) {
         int x = i;
         if (x % 3 == 0) {
            System.out.print(" " + i);
         } else {
            while (x != 0) {
               if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               }
               x /= 10;
            }
         }
      }
      System.out.println();
   }
} import java.util.*; util.* java class Main {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      int n = Integer.parseInt(sc.next());
      for (int i = 1; i <= n; i++) {
         int x = i;
         if (x % 3 == 0) {
            System.out.print(" " + i);
         } else {
            while (x != 0) {
               if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               }
               x /= 10;
            }
         }
      }
      System.out.println();
   }
} Main public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      int n = Integer.parseInt(sc.next());
      for (int i = 1; i <= n; i++) {
         int x = i;
         if (x % 3 == 0) {
            System.out.print(" " + i);
         } else {
            while (x != 0) {
               if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               }
               x /= 10;
            }
         }
      }
      System.out.println();
   } main {
      Scanner sc = new Scanner(System.in);
      int n = Integer.parseInt(sc.next());
      for (int i = 1; i <= n; i++) {
         int x = i;
         if (x % 3 == 0) {
            System.out.print(" " + i);
         } else {
            while (x != 0) {
               if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               }
               x /= 10;
            }
         }
      }
      System.out.println();
   } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int n = Integer.parseInt(sc.next()); n Integer.parseInt(sc.next()) Integer.parseInt Integer sc.next() sc.next sc for (int i = 1; i <= n; i++) {
         int x = i;
         if (x % 3 == 0) {
            System.out.print(" " + i);
         } else {
            while (x != 0) {
               if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               }
               x /= 10;
            }
         }
      } int i = 1; int i = 1; i 1 i <= n i n i++ i++ i {
         int x = i;
         if (x % 3 == 0) {
            System.out.print(" " + i);
         } else {
            while (x != 0) {
               if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               }
               x /= 10;
            }
         }
      } {
         int x = i;
         if (x % 3 == 0) {
            System.out.print(" " + i);
         } else {
            while (x != 0) {
               if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               }
               x /= 10;
            }
         }
      } int x = i; x i if (x % 3 == 0) {
            System.out.print(" " + i);
         } else {
            while (x != 0) {
               if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               }
               x /= 10;
            }
         } x % 3 == 0 x % 3 x 3 0 {
            System.out.print(" " + i);
         } System.out.print(" " + i) System.out.print System.out System System.out " " + i " " i {
            while (x != 0) {
               if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               }
               x /= 10;
            }
         } while (x != 0) {
               if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               }
               x /= 10;
            } x != 0 x 0 {
               if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               }
               x /= 10;
            } if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               } x % 10 == 3 x % 10 x 10 3 {
                  System.out.print(" " + i);
                  break;
               } System.out.print(" " + i) System.out.print System.out System System.out " " + i " " i break; x /= 10 x 10 System.out.println() System.out.println System.out System System.out String[] args args
// ITP1_5_D Structured Programming
import java.util.*;

class Main {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      int n = Integer.parseInt(sc.next());
      for (int i = 1; i <= n; i++) {
         int x = i;
         if (x % 3 == 0) {
            System.out.print(" " + i);
         } else {
            while (x != 0) {
               if (x % 10 == 3) {
                  System.out.print(" " + i);
                  break;
               }
               x /= 10;
            }
         }
      }
      System.out.println();
   }
}