Python 3, 92 bytes
def f(n):
for i in range(n):print('Yeah\n'*(i%3<1)+'But\n'*(i%2<1)+'No\n'*(i%3==1),end='')
Python 2, 97 95 bytes
for i in range(input()):
for w,x in[('Yeah',i%3<1),('But',i%2<1),('No',i%3==1)]:
if x:print w