For all problem creators on codeforces, I find it super difficult to create even one good thinker problem for > 1600. Some problems I solve have beautiful observations, and I really don't understand how you even start to get there. There are all these amazing sorting problems that use these swaps and you have to prove something, which I just don't understand how someone created that problem.

Of course I'm talking about many types of problem, not just sorting. Some simple (and hard) array problems are just astounding, and there are these nice matrix observation problems. I'm not really talking about implementation heavy problems though...

I would really appreciate it if someone who created problems regularly could share the process of creating a problem (is it thinking about an observation and creating a problem from there? what is the process?)

Thanks!