لامپ‌ها در جدول


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

یک جدول n×mn \times m داریم. این جدول شامل nn سطر و mm ستون است که به ترتیب از بالا به پایین از ۱ تا nn و از چپ به راست از ۱ تا mm شماره گذاری شده است. در هر خانه از این جدول یک لامپ خاموش قرار دارد.

در هر مرحله می‌توانیم یک خانه از این جدول را انتخاب کنیم و آن لامپ و همه لامپ‌های مجاور ضلعی آن را تغییر وضعیت بدهیم. دو خانه مجاورند اگر در یک ضلع مشترک باشند

از شما می‌خواهیم با انجام دادن حداکثر n×mn \times m عملیات وضعیت همه لامپ‌ها را به روشن تبدیل کنید.

ورودی🔗

در تنها سطر ورودی دو عدد صحیح و مثبت nn و mm که با فاصله از هم جدا شده‌اند آمده است. 1n,m10001 \leq n, m \leq 1000

تضمین می‌شود همواره راهی برای رسیدن به این هدف وجود دارد.

خروجی🔗

در سطر اول خروجی عدد صحیح kk را چاپ کنید که تعداد عملیات‌های مورد نیاز شما را نشان می‌دهد. 0kn×m0 \leq k \leq n \times m در kk سطر بعدی، در سطر iiام، دو عدد صحیح و مثبت rir_i و cic_i را که با یک فاصله از هم جدا شده‌اند چاپ کنید که به ترتیب نشان‌دهنده‌ی سطر و ستون لامپی است که روی آن عملیات انجام داده‌اید.

1rin1 \leq r_i \leq n 1cim1 \leq c_i \leq m

مثال🔗

ورودی نمونه ۱🔗

1 2
Plain text

خروجی نمونه ۱🔗

1
1 1
Plain text

با همین یک عملیات هر دو لامپ روشن می‌شوند چون هر دو خاموش هستند.

ورودی نمونه ۲🔗

2 2
Plain text

خروجی نمونه ۲🔗

4
1 1
1 2
2 1
2 2
Plain text

اگر روی هر لامپ یک عملیات انجام دهیم هر لامپ سه بار تغییر وضعیت می‌دهد پس در نهایت همه لامپ‌ها روشن می‌شوند.