/** Ċ Ġ* ĠÐĴ ĠÑĤ ÐµÐ» Ðµ ĠÐºÐ»Ð°ÑģÑģ Ð° ĠÑĢ ÐµÑĪ ÐµÐ½Ð¸Ñı ĠÑĢÐ°Ð· ÑĢ ÐµÑĪ ÐµÐ½ Ð¾ ĠÐ¸ÑģÐ¿Ð¾Ð»ÑĮÐ·Ð¾Ð² Ð°ÑĤÑĮ ĠÑĤÐ¾Ð»ÑĮÐºÐ¾ ĠÐ¿ÐµÑĢ ÐµÐ¼ ÐµÐ½ Ð½ÑĭÐµ ĠÐ´ ÐµÐ» ÐµÐ³ Ð¸ÑĢÐ¾Ð² Ð°Ð½ Ð½ÑĭÐµ ĠÐ² ĠÐºÐ»Ð°ÑģÑģ ĠRegular Int . Ċ Ġ* ĠÐĿ ÐµÐ»ÑĮ Ð· Ñı Ġvolatile , ĠÐ½ ÐµÐ»ÑĮ Ð· Ñı ĠÐ´ÑĢÑĥÐ³ Ð¸Ðµ ĠÑĤÐ¸Ð¿ Ñĭ , ĠÐ½ ÐµÐ»ÑĮ Ð· Ñı ĠÐ± Ð» Ð¾Ðº Ð¸ÑĢÐ¾Ð² ÐºÐ¸ , ĠÐ½ ÐµÐ»ÑĮ Ð· Ñı ĠÐ» Ð°Ð· Ð¸ÑĤÑĮ ĠÐ² ĠÐ³ Ð» Ð¾Ð± Ð°Ð»ÑĮ Ð½ÑĭÐµ ĠÐ¿ÐµÑĢ ÐµÐ¼ ÐµÐ½ Ð½ÑĭÐµ . Ċ Ġ*/ Ċ class ĠSolution Ġ: ĠMon otonic Clock Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġl 1 Ġby ĠRegular Int ( 0 ) ĊĠĠĠ Ġprivate Ġvar Ġl 2 Ġby ĠRegular Int ( 0 ) ĊĠĠĠ Ġprivate Ġvar Ġm 1 Ġby ĠRegular Int ( 0 ) ĊĠĠĠ Ġprivate Ġvar Ġm 2 Ġby ĠRegular Int ( 0 ) ĊĠĠĠ Ġprivate Ġvar Ġr Ġby ĠRegular Int ( 0 ) ĊĊĠĠĠ Ġoverride Ġfun Ġwrite ( time : ĠTime ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġwrite Ġright - to - left ĊĠĠĠĠĠĠĠ Ġl 2 Ġ= Ġtime . d 1 ĊĠĠĠĠĠĠĠ Ġm 2 Ġ= Ġtime . d 2 ĊĠĠĠĠĠĠĠ Ġr Ġ= Ġtime . d 3 ĊĠĠĠĠĠĠĠ Ġm 1 Ġ= Ġtime . d 2 ĊĠĠĠĠĠĠĠ Ġl 1 Ġ= Ġtime . d 1 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġread (): ĠTime Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġread Ġleft - to - right ĊĠĠĠĠĠĠĠ Ġval Ġu 1 Ġ= Ġl 1 ĊĠĠĠĠĠĠĠ Ġval Ġv 1 Ġ= Ġm 1 ĊĠĠĠĠĠĠĠ Ġval Ġw Ġ= Ġr ĊĠĠĠĠĠĠĠ Ġval Ġu 2 Ġ= Ġl 2 ĊĠĠĠĠĠĠĠ Ġval Ġv 2 Ġ= Ġm 2 ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( u 1 Ġ== Ġu 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( v 1 Ġ== Ġv 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTime ( u 2 , Ġv 2 , Ġw ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTime ( u 2 , Ġv 2 , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTime ( u 2 , 0 , 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }