def scan; gets.split.map(&:to_i); end # abababa def func(n) m = (n+1) / 2 k = m*(m-1)-m+1 (n.even? ? k*2 : k) + n end n = gets.to_i iwi = ['a','b'] offset = 0 while n > 3 # binary search c = nil l = 0; h = 100000 while l < h c = (l+h+1)/2; if (n < func(c)) h = c-1 else l = c end end k = l n -= func(l) print ((iwi[0]+iwi[1])*((k)/2))[offset..-1] if k.odd? print iwi[0] iwi[1].succ! offset = 1 else iwi[0] = iwi[1].clone iwi[1].succ! offset = 1 end end print 'xyz'[0..(n-1)] if 0 < n