[C# ] AutoResetEvent (Beats 100%)
\n    public class Foo\n    {\n        private static AutoResetEvent event_1 = new AutoResetEvent(false);\n        private static AutoResetEvent event_2 = new A
```\n    public class Foo\n    {\n        private static AutoResetEvent event_1 = new AutoResetEvent(false);\n        private static AutoResetEvent event_2 = new AutoResetEvent(false);\n        public Foo()\n        {\n\n        }\n\n        public void First(Action printFirst)\n        {\n            // printFirst() outputs "first". Do not change or remove this line.\n            printFirst();\n            event_1.Set();\n        }\n\n        public void Second(Action printSecond)\n        {\n            event_1.WaitOne();\n            // printSecond() outputs "second". Do not change or remove this line.\n            printSecond();\n            event_2.Set();\n        }\n\n        public void Third(Action printThird)\n        {\n            event_2.WaitOne();\n            // printThird() outputs "third". Do not change or remove this line.\n            printThird();\n        }\n    }\n```
[]