In the beginning of the new year Keivan decided to reverse his name. He doesn't like palindromes, so he changed Naviek to Navick.

He is too selfish, so for a given n he wants to obtain a string of n characters, each of which is either 'a', 'b' or 'c', with no palindromes of length 3 appearing in the string as a substring. For example, the strings "abc" and "abca" suit him, while the string "aba" doesn't. He also want the number of letters 'c' in his string to be as little as possible.

Input

The first line contains single integer n (1 ≤ n ≤ 2·105) — the length of the string.

Output

Print the string that satisfies all the constraints.

If there are multiple answers, print any of them.

Examples

Input

2


Output

aa


Input

3


Output

bba

Note

A palindrome is a sequence of characters which reads the same backward and forward.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.util.Comparator;
import java.util.StringTokenizer;


/**
 *
 * @author Harsh Vardhan Kumar
 */
public class newMain1 {
    static boolean eof = false ;
    static boolean flag = true ;
    static String string = null ;
    public static void main(String[] args) throws FileNotFoundException {
        PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter((System.out))), true ) ;
        Reader in = new Reader(new BufferedReader(new InputStreamReader(System.in))) ;
        
        int n = in.nextInt() ;
        String s = "aabb" ;
        int k = n/4 ;
        int m = n%4 ;
        StringBuilder stringBuilder = new StringBuilder();
        
        for(int i = 0 ; i<k ; i++) {
            stringBuilder.append(s) ;
        }
        stringBuilder.append(s.substring(0, m));
        out.println(stringBuilder);
    }
    static class Reader {
        private static BufferedReader b ;
        public static String line ;
        public Reader() {
        }

        public Reader(BufferedReader b) {
            this.b = b ;
        }
        private static StringTokenizer st = null;
        public static String next()  {
            
            if(st==null || !st.hasMoreElements()) {
                try { 
                    line = b.readLine() ;
                    if(line==null) {
                        eof = true ; 
                        return null ;
                    }
                    else {
                        st=new StringTokenizer(line);
                    }
                } catch (IOException ex) {
                    
                }
            }
            return st.nextToken() ;
        }
        public static String nextLine()  {
            try {
                return b.readLine() ;
            } catch (IOException ex) {
                
            }
            return line ;
        }
        public static int nextInt()  {
            return Integer.parseInt(next());
        }
        public static long nextLong()  {
            return Long.parseLong(next());
        }
        public static float nextFloat()  {
            return Float.parseFloat(next());
        }
        public void close() throws IOException {
            b.close() ;
        }
        
    }
    static class tshirt {
        int price ;
        byte ai ;
        byte bi ;

        public tshirt(int price, byte ai, byte bi) {
            this.price = price;
            this.ai = ai;
            this.bi = bi;
        }
        @Override
        public int hashCode() {
            return price*ai-bi ;
        }

        @Override
        public boolean equals(Object obj) {
            if (this == obj) {
                return true;
            }
            if (obj == null) {
                return false;
            }
            if (getClass() != obj.getClass()) {
                return false;
            }
            final tshirt other = (tshirt) obj;
            if (this.price != other.price) {
                return false;
            }
            if (this.ai != other.ai) {
                return false;
            }
            if (this.bi != other.bi) {
                return false;
            }
            return true;
        }
    }
    static class compara implements Comparator<tshirt> {

        @Override
        public int compare(tshirt o1, tshirt o2) {
            return o1.price-o2.price ;
        }
        
    }
}
