// #![allow(unused_imports)] // // use text_io::*; // use proconio::*; // use std::collections::*; // use itertools::{Itertools, cloned}; // use std::process::exit; // use std::cmp::*; // use num::*; // use num::integer::{Roots, gcd}; // use std::str::FromStr; // use std::io::{stdin, Read}; // use rand::prelude::ThreadRng; // use rand::Rng; // use std::mem::swap; // use num::traits::real::Real; // const I_INF: isize = 1 << 60; // const U_INF: usize = 1 << 60; fn main() { // input! { // n:usize, // } let s = { let mut s = String::new(); // バッファを確保 std::io::stdin().read_line(&mut s).unwrap(); // 一行読む。失敗を無視 s.trim_end().to_owned() // 改行コードが末尾にくっついてくるので削る }; let n = { let mut ws = s.split_whitespace(); // 空白区切りの単語に分解する let n: i32 = ws.next().unwrap().parse().unwrap(); // イテレータから値を取り出して整数に n }; if n==0 {println!("1");} else { let mut v=Vec::new(); v.push(0); v.push(1); v.push(0); for i in 1..n { v.push(0); } let v:String=v.iter().map(|a|if *a==0 {'0'}else {'1'}).collect(); println!("{}",v); } }