#CCBCHBON0000041. Bỏ dòng rỗng liên tiếp (Collapse Consecutive Newlines)

Bỏ dòng rỗng liên tiếp (Collapse Consecutive Newlines)

Bỏ dòng rỗng liên tiếp (Collapse Consecutive Newlines)

Nguồn: Phước Hưng OJ

Phiên bản: Phước Hưng OJ Extended

Đề bài

Đọc toàn bộ văn bản đến EOF. Thay mỗi dãy gồm từ hai ký tự newline (\n) liên tiếp trở lên bằng đúng một ký tự newline; các ký tự còn lại giữ nguyên, kể cả dấu cách và tab. Nếu đầu luồng có nhiều newline, chỉ giữ một; tương tự ở cuối. Dòng chỉ chứa dấu cách không phải dòng rỗng theo định nghĩa của bài. Không tự thêm newline nếu đầu vào không có.

Input

Một luồng UTF-8 không chứa CR, tối đa 100000 byte, có thể rỗng hoặc không có newline cuối.

Output

In luồng sau khi nén newline; không tự chèn ký tự nào khác.

Subtask

  • Subtask 1 (20%): Độ dài luồng UTF-8 không quá 100 byte; không có CR.

  • Subtask 2 (30%): Độ dài luồng UTF-8 không quá 2000 byte; không có CR.

  • Subtask 3 (50%): Độ dài luồng UTF-8 không quá 100000 byte; không có CR.

Ví dụ

Ví dụ 1

Input:

A


B

C

Output:

A
B
C

Giải thích:

Một dãy newline liền nhau chỉ giữ lại ký tự đầu tiên; dấu cách không bị xóa. Biểu diễn Input có ký tự đặc biệt: "A\n\n\nB\n\nC"; Output: "A\nB\nC".

Ví dụ 2

Input:


Output:


Giải thích:

Một dãy newline liền nhau chỉ giữ lại ký tự đầu tiên; dấu cách không bị xóa. Biểu diễn Input có ký tự đặc biệt: "\n\n\n"; Output: "\n".

Ví dụ 3

Input:

A 

B

Output:

A 
B

Giải thích:

Một dãy newline liền nhau chỉ giữ lại ký tự đầu tiên; dấu cách không bị xóa. Biểu diễn Input có ký tự đặc biệt: "A \n\nB"; Output: "A \nB".

Ví dụ 4

Input:


Output:


Giải thích:

Một dãy newline liền nhau chỉ giữ lại ký tự đầu tiên; dấu cách không bị xóa. Biểu diễn Input có ký tự đặc biệt: ""; Output: "".

Biểu diễn trong dấu nháy dưới đây dùng \t cho tab thật, \n cho ký tự xuống dòng thật và \\ cho dấu gạch chéo ngược thật; đây chỉ là cách HIỂN THỊ luồng dữ liệu, không phải ký tự bổ sung trong Input.