CINXE.COM
Just a moment...
<!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="robots" content="noindex,nofollow"><meta name="viewport" content="width=device-width,initial-scale=1"><style>*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;color:#313131;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}body{display:flex;flex-direction:column;height:100vh;min-height:100vh}.main-content{margin:8rem auto;max-width:60rem;padding-left:1.5rem}@media (width <= 720px){.main-content{margin-top:4rem}}.h2{font-size:1.5rem;font-weight:500;line-height:2.25rem}@media (width <= 720px){.h2{font-size:1.25rem;line-height:1.5rem}}#challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+);background-repeat:no-repeat;background-size:contain;padding-left:34px}@media (prefers-color-scheme:dark){body{background-color:#222;color:#d9d9d9}}</style><meta http-equiv="refresh" content="390"></head><body class="no-js"><div class="main-wrapper" role="main"><div class="main-content"><noscript><div class="h2"><span id="challenge-error-text">Enable JavaScript and cookies to continue</span></div></noscript></div></div><script>(function(){window._cf_chl_opt={cvId: '3',cZone: "www.openhub.net",cType: 'managed',cRay: '913907b6ab7e4d2d',cH: 'MLyB.h_oD6i5q11Fa6pUZZCKU9QoLa3hfCZvxSxChac-1739829415-1.2.1.1-nyPQm3SyMvTj1jMUxK6UFSgiCwzVgry0tyO5ABed.mQ1k268l2vGu1ITPAwUEkVV',cUPMDTk: "\/languages\/cpp?__cf_chl_tk=ZpyJWfCNaBEVOfGGXKQglUc8kIAAGfq8u_MGoCVYAQ0-1739829415-1.0.1.1-iHEyRRGa6w4a8dHVm5TkZDrK5bQ2vMOoLy.P22str0Q",cFPWv: 'g',cITimeS: '1739829415',cTTimeMs: '1000',cMTimeMs: '390000',cTplC: 0,cTplV: 5,cTplB: 'cf',cK: "",fa: "\/languages\/cpp?__cf_chl_f_tk=ZpyJWfCNaBEVOfGGXKQglUc8kIAAGfq8u_MGoCVYAQ0-1739829415-1.0.1.1-iHEyRRGa6w4a8dHVm5TkZDrK5bQ2vMOoLy.P22str0Q",md: "TUZXkXo1ISHi4tjj4pEmJ.KPToRZwy708Q6hoKyDA34-1739829415-1.2.1.1-MSijQ4AuLYZi8rEc5uQjQSm8eIynPJjak_KVfRKECgSIrXto5HLjL5ETKoez58S1MP_sZrriuvKtHxF3ryS.NFVRes.jUo3337i4oiLN1cEU_I4eO30I5JwIyAJn0vErekqPimv4BJIuNOkeuRa7cmfq2wbS9zDlAr2hr1u_BjvkfElLaFUsWJVRg2XeYAcobCcH870f8y8OOdWZy7wFFultfzB6Ikz3zz3xF6pThav9PhXpLevaYSu1p5dfIK9dgXFpPkmgJAZZJqyDif.Xqd4WUhASUv5ikBnMbOYdyZM5vrMe95Jlv9YptL9f3gyPZbTR7uMNzkbMc15Aq.0Zhy1qV6.pt3dzx9P8j777nSYyXvYKZaqzomq.f9mjyucJRlOX53gGSzXqowZy96bHM6CoOQExn1yUdZvKAhUf6.v0FKK9nnMj.E5cxG9soraDyE_NGKL6HnKh79Sybshi.P4tyvjNVARgIdfks.12rohbhq5t7OixslSG7ondMjzE_WU4KCH32G_NpNGgv9.TsTJl39EJZeAOdrgbxql7zmLpgGhN07SRF5VLl6i65ANjUrxlyps0IJfwU_m9OErgoEIr0bD1wCs.hcu8pE4JJ7kG0CxNj1c1j9e9hKXMH9vbns1ESFLQ3_FVfkz41wB2c_XRRIzmj03g1nRtk9uJ4dFXtWqCj.rnJrJ7kyOT7Wv0fz8cgNEo3A9Q5uw3RUhV8aWRygr.vxMrY_AlMSfdEcOaWXjC9nhJ2Y4uNpF0ZCnVX.z_80EluJjgXiXV3IvNfU5TkdSNjkD54SECLFxqpZ3Ed5lBi9EGpDbJd6mxcXo85duYrovEgYVRhTGQu.7aFGW0ySPlNkJESdaoaPBACAaWa5HxuqCz1SFEtha5JktchfgU_7EHPsMwmwS4tWs7kgm8tWG4YPAL7_MsA_CSFydPZ0U3cv.PnnrMXZjMTPWoQO6OA5h0VEVoyZH6kzZ9pIcAd.MDkWw18atHz6rPce9lJUgIgunR_SibCGccamqHS6.Iz_fQOW7vgYis7m8Xl_7RSWeyFg5k3T8AuCPUufb9nRWJyMzOaT01D8wpeL5RwotxIG6oPejobR2f00D6rf9k8JsHKSxbgD9FlYj1_YCIxGTw2ZbYE9DcUDX2OC09HNAE7CZUAEv_WJIj2UqjHQyMba_k1zRW5y7V6xL9ByrF8_AK1DBRUTsxQtSDTl85bnylLvi3qIgCYSiIlx1EyMFBw6MsY7YaBCu6WSBdInL7wzJiUHirtdrsfc.JnMRM6SOJoasOZEO9nUK957Q5.RktRX2sC2AAmwD4Qm_YMUz7FJVw74DKV69fZnr2dkyQdscZ7r.Dmm7Agk.YNHPHx3h_.nFvCOdlda5Ut.Atmtp._SFEhUDBtaEmMbfdOtwWVtdKdDZD6AE8.dt53vzg33JKJPdqI9zKKfGPyKuZaBLiYJ789ddiAU3v0cmi.RqK5s0kX0W95_rg5d8spyvwKk7Rotpar_J_K9MxifYaejrDewhpo7P8sHWKR2TLOZxtGNF3qdfOf4i2CJNz.b_Ax3ghnzXnu0b2lbLW5MOVRQH47r87z7tqNJYbDTiGrl_WN8Wb_V.t6ofZ3gDLLF3MfLeK_RzfHJJPUCGKsYfDct9fyGDblQl0vCu4eT7uuQy_7XMRSBYEAKFnLcjtZfClIR4iNknDBrZPgdFr96hqrA7G1kO3oKCdemp4ZXHz5kH_aCfYoX3X41qjx4WBr3aUaPDbrmsk3pTLU99c6n2NPQnLqBJkRQXalKF7vJzm9utRyjUSow2Mxb_KtuDqn_H4.Njwz7pMOII18yusJxRrS.bxL_8PdaeaUsI_M4A6rxJFUw9FWK0DnhQ9BcqK9QSiYeoNlCYT.JiJX4OE.ypkeESJZs3tjgRaqjaahNiEwd6qt.68X7jTJ8hvWq04Vn1CZm5tQM7OPa0SVs6jDNyArm8bITgz8Qslcq0Ll6Htwn4twT2PDQIRzlm8BfliikOCKwyliMDMNo.7meAMGGI2MAcjWzIuj7YuuwQOuTomnBLzgPUDo_Jep2ixWBUpZTpYQEI_g9XqdY5Xxx0yeR8Gop2ybxTedccUkKo_kkNX.tYTl_8P5N.SqAJuAo4N9h9jr_5SH18.aopDgiNleNt2KwYbG1AvKvtCEAIGvzpSuVE3wyILwpHdQkKh1lb2X2DabPyxN4mnzrQjp4lKpiiFUaRwEiEHSNy3AMpTekumvvKvW_fpg5wutY289M7W.IX3Xk3Lmo3zdpvA5m3Z2krMg64QLgg3I5LblVDayrK5ptji88D.ZPs.DbfOfncvdRXi4Rx8tE0zlEFXUZ._chWN8dqCztN6.jDLRTsp6K2S8oBO0x1mK5tgEaXKtHqQRMm99yWXm23EvntjdqO43gClZUjY6jj30ZaNWfnGkaLkRqekgDjeRwHvMYiiT2Zxq1kk5FzUgz7dTHHCXCe7VdSefcVeBbo3JmgXkWmCHblGAdqSR19ATM0tWzg5PPZ0tglARw",mdrd: "NbxhG4CVg8YMF1rCngknItHjd..JvbmRzbb4Qsl.hng-1739829415-1.2.1.1-13me01yTVD1i8zJB4PZiLaxfkAAIKgj_aFnM2SHTjfLWy5LZgbd_kq3XCqsKH046.VXJrGh4.rCGLV9s9NKEuHe.bfoEdL7t6QPKCrEQstxOZbKUutmqwN0Lc0_co6VjppQe5CI4gkTBVPNPS2B.lijYGiwFgpFJTkEjKLmXrcs1xAbfPQwNULAaBaAHUwhG3CSu7AeTz48RuBXG0dqlWeEYVaG76QH6cmHMKtlFWkYyb9SL3kX96I0lNOGBmc4JDOYI2s.UKR0WBI8.rTZfEcY.l1h2xOrGIy8Rln7Pmi.oIHGjT.oANTQHr15932Q8TjcdZvSKpOoQ7Vttp99NI6Ku.Zmqc6FD6aP_XbNjE8YH.hzgA1Rd5t0jJGUqqc1VI1NAiBlnaggU_.Jmy2wBHzsO0lKaI4Jcx7OD_folU7a8veULdkioqiT5HdxE_G_vPhKfuEnhXlgblggAVuxky1NChkkyeQhu5GZDL1ySLHZYTeohpRSAIBHOFVXTHQmjk3bMWiWqQRxoj2iKDVZ87hhyCU6S1BzuraJkL54ZwfpoImWdVCh6G34SO1W.SDLGGFV19yak_yWXiCPC5bF6mw_VlVLRhZx3fiD9MMhV3sp45iDE4C44X6N4B24UXeeIx5UY7HHdX70USF1IOwpWDOBCubyhMUU0S12lKkP.I9glhH24XC8cYxqylu79GH5D8F_DJEacNGnmShGifLHtrbgKmW_aBphtt2466OUhmVfs4jwfxKhEUEYLnHR6hUcA55QvA_1LRoaX7fwVVRFTfBNcXVmziMm3jUBArzjgkc2.WFCyGB.59mpK3pgr1TFX9fKn4PdYTCpZ6wJGlMUPA2ekvO1ATX3dtldrDAKA5LQ10nahU4r2vCOsui4cL0dy2qfHvfxTIIkR7Oqz7dVN01.mdH9UES3cZs1SggTnvIJj94r6G2ZThTMsgacbkfg2pL0er7LeN0C_Dpt1rj2px.XLolYHYqC1Bl4WfiPRjjDGo3fLaN1WQ85jCYU1HUCjYys3Eanr74zA80PqWLTpL1HT8moQxFG1jaPBjfUDNDdQsuJjIZzm2PwQMWQnndf3XsjWQsgxw97xWjMOCN3GJ2G0JJwGjWGW33T7IvvbXh42iwUA8RdOIqWasBwKdOXbuZuHf9VkDr0IL0qw3Ygi97CVsM44NVExINyJo3tpz2_3BE5RRjPttsZpdRj7sERmg_9hnX7R3sGJxbuD3VLksyPSb57tJLtqaS8hK16GHXioQiCCTiJqw0zGq5hkFVDOqbfVb.OJCAvKR6uAHCiWA0L08JUv1McEwsd8vqubIuDuEZd4n4j04VYNZkoB_dPP.8CA92dcF3RDGEf8Qwq7S4I8qDPWp9C3rPbNe0US6eBl0asCeFrpnpunajEDLagRpcbhXdh4oCcpBE0gi_g9hPNZeIcVjDC1fT9FxlGnO1.XU9km99cbxhsRvT8UtyoM0ayyw2jJ1mKXx_qMtqlj.WoaKs7YTPFsQ5uUFADAlwjFsxM6NxIZj7iNNfopMFdp2wfmkq2Z5lRAEvMBQJAyHqvCkPUGt9SlHekiHd8uLH230i3Zo6o0w9zP4OCgYJX.OxWrGHlJfPR4DAlv3royBkpmb4Gfx29ZVz.qoBKLFY0C96clOS_zVZ4jcnZCUPXiEKqavv61hmvji0uFEs9oDXSegvhQedhj6NK.CamzMI_DS9zeP.sNDVLAkaKzu.xwMuxwmBpenc7AjoU4ThCXXqoNBxeoay26kvGoHRSwzURZXC1HI392XK6PoXb7qrBC1_b49Q_gtS7DSKqJEZ9DOl5wGElj_QqGDsW21dLzEBFwTafXyGpdd0CywEX50nisYOhUbOK_XY6hN4zmFjilUv2QFNqGBs8_QVrH2bb6JIGjZLrm.xPbcqCe67qp4MGOD.QIqhqcHEqM5e.T.pZzWh2JEs0KKkEWEruLwqHIGRdyW_0lM19nV3XX2Nr9d41l"};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/g/orchestrate/chl_page/v1?ray=913907b6ab7e4d2d';window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, location.href.length - window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history && window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;history.replaceState(null, null, "\/languages\/cpp?__cf_chl_rt_tk=ZpyJWfCNaBEVOfGGXKQglUc8kIAAGfq8u_MGoCVYAQ0-1739829415-1.0.1.1-iHEyRRGa6w4a8dHVm5TkZDrK5bQ2vMOoLy.P22str0Q" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>