>>558
1.標準入力からの読み込みなのでシークできない
2.出力すべき行数が最大で50行
3.逐次記憶する箇所が1つ必要
50+1行記憶しないといけないが不足している

汚い手段を使う?
例)memory[0]=={'a','b','c','\0','d','e','f','\0'} // 二行記憶