<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <meta name="X-Csrf-Token" content="45d702beba2248c8a8123b29e34565c6"/> <meta id="viewport" name="viewport" content="width=device-width, initial-scale=0.01"/> <script type="text/javascript" src="//codeforces.org/s/0/js/jquery-1.8.3.js"></script> <script type="application/javascript"> window.locale = "en"; window.standaloneContest = false; function adjustViewport() { var screenWidthPx = Math.min($(window).width(), window.screen.width); var siteWidthPx = 1100; // min width of site var ratio = Math.min(screenWidthPx / siteWidthPx, 1.0); var viewport = "width=device-width, initial-scale=" + ratio; $('#viewport').attr('content', viewport); var style = $('<style>html * { max-height: 1000000px; }</style>'); $('html > head').append(style); } if ( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) { adjustViewport(); } /* Protection against trailing dot in domain. */ let hostLength = window.location.host.length; if (hostLength > 1 && window.location.host[hostLength - 1] === '.') { window.location = window.location.protocol + "//" + window.location.host.substring(0, hostLength - 1); } </script> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="expires" content="-1"> <meta http-equiv="profileName" content="f1"> <meta name="google-site-verification" content="OTd2dN5x4nS4OPknPI9JFg36fKxjqY0i1PSfFPv_J90"/> <meta property="fb:admins" content="100001352546622" /> <meta property="og:image" content="//codeforces.org/s/0/images/codeforces-sponsored-by-ton.png" /> <link rel="image_src" href="//codeforces.org/s/0/images/codeforces-sponsored-by-ton.png" /> <meta property="og:title" content="Problems - Codeforces"/> <meta property="og:description" content=""/> <meta property="og:site_name" content="Codeforces"/> <meta name="utc_offset" content="+03:00"/> <meta name="verify-reformal" content="f56f99fd7e087fb6ccb48ef2" /> <title>Problems - Codeforces</title> <meta name="description" content="Codeforces. Programming competitions and contests, programming community" /> <meta name="keywords" content="programming algorithm contest competition informatics olympiads c++ java graphs vkcup" /> <meta name="robots" content="index, follow" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/font-awesome.min.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/line-awesome.min.css" type="text/css" charset="utf-8" /> <link href='//fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700&subset=latin,cyrillic' rel='stylesheet' type='text/css'> <link href='//fonts.googleapis.com/css?family=Cuprum&subset=latin,cyrillic' rel='stylesheet' type='text/css'> <link rel="apple-touch-icon" sizes="57x57" href="//codeforces.org/s/0/apple-icon-57x57.png"> <link rel="apple-touch-icon" sizes="60x60" href="//codeforces.org/s/0/apple-icon-60x60.png"> <link rel="apple-touch-icon" sizes="72x72" href="//codeforces.org/s/0/apple-icon-72x72.png"> <link rel="apple-touch-icon" sizes="76x76" href="//codeforces.org/s/0/apple-icon-76x76.png"> <link rel="apple-touch-icon" sizes="114x114" href="//codeforces.org/s/0/apple-icon-114x114.png"> <link rel="apple-touch-icon" sizes="120x120" href="//codeforces.org/s/0/apple-icon-120x120.png"> <link rel="apple-touch-icon" sizes="144x144" href="//codeforces.org/s/0/apple-icon-144x144.png"> <link rel="apple-touch-icon" sizes="152x152" href="//codeforces.org/s/0/apple-icon-152x152.png"> <link rel="apple-touch-icon" sizes="180x180" href="//codeforces.org/s/0/apple-icon-180x180.png"> <link rel="icon" type="image/png" sizes="192x192" href="//codeforces.org/s/0/android-icon-192x192.png"> <link rel="icon" type="image/png" sizes="32x32" href="//codeforces.org/s/0/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="96x96" href="//codeforces.org/s/0/favicon-96x96.png"> <link rel="icon" type="image/png" sizes="16x16" href="//codeforces.org/s/0/favicon-16x16.png"> <link rel="manifest" href="/manifest.json"> <meta name="msapplication-TileColor" content="#ffffff"> <meta name="msapplication-TileImage" content="//codeforces.org/s/0/ms-icon-144x144.png"> <meta name="theme-color" content="#ffffff"> <!--CombineResourcesFilter--> <link rel="stylesheet" href="//codeforces.org/s/19903/css/prettify.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/clear.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/style.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/ttypography.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/problem-statement.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/second-level-menu.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/roundbox.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/datatable.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/table-form.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/topic.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/jquery.jgrowl.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/facebox.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/jquery.wysiwyg.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/jquery.autocomplete.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/codeforces.datepick.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/colorbox.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/jquery.drafts.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/community.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/css/sidebar-menu.css" type="text/css" charset="utf-8" /> <!-- MathJax --> <script type="text/x-mathjax-config"> MathJax.Hub.Config({ tex2jax: {inlineMath: [['$$$','$$$']], displayMath: [['$$$$$$','$$$$$$']]} }); MathJax.Hub.Register.StartupHook("End", function () { Codeforces.runMathJaxListeners(); }); </script> <script type="text/javascript" async src="https://cdn-mathjax.codeforces.com/MathJax.js?config=TeX-AMS_HTML-full" > </script> <!-- /MathJax --> <script type="text/javascript" src="//codeforces.org/s/19903/js/prettify/prettify.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/moment-with-locales.min.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/pushstream.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/jquery.easing.min.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/jquery.lavalamp.min.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/jquery.jgrowl.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/jquery.swipe.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/jquery.hotkeys.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/facebox.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/jquery.wysiwyg.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/controls/wysiwyg.colorpicker.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/controls/wysiwyg.table.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/controls/wysiwyg.image.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/controls/wysiwyg.link.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/jquery.autocomplete.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/jquery.datepick.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/jquery.ie6blocker.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/jquery.colorbox-min.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/jquery.ba-bbq.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/jquery.drafts.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/clipboard.min.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/autosize.min.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/sjcl.js"></script> <script type="text/javascript" src="/scripts/3dccf1f9f8cb4969b151d97264ecfd48/en/codeforces-options.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/codeforces.js?v=20160131"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/EventCatcher.js?v=20160131"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/preparedVerdictFormats-en.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/js/confetti.min.js"></script> <!--/CombineResourcesFilter--> <link rel="stylesheet" href="//codeforces.org/s/19903/markitup/skins/markitup/style.css" type="text/css" charset="utf-8" /> <link rel="stylesheet" href="//codeforces.org/s/19903/markitup/sets/markdown/style.css" type="text/css" charset="utf-8" /> <script type="text/javascript" src="//codeforces.org/s/19903/markitup/jquery.markitup.js"></script> <script type="text/javascript" src="//codeforces.org/s/19903/markitup/sets/markdown/set.js"></script> <!--[if IE]> <style> #sidebar { padding-left: 1em; margin: 1em 1em 1em 0; } </style> <![endif]--> </head> <body class=" "><span style='display:none;' class='csrf-token' data-csrf='45d702beba2248c8a8123b29e34565c6'> </span> <!-- .notificationTextCleaner used in Codeforces.showAnnouncements() --> <div class="notificationTextCleaner" style="font-size: 0"></div> <div class="button-up" style="display: none; opacity: 0.7; width: 50px; height:100%; position: fixed; left: 0; top: 0; cursor: pointer; text-align: center; line-height: 35px; color: #d3dbe4; font-weight: bold; font-size: 3.0rem;"><i class="icon-circle-arrow-up"></i></div> <div class="verdictPrototypeDiv" style="display: none;"></div> <!-- Codeforces JavaScripts. --> <script type="text/javascript"> String.prototype.hashCode = function() { var hash = 0, i, chr; if (this.length === 0) return hash; for (i = 0; i < this.length; i++) { chr = this.charCodeAt(i); hash = ((hash << 5) - hash) + chr; hash |= 0; // Convert to 32bit integer } return hash; }; var queryMobile = Codeforces.queryString.mobile; if (queryMobile === "true" || queryMobile === "false") { Codeforces.putToStorage("useMobile", queryMobile === "true"); } else { var useMobile = Codeforces.getFromStorage("useMobile"); if (useMobile === true || useMobile === false) { if (useMobile != false) { Codeforces.redirect(Codeforces.updateUrlParameter(document.location.href, "mobile", useMobile)); } } } </script> <script type="text/javascript"> if (window.parent.frames.length > 0) { window.stop(); } </script> <script type="text/javascript"> $(document).ready(function () { (function () { jQuery.expr[':'].containsCI = function(elem, index, match) { return !match || !match.length || match.length < 4 || !match[3] || ( elem.textContent || elem.innerText || jQuery(elem).text() || '' ).toLowerCase().indexOf(match[3].toLowerCase()) >= 0; } }(jQuery)); $.ajaxPrefilter(function(options, originalOptions, xhr) { var csrf = Codeforces.getCsrfToken(); if (csrf) { var data = originalOptions.data; if (originalOptions.data !== undefined) { if (Object.prototype.toString.call(originalOptions.data) === '[object String]') { data = $.deparam(originalOptions.data); } } else { data = {}; } options.data = $.param($.extend(data, { csrf_token: csrf })); } }); window.getCodeforcesServerTime = function(callback) { $.post("/data/time", {}, callback, "json"); } window.updateTypography = function () { $("div.ttypography code").addClass("tt"); $("div.ttypography pre>code").addClass("prettyprint").removeClass("tt"); $("div.ttypography table").addClass("bordertable"); prettyPrint(); } $.ajaxSetup({ scriptCharset: "utf-8" ,contentType: "application/x-www-form-urlencoded; charset=UTF-8", headers: { 'X-Csrf-Token': Codeforces.getCsrfToken() }}); window.updateTypography(); Codeforces.signForms(); setTimeout(function() { $(".second-level-menu-list").lavaLamp({ fx: "backout", speed: 700 }); }, 100); Codeforces.countdown(); $("a[rel='photobox']").colorbox(); function showAnnouncements(json) { //info("j=" + JSON.stringify(json)); if (json.t != "a") { return; } setTimeout(function() { Codeforces.showAnnouncements(json.d, "en"); }, Math.random() * 500); } function showEventCatcherUserMessage(json) { if (json.t == "s") { var points = json.d[5]; var passedTestCount = json.d[7]; var judgedTestCount = json.d[8]; var verdict = preparedVerdictFormats[json.d[12]]; var verdictPrototypeDiv = $(".verdictPrototypeDiv"); verdictPrototypeDiv.html(verdict); if (judgedTestCount != null && judgedTestCount != undefined) { verdictPrototypeDiv.find(".verdict-format-judged").text(judgedTestCount); } if (passedTestCount != null && passedTestCount != undefined) { verdictPrototypeDiv.find(".verdict-format-passed").text(passedTestCount); } if (points != null && points != undefined) { verdictPrototypeDiv.find(".verdict-format-points").text(points); } Codeforces.showMessage(verdictPrototypeDiv.text()); } } $(".clickable-title").each(function() { var title = $(this).attr("data-title"); if (title) { var tmp = document.createElement("DIV"); tmp.innerHTML = title; $(this).attr("title", tmp.textContent || tmp.innerText || ""); } }); $(".clickable-title").click(function() { var title = $(this).attr("data-title"); if (title) { Codeforces.alert(title); } else { Codeforces.alert($(this).attr("title")); } }).css("position", "relative").css("bottom", "3px"); Codeforces.showDelayedMessage(); Codeforces.reformatTimes(); //Codeforces.initializePubSub(); if (window.codeforcesOptions.subscribeServerUrl) { window.eventCatcher = new EventCatcher( window.codeforcesOptions.subscribeServerUrl, [ Codeforces.getGlobalChannel(), Codeforces.getUserChannel(), Codeforces.getUserShowMessageChannel(), Codeforces.getContestChannel(), Codeforces.getParticipantChannel(), Codeforces.getTalkChannel() ] ); if (Codeforces.getParticipantChannel()) { window.eventCatcher.subscribe(Codeforces.getParticipantChannel(), function(json) { showAnnouncements(json); }); } if (Codeforces.getContestChannel()) { window.eventCatcher.subscribe(Codeforces.getContestChannel(), function(json) { showAnnouncements(json); }); } if (Codeforces.getGlobalChannel()) { window.eventCatcher.subscribe(Codeforces.getGlobalChannel(), function(json) { showAnnouncements(json); }); } if (Codeforces.getUserChannel()) { window.eventCatcher.subscribe(Codeforces.getUserChannel(), function(json) { showAnnouncements(json); }); } if (Codeforces.getUserShowMessageChannel()) { window.eventCatcher.subscribe(Codeforces.getUserShowMessageChannel(), function(json) { showEventCatcherUserMessage(json); }); } } Codeforces.setupContestTimes("/data/contests"); Codeforces.setupSpoilers(); Codeforces.setupTutorials("/data/problemTutorial"); }); </script> <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-743380-5']); _gaq.push(['_trackPageview']); (function () { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = (document.location.protocol == 'https:' ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script> <div id="body"> <div style="width: 950px; margin: 0 auto;" class="compact-problemset"> <div id="header" style="position: relative; margin: 0;"> <div style="float:left;"> <a href="/"><img height="65" style="height: 65px;" src="//codeforces.org/s/34323/images/codeforces-sponsored-by-ton.png" alt="Codeforces"/></a> </div> <div class="lang"> <div style="text-align: right;"> <a href="?locale=en"><img src="//codeforces.org/s/34323/images/flags/24/gb.png" title="In English" alt="In English"/></a> <a href="?locale=ru"><img src="//codeforces.org/s/34323/images/flags/24/ru.png" title="По-русски" alt="По-русски"/></a> </div> </div> <br style="clear: both;"/> </div> <br style="clear: both;"/> <div style="text-align: center; font-size: 1.8rem; margin-bottom: 0.5em;" class="caption">Codeforces Round 146 (Div. 2)</div> <div style="border-top: 1px solid #ccc; height: 1em;"></div> <div class="problem-frames"> <div style="margin-bottom: 2em;" > <style> #facebox .content:has(.diff-popup) { width: 90vw; max-width: 120rem !important; } .testCaseMarker { position: absolute; font-weight: bold; font-size: 1rem; } .diff-popup { width: 90vw; max-width: 120rem !important; display: none; overflow: auto; } .input-output-copier { font-size: 1.2rem; float: right; color: #888 !important; cursor: pointer; border: 1px solid rgb(185, 185, 185); padding: 3px; margin: 1px; line-height: 1.1rem; text-transform: none; } .input-output-copier:hover { background-color: #def; } .test-explanation textarea { width: 100%; height: 1.5em; } .pending-submission-message { color: darkorange !important; } </style> <script> const OPENING_SPACE = String.fromCharCode(1001); const CLOSING_SPACE = String.fromCharCode(1002); const nodeToText = function (node, pre) { let result = []; if (node.tagName === "SCRIPT" || node.tagName === "math" || (node.classList && node.classList.contains("input-output-copier"))) return []; if (node.tagName === "NOBR") { result.push(OPENING_SPACE); } if (node.nodeType === Node.TEXT_NODE) { let s = node.textContent; if (!pre) { s = s.replace(/\s+/g, " "); } if (s.length > 0) { result.push(s); } } if (pre && node.tagName === "BR") { result.push("\n"); } node.childNodes.forEach(function (child) { result.push(nodeToText(child, node.tagName === "PRE").join("")); }); if (node.tagName === "DIV" || node.tagName === "P" || node.tagName === "PRE" || node.tagName === "UL" || node.tagName === "LI" ) { result.push("\n"); } if (node.tagName === "NOBR") { result.push(CLOSING_SPACE); } return result; } const isSpecial = function (c) { return c === ',' || c === '.' || c === ';' || c === ')' || c === ' '; } const convertStatementToText = function(statmentNode) { const text = nodeToText(statmentNode, false).join("").replace(/ +/g, " ").replace(/\n\n+/g, "\n\n"); let result = []; for (let i = 0; i < text.length; i++) { const c = text.charAt(i); if (c === OPENING_SPACE) { if (!((i > 0 && text.charAt(i - 1) === '(') || (result.length > 0 && result[result.length - 1] === ' '))) { result.push('+'); } } else if (c === CLOSING_SPACE) { if (!(i + 1 < text.length && isSpecial(text.charAt(i + 1)))) { result.push('-'); } } else { result.push(c); } } return result.join("").split("\n").map(value => value.trim()).join("\n"); }; </script> <div class="diff-popup"> </div> <div class="problemindexholder" problemindex="A" data-uuid="ps_1f0aedd978bce296c0af1dbc04b176f8ebc486f6"> <div style="display: none; margin:1em 0;text-align: center; position: relative;" class="alert alert-info diff-notifier"> <div>The problem statement has recently been changed. <a class="view-changes" href="#">View the changes.</a></div> <span class="diff-notifier-close" style="position: absolute; top: 0.2em; right: 0.3em; cursor: pointer; font-size: 1.4em;">×</span> </div> <div class="ttypography"><div class="problem-statement"><div class="header"><div class="title">A. Boy or Girl</div><div class="time-limit"><div class="property-title">time limit per test</div>1 second</div><div class="memory-limit"><div class="property-title">memory limit per test</div>256 megabytes</div><div class="input-file"><div class="property-title">input</div>standard input</div><div class="output-file"><div class="property-title">output</div>standard output</div></div><div><p>Those days, many boys use beautiful girls' photos as avatars in forums. So it is pretty hard to tell the gender of a user at the first glance. Last year, our hero went to a forum and had a nice chat with a beauty (he thought so). After that they talked very often and eventually they became a couple in the network. </p><p>But yesterday, he came to see "her" in the real world and found out "she" is actually a very strong man! Our hero is very sad and he is too tired to love again now. So he came up with a way to recognize users' genders by their user names.</p><p>This is his method: if the number of distinct characters in one's user name is odd, then he is a male, otherwise she is a female. You are given the string that denotes the user name, please help our hero to determine the gender of this user by his method.</p></div><div class="input-specification"><div class="section-title">Input</div><p>The first line contains a non-empty string, that contains only lowercase English letters — the user name. This string contains at most 100 letters.</p></div><div class="output-specification"><div class="section-title">Output</div><p>If it is a female by our hero's method, print "<span class="tex-font-style-tt">CHAT WITH HER!</span>" (without the quotes), otherwise, print "<span class="tex-font-style-tt">IGNORE HIM!</span>" (without the quotes).</p></div><div class="sample-tests"><div class="section-title">Examples</div><div class="sample-test"><div class="input"><div class="title">Input</div><pre>wjmzbmr<br /></pre></div><div class="output"><div class="title">Output</div><pre>CHAT WITH HER!<br /></pre></div><div class="input"><div class="title">Input</div><pre>xiaodao<br /></pre></div><div class="output"><div class="title">Output</div><pre>IGNORE HIM!<br /></pre></div><div class="input"><div class="title">Input</div><pre>sevenkplus<br /></pre></div><div class="output"><div class="title">Output</div><pre>CHAT WITH HER!<br /></pre></div></div></div><div class="note"><div class="section-title">Note</div><p>For the first example. There are 6 distinct characters in "<span class="tex-font-style-tt">wjmzbmr</span>". These characters are: "<span class="tex-font-style-tt">w</span>", "<span class="tex-font-style-tt">j</span>", "<span class="tex-font-style-tt">m</span>", "<span class="tex-font-style-tt">z</span>", "<span class="tex-font-style-tt">b</span>", "<span class="tex-font-style-tt">r</span>". So wjmzbmr is a female and you should print "<span class="tex-font-style-tt">CHAT WITH HER!</span>".</p></div></div></div> </div> <script> $(function () { Codeforces.addMathJaxListener(function () { let $problem = $("div[problemindex=A]"); let uuid = $problem.attr("data-uuid"); let statementText = convertStatementToText($problem.find(".ttypography").get(0)); let previousStatementText = Codeforces.getFromStorage(uuid); if (previousStatementText) { if (previousStatementText !== statementText) { $problem.find(".diff-notifier").show(); $problem.find(".diff-notifier-close").click(function() { Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60); $problem.find(".diff-notifier").hide(); }); $problem.find("a.view-changes").click(function() { $.post("/data/diff", {action: "getDiff", a: previousStatementText, b: statementText}, function (result) { if (result["success"] === "true") { Codeforces.facebox(".diff-popup", "//codeforces.org/s/34323"); $("#facebox .diff-popup").html(result["diff"]); } }, "json"); }); } } else { Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60); } }); }); </script> <script type="text/javascript"> $(document).ready(function () { window.changedTests = new Set(); function endsWith(string, suffix) { return string.indexOf(suffix, string.length - suffix.length) !== -1; } const inputFileDiv = $("div.input-file"); const inputFile = inputFileDiv.text(); const outputFileDiv = $("div.output-file"); const outputFile = outputFileDiv.text(); if (!endsWith(inputFile, "standard input") && !endsWith(inputFile, "standard input")) { inputFileDiv.attr("style", "font-weight: bold"); } if (!endsWith(outputFile, "standard output") && !endsWith(outputFile, "standard output")) { outputFileDiv.attr("style", "font-weight: bold"); } const titleDiv = $("div.header div.title"); String.prototype.replaceAll = function (search, replace) { return this.split(search).join(replace); }; $(".sample-test .title").each(function () { const preId = ("id" + Math.random()).replaceAll(".", "0"); const cpyId = ("id" + Math.random()).replaceAll(".", "0"); $(this).parent().find("pre").attr("id", preId); const $copy = $("<div title='Copy' data-clipboard-target='#" + preId + "' id='" + cpyId + "' class='input-output-copier'>Copy</div>"); $(this).append($copy); const clipboard = new Clipboard('#' + cpyId, { text: function (trigger) { const pre = document.querySelector('#' + preId); const lines = pre.querySelectorAll(".test-example-line"); return Codeforces.filterClipboardText(pre.innerText, lines.length); } }); const isInput = $(this).parent().hasClass("input"); clipboard.on('success', function (e) { if (isInput) { Codeforces.showMessage("The example input has been copied into the clipboard"); } else { Codeforces.showMessage("The example output has been copied into the clipboard"); } e.clearSelection(); }); }); $(".test-form-item input").change(function () { addPendingSubmissionMessage($($(this).closest("form")), "You changed the answer, do not forget to submit it if you want to save the changes"); const index = $(this).closest(".problemindexholder").attr("problemindex"); let test = ""; $(this).closest("form input").each(function () { const test_ = $(this).attr("name"); if (test_ && test_.substring(0, 4) === "test") { test = test_; } }); if (index.length > 0 && test.length > 0) { const indexTest = index + "::" + test; window.changedTests.add(indexTest); } }); $(window).on('beforeunload', function () { if (window.changedTests.size > 0) { return 'Dialog text here'; } }); autosize($('.test-explanation textarea')); $(".test-example-line").hover(function() { $(this).attr("class").split(" ").forEach((clazz) => { if (clazz.substr(0, "test-example-line-".length) === "test-example-line-") { let end = clazz.substr("test-example-line-".length); if (end !== "even" && end !== "odd" && end !== "0") { let top = 1E20; let left = 1E20; let problem = $(this).closest(".problemindexholder"); $(this).closest(".input").find("." + clazz).css("background-color", "#FFFDE7").each(function() { top = Math.min(top, $(this).offset().top); left = Math.min(left, $(this).offset().left); }); let testCaseMarker = problem.find(".testCaseMarker_" + end); if (testCaseMarker.length === 0) { const html = "<div class=\"testCaseMarker testCaseMarker_" + end + " notice\"></div>"; problem.append($(html)); testCaseMarker = problem.find(".testCaseMarker_" + end); } if (testCaseMarker) { testCaseMarker.show() .offset({top, left: left - 20}) .text(end); } } } }); }, function() { $(this).attr("class").split(" ").forEach((clazz) => { if (clazz.substr(0, "test-example-line-".length) === "test-example-line-") { let end = clazz.substr("test-example-line-".length); if (end !== "even" && end !== "odd" && end !== "0") { $("." + clazz).css("background-color", ""); $(this).closest(".problemindexholder").find(".testCaseMarker_" + end).hide(); } } }); }); }); </script> </div> <div style="margin-bottom: 2em;" > <div class="problemindexholder" problemindex="B" data-uuid="ps_ce5093b96ea71611b973f153e2c70cd3505bea92"> <div style="display: none; margin:1em 0;text-align: center; position: relative;" class="alert alert-info diff-notifier"> <div>The problem statement has recently been changed. <a class="view-changes" href="#">View the changes.</a></div> <span class="diff-notifier-close" style="position: absolute; top: 0.2em; right: 0.3em; cursor: pointer; font-size: 1.4em;">×</span> </div> <div class="ttypography"><div class="problem-statement"><div class="header"><div class="title">B. Easy Number Challenge</div><div class="time-limit"><div class="property-title">time limit per test</div>2 seconds</div><div class="memory-limit"><div class="property-title">memory limit per test</div>256 megabytes</div><div class="input-file"><div class="property-title">input</div>standard input</div><div class="output-file"><div class="property-title">output</div>standard output</div></div><div><p>Let's denote <span class="tex-span"><i>d</i>(<i>n</i>)</span> as the number of divisors of a positive integer <span class="tex-span"><i>n</i></span>. You are given three integers <span class="tex-span"><i>a</i></span>, <span class="tex-span"><i>b</i></span> and <span class="tex-span"><i>c</i></span>. Your task is to calculate the following sum:</p><center class="tex-equation"><img align="middle" class="tex-formula" src="https://espresso.codeforces.com/e052a04f766eb3e258c0b4a039f8da531d8ac734.png" style="max-width: 100.0%;max-height: 100.0%;" /></center><p>Find the sum modulo <span class="tex-span">1073741824</span> <span class="tex-span">(2<sup class="upper-index">30</sup>)</span>.</p></div><div class="input-specification"><div class="section-title">Input</div><p>The first line contains three space-separated integers <span class="tex-span"><i>a</i></span>, <span class="tex-span"><i>b</i></span> and <span class="tex-span"><i>c</i></span> (<span class="tex-span">1 ≤ <i>a</i>, <i>b</i>, <i>c</i> ≤ 100</span>).</p></div><div class="output-specification"><div class="section-title">Output</div><p>Print a single integer — the required sum modulo <span class="tex-span">1073741824</span> <span class="tex-span">(2<sup class="upper-index">30</sup>)</span>.</p></div><div class="sample-tests"><div class="section-title">Examples</div><div class="sample-test"><div class="input"><div class="title">Input</div><pre>2 2 2<br /></pre></div><div class="output"><div class="title">Output</div><pre>20<br /></pre></div><div class="input"><div class="title">Input</div><pre>5 6 7<br /></pre></div><div class="output"><div class="title">Output</div><pre>1520<br /></pre></div></div></div><div class="note"><div class="section-title">Note</div><p>For the first example.</p><ul> <li> <span class="tex-span"><i>d</i>(1·1·1) = <i>d</i>(1) = 1</span>; </li><li> <span class="tex-span"><i>d</i>(1·1·2) = <i>d</i>(2) = 2</span>; </li><li> <span class="tex-span"><i>d</i>(1·2·1) = <i>d</i>(2) = 2</span>; </li><li> <span class="tex-span"><i>d</i>(1·2·2) = <i>d</i>(4) = 3</span>; </li><li> <span class="tex-span"><i>d</i>(2·1·1) = <i>d</i>(2) = 2</span>; </li><li> <span class="tex-span"><i>d</i>(2·1·2) = <i>d</i>(4) = 3</span>; </li><li> <span class="tex-span"><i>d</i>(2·2·1) = <i>d</i>(4) = 3</span>; </li><li> <span class="tex-span"><i>d</i>(2·2·2) = <i>d</i>(8) = 4</span>. </li></ul><p>So the result is <span class="tex-span">1 + 2 + 2 + 3 + 2 + 3 + 3 + 4 = 20</span>.</p></div></div></div> </div> <script> $(function () { Codeforces.addMathJaxListener(function () { let $problem = $("div[problemindex=B]"); let uuid = $problem.attr("data-uuid"); let statementText = convertStatementToText($problem.find(".ttypography").get(0)); let previousStatementText = Codeforces.getFromStorage(uuid); if (previousStatementText) { if (previousStatementText !== statementText) { $problem.find(".diff-notifier").show(); $problem.find(".diff-notifier-close").click(function() { Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60); $problem.find(".diff-notifier").hide(); }); $problem.find("a.view-changes").click(function() { $.post("/data/diff", {action: "getDiff", a: previousStatementText, b: statementText}, function (result) { if (result["success"] === "true") { Codeforces.facebox(".diff-popup", "//codeforces.org/s/34323"); $("#facebox .diff-popup").html(result["diff"]); } }, "json"); }); } } else { Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60); } }); }); </script> <script type="text/javascript"> $(document).ready(function () { function endsWith(string, suffix) { return string.indexOf(suffix, string.length - suffix.length) !== -1; } const inputFileDiv = $("div.input-file"); const inputFile = inputFileDiv.text(); const outputFileDiv = $("div.output-file"); const outputFile = outputFileDiv.text(); if (!endsWith(inputFile, "standard input") && !endsWith(inputFile, "standard input")) { inputFileDiv.attr("style", "font-weight: bold"); } if (!endsWith(outputFile, "standard output") && !endsWith(outputFile, "standard output")) { outputFileDiv.attr("style", "font-weight: bold"); } const titleDiv = $("div.header div.title"); }); </script> </div> <div style="margin-bottom: 2em;" > <div class="problemindexholder" problemindex="C" data-uuid="ps_443e5edc78b070b0d1742712a24ea939776a4b3b"> <div style="display: none; margin:1em 0;text-align: center; position: relative;" class="alert alert-info diff-notifier"> <div>The problem statement has recently been changed. <a class="view-changes" href="#">View the changes.</a></div> <span class="diff-notifier-close" style="position: absolute; top: 0.2em; right: 0.3em; cursor: pointer; font-size: 1.4em;">×</span> </div> <div class="ttypography"><div class="problem-statement"><div class="header"><div class="title">C. LCM Challenge</div><div class="time-limit"><div class="property-title">time limit per test</div>2 seconds</div><div class="memory-limit"><div class="property-title">memory limit per test</div>256 megabytes</div><div class="input-file"><div class="property-title">input</div>standard input</div><div class="output-file"><div class="property-title">output</div>standard output</div></div><div><p>Some days ago, I learned the concept of LCM (least common multiple). I've played with it for several times and I want to make a big number with it.</p><p>But I also don't want to use many numbers, so I'll choose three positive integers (they don't have to be distinct) which are not greater than <span class="tex-span"><i>n</i></span>. Can you help me to find the maximum possible least common multiple of these three integers?</p></div><div class="input-specification"><div class="section-title">Input</div><p>The first line contains an integer <span class="tex-span"><i>n</i></span> (<span class="tex-span">1 ≤ <i>n</i> ≤ 10<sup class="upper-index">6</sup></span>) — the <span class="tex-span"><i>n</i></span> mentioned in the statement.</p></div><div class="output-specification"><div class="section-title">Output</div><p>Print a single integer — the maximum possible LCM of three not necessarily distinct positive integers that are not greater than <span class="tex-span"><i>n</i></span>.</p></div><div class="sample-tests"><div class="section-title">Examples</div><div class="sample-test"><div class="input"><div class="title">Input</div><pre>9<br /></pre></div><div class="output"><div class="title">Output</div><pre>504<br /></pre></div><div class="input"><div class="title">Input</div><pre>7<br /></pre></div><div class="output"><div class="title">Output</div><pre>210<br /></pre></div></div></div><div class="note"><div class="section-title">Note</div><p>The least common multiple of some positive integers is the least positive integer which is multiple for each of them.</p><p>The result may become very large, 32-bit integer won't be enough. So using 64-bit integers is recommended.</p><p>For the last example, we can chose numbers <span class="tex-span">7</span>, <span class="tex-span">6</span>, <span class="tex-span">5</span> and the LCM of them is <span class="tex-span">7·6·5 = 210</span>. It is the maximum value we can get.</p></div></div></div> </div> <script> $(function () { Codeforces.addMathJaxListener(function () { let $problem = $("div[problemindex=C]"); let uuid = $problem.attr("data-uuid"); let statementText = convertStatementToText($problem.find(".ttypography").get(0)); let previousStatementText = Codeforces.getFromStorage(uuid); if (previousStatementText) { if (previousStatementText !== statementText) { $problem.find(".diff-notifier").show(); $problem.find(".diff-notifier-close").click(function() { Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60); $problem.find(".diff-notifier").hide(); }); $problem.find("a.view-changes").click(function() { $.post("/data/diff", {action: "getDiff", a: previousStatementText, b: statementText}, function (result) { if (result["success"] === "true") { Codeforces.facebox(".diff-popup", "//codeforces.org/s/34323"); $("#facebox .diff-popup").html(result["diff"]); } }, "json"); }); } } else { Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60); } }); }); </script> <script type="text/javascript"> $(document).ready(function () { function endsWith(string, suffix) { return string.indexOf(suffix, string.length - suffix.length) !== -1; } const inputFileDiv = $("div.input-file"); const inputFile = inputFileDiv.text(); const outputFileDiv = $("div.output-file"); const outputFile = outputFileDiv.text(); if (!endsWith(inputFile, "standard input") && !endsWith(inputFile, "standard input")) { inputFileDiv.attr("style", "font-weight: bold"); } if (!endsWith(outputFile, "standard output") && !endsWith(outputFile, "standard output")) { outputFileDiv.attr("style", "font-weight: bold"); } const titleDiv = $("div.header div.title"); }); </script> </div> <div style="margin-bottom: 2em;" > <div class="problemindexholder" problemindex="D" data-uuid="ps_ad1a1333ddd23b23257bf9b115442045f33ee001"> <div style="display: none; margin:1em 0;text-align: center; position: relative;" class="alert alert-info diff-notifier"> <div>The problem statement has recently been changed. <a class="view-changes" href="#">View the changes.</a></div> <span class="diff-notifier-close" style="position: absolute; top: 0.2em; right: 0.3em; cursor: pointer; font-size: 1.4em;">×</span> </div> <div class="ttypography"><div class="problem-statement"><div class="header"><div class="title">D. Let's Play Osu!</div><div class="time-limit"><div class="property-title">time limit per test</div>2 seconds</div><div class="memory-limit"><div class="property-title">memory limit per test</div>256 megabytes</div><div class="input-file"><div class="property-title">input</div>standard input</div><div class="output-file"><div class="property-title">output</div>standard output</div></div><div><p>You're playing a game called Osu! Here's a simplified version of it. There are <span class="tex-span"><i>n</i></span> clicks in a game. For each click there are two outcomes: correct or bad. Let us denote correct as "<span class="tex-font-style-tt">O</span>", bad as "<span class="tex-font-style-tt">X</span>", then the whole play can be encoded as a sequence of <span class="tex-span"><i>n</i></span> characters "<span class="tex-font-style-tt">O</span>" and "<span class="tex-font-style-tt">X</span>".</p><p>Using the play sequence you can calculate the score for the play as follows: for every maximal consecutive "<span class="tex-font-style-tt">O</span>"s block, add the square of its length (the number of characters "<span class="tex-font-style-tt">O</span>") to the score. For example, if your play can be encoded as "<span class="tex-font-style-tt">OOXOOOXXOO</span>", then there's three maximal consecutive "<span class="tex-font-style-tt">O</span>"s block "<span class="tex-font-style-tt">OO</span>", "<span class="tex-font-style-tt">OOO</span>", "<span class="tex-font-style-tt">OO</span>", so your score will be <span class="tex-span">2<sup class="upper-index">2</sup> + 3<sup class="upper-index">2</sup> + 2<sup class="upper-index">2</sup> = 17</span>. If there are no correct clicks in a play then the score for the play equals to <span class="tex-span">0</span>.</p><p>You know that the probability to click the <span class="tex-span"><i>i</i></span>-th <span class="tex-span">(1 ≤ <i>i</i> ≤ <i>n</i>)</span> click correctly is <span class="tex-span"><i>p</i><sub class="lower-index"><i>i</i></sub></span>. In other words, the <span class="tex-span"><i>i</i></span>-th character in the play sequence has <span class="tex-span"><i>p</i><sub class="lower-index"><i>i</i></sub></span> probability to be "<span class="tex-font-style-tt">O</span>", <span class="tex-span">1 - <i>p</i><sub class="lower-index"><i>i</i></sub></span> to be "<span class="tex-font-style-tt">X</span>". You task is to calculate the expected score for your play.</p></div><div class="input-specification"><div class="section-title">Input</div><p>The first line contains an integer <span class="tex-span"><i>n</i></span> (<span class="tex-span">1 ≤ <i>n</i> ≤ 10<sup class="upper-index">5</sup></span>) — the number of clicks. The second line contains <span class="tex-span"><i>n</i></span> space-separated real numbers <span class="tex-span"><i>p</i><sub class="lower-index">1</sub>, <i>p</i><sub class="lower-index">2</sub>, ..., <i>p</i><sub class="lower-index"><i>n</i></sub></span> <span class="tex-span">(0 ≤ <i>p</i><sub class="lower-index"><i>i</i></sub> ≤ 1)</span>.</p><p>There will be at most six digits after the decimal point in the given <span class="tex-span"><i>p</i><sub class="lower-index"><i>i</i></sub></span>.</p></div><div class="output-specification"><div class="section-title">Output</div><p>Print a single real number — the expected score for your play. Your answer will be considered correct if its absolute or relative error does not exceed <span class="tex-span">10<sup class="upper-index"> - 6</sup></span>.</p></div><div class="sample-tests"><div class="section-title">Examples</div><div class="sample-test"><div class="input"><div class="title">Input</div><pre>3<br />0.5 0.5 0.5<br /></pre></div><div class="output"><div class="title">Output</div><pre>2.750000000000000<br /></pre></div><div class="input"><div class="title">Input</div><pre>4<br />0.7 0.2 0.1 0.9<br /></pre></div><div class="output"><div class="title">Output</div><pre>2.489200000000000<br /></pre></div><div class="input"><div class="title">Input</div><pre>5<br />1 1 1 1 1<br /></pre></div><div class="output"><div class="title">Output</div><pre>25.000000000000000<br /></pre></div></div></div><div class="note"><div class="section-title">Note</div><p>For the first example. There are 8 possible outcomes. Each has a probability of 0.125.</p><ul> <li> "<span class="tex-font-style-tt">OOO</span>" <span class="tex-span"> → </span> <span class="tex-span">3<sup class="upper-index">2</sup> = 9</span>; </li><li> "<span class="tex-font-style-tt">OOX</span>" <span class="tex-span"> → </span> <span class="tex-span">2<sup class="upper-index">2</sup> = 4</span>; </li><li> "<span class="tex-font-style-tt">OXO</span>" <span class="tex-span"> → </span> <span class="tex-span">1<sup class="upper-index">2</sup> + 1<sup class="upper-index">2</sup> = 2</span>; </li><li> "<span class="tex-font-style-tt">OXX</span>" <span class="tex-span"> → </span> <span class="tex-span">1<sup class="upper-index">2</sup> = 1</span>; </li><li> "<span class="tex-font-style-tt">XOO</span>" <span class="tex-span"> → </span> <span class="tex-span">2<sup class="upper-index">2</sup> = 4</span>; </li><li> "<span class="tex-font-style-tt">XOX</span>" <span class="tex-span"> → </span> <span class="tex-span">1<sup class="upper-index">2</sup> = 1</span>; </li><li> "<span class="tex-font-style-tt">XXO</span>" <span class="tex-span"> → </span> <span class="tex-span">1<sup class="upper-index">2</sup> = 1</span>; </li><li> "<span class="tex-font-style-tt">XXX</span>" <span class="tex-span"> → </span> <span class="tex-span">0</span>. </li></ul><p>So the expected score is <img align="middle" class="tex-formula" src="https://espresso.codeforces.com/9aa477286058d4dd02d6f78cad11a658e4f37440.png" style="max-width: 100.0%;max-height: 100.0%;" /></p></div></div></div> </div> <script> $(function () { Codeforces.addMathJaxListener(function () { let $problem = $("div[problemindex=D]"); let uuid = $problem.attr("data-uuid"); let statementText = convertStatementToText($problem.find(".ttypography").get(0)); let previousStatementText = Codeforces.getFromStorage(uuid); if (previousStatementText) { if (previousStatementText !== statementText) { $problem.find(".diff-notifier").show(); $problem.find(".diff-notifier-close").click(function() { Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60); $problem.find(".diff-notifier").hide(); }); $problem.find("a.view-changes").click(function() { $.post("/data/diff", {action: "getDiff", a: previousStatementText, b: statementText}, function (result) { if (result["success"] === "true") { Codeforces.facebox(".diff-popup", "//codeforces.org/s/34323"); $("#facebox .diff-popup").html(result["diff"]); } }, "json"); }); } } else { Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60); } }); }); </script> <script type="text/javascript"> $(document).ready(function () { function endsWith(string, suffix) { return string.indexOf(suffix, string.length - suffix.length) !== -1; } const inputFileDiv = $("div.input-file"); const inputFile = inputFileDiv.text(); const outputFileDiv = $("div.output-file"); const outputFile = outputFileDiv.text(); if (!endsWith(inputFile, "standard input") && !endsWith(inputFile, "standard input")) { inputFileDiv.attr("style", "font-weight: bold"); } if (!endsWith(outputFile, "standard output") && !endsWith(outputFile, "standard output")) { outputFileDiv.attr("style", "font-weight: bold"); } const titleDiv = $("div.header div.title"); }); </script> </div> <div style="margin-bottom: 1em;" > <div class="problemindexholder" problemindex="E" data-uuid="ps_a977c878d8b5b3639f07d2172c805c171b3f1ae1"> <div style="display: none; margin:1em 0;text-align: center; position: relative;" class="alert alert-info diff-notifier"> <div>The problem statement has recently been changed. <a class="view-changes" href="#">View the changes.</a></div> <span class="diff-notifier-close" style="position: absolute; top: 0.2em; right: 0.3em; cursor: pointer; font-size: 1.4em;">×</span> </div> <div class="ttypography"><div class="problem-statement"><div class="header"><div class="title">E. Cyclical Quest</div><div class="time-limit"><div class="property-title">time limit per test</div>3 seconds</div><div class="memory-limit"><div class="property-title">memory limit per test</div>512 megabytes</div><div class="input-file"><div class="property-title">input</div>standard input</div><div class="output-file"><div class="property-title">output</div>standard output</div></div><div><p>Some days ago, WJMZBMR learned how to answer the query "how many times does a string <span class="tex-span"><i>x</i></span> occur in a string <span class="tex-span"><i>s</i></span>" quickly by preprocessing the string <span class="tex-span"><i>s</i></span>. But now he wants to make it harder.</p><p>So he wants to ask "how many consecutive substrings of <span class="tex-span"><i>s</i></span> are cyclical isomorphic to a given string <span class="tex-span"><i>x</i></span>". You are given string <span class="tex-span"><i>s</i></span> and <span class="tex-span"><i>n</i></span> strings <span class="tex-span"><i>x</i><sub class="lower-index"><i>i</i></sub></span>, for each string <span class="tex-span"><i>x</i><sub class="lower-index"><i>i</i></sub></span> find, how many consecutive substrings of <span class="tex-span"><i>s</i></span> are cyclical isomorphic to <span class="tex-span"><i>x</i><sub class="lower-index"><i>i</i></sub></span>.</p><p>Two strings are called <span class="tex-font-style-it">cyclical isomorphic</span> if one can rotate one string to get the other one. 'Rotate' here means 'to take some consecutive chars (maybe none) from the beginning of a string and put them back at the end of the string in the same order'. For example, string "<span class="tex-font-style-tt">abcde</span>" can be rotated to string "<span class="tex-font-style-tt">deabc</span>". We can take characters "<span class="tex-font-style-tt">abc</span>" from the beginning and put them at the end of "<span class="tex-font-style-tt">de</span>".</p></div><div class="input-specification"><div class="section-title">Input</div><p>The first line contains a non-empty string <span class="tex-span"><i>s</i></span>. The length of string <span class="tex-span"><i>s</i></span> is not greater than <span class="tex-span">10<sup class="upper-index">6</sup></span> characters.</p><p>The second line contains an integer <span class="tex-span"><i>n</i></span> (<span class="tex-span">1 ≤ <i>n</i> ≤ 10<sup class="upper-index">5</sup></span>) — the number of queries. Then <span class="tex-span"><i>n</i></span> lines follow: the <span class="tex-span"><i>i</i></span>-th line contains the string <span class="tex-span"><i>x</i><sub class="lower-index"><i>i</i></sub></span> — the string for the <span class="tex-span"><i>i</i></span>-th query. The total length of <span class="tex-span"><i>x</i><sub class="lower-index"><i>i</i></sub></span> is less than or equal to <span class="tex-span">10<sup class="upper-index">6</sup></span> characters.</p><p>In this problem, strings only consist of lowercase English letters.</p></div><div class="output-specification"><div class="section-title">Output</div><p>For each query <span class="tex-span"><i>x</i><sub class="lower-index"><i>i</i></sub></span> print a single integer that shows how many consecutive substrings of <span class="tex-span"><i>s</i></span> are cyclical isomorphic to <span class="tex-span"><i>x</i><sub class="lower-index"><i>i</i></sub></span>. Print the answers to the queries in the order they are given in the input.</p></div><div class="sample-tests"><div class="section-title">Examples</div><div class="sample-test"><div class="input"><div class="title">Input</div><pre>baabaabaaa<br />5<br />a<br />ba<br />baa<br />aabaa<br />aaba<br /></pre></div><div class="output"><div class="title">Output</div><pre>7<br />5<br />7<br />3<br />5<br /></pre></div><div class="input"><div class="title">Input</div><pre>aabbaa<br />3<br />aa<br />aabb<br />abba<br /></pre></div><div class="output"><div class="title">Output</div><pre>2<br />3<br />3<br /></pre></div></div></div></div></div> </div> <script> $(function () { Codeforces.addMathJaxListener(function () { let $problem = $("div[problemindex=E]"); let uuid = $problem.attr("data-uuid"); let statementText = convertStatementToText($problem.find(".ttypography").get(0)); let previousStatementText = Codeforces.getFromStorage(uuid); if (previousStatementText) { if (previousStatementText !== statementText) { $problem.find(".diff-notifier").show(); $problem.find(".diff-notifier-close").click(function() { Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60); $problem.find(".diff-notifier").hide(); }); $problem.find("a.view-changes").click(function() { $.post("/data/diff", {action: "getDiff", a: previousStatementText, b: statementText}, function (result) { if (result["success"] === "true") { Codeforces.facebox(".diff-popup", "//codeforces.org/s/34323"); $("#facebox .diff-popup").html(result["diff"]); } }, "json"); }); } } else { Codeforces.putToStorageTtl(uuid, statementText, 6 * 60 * 60); } }); }); </script> <script type="text/javascript"> $(document).ready(function () { function endsWith(string, suffix) { return string.indexOf(suffix, string.length - suffix.length) !== -1; } const inputFileDiv = $("div.input-file"); const inputFile = inputFileDiv.text(); const outputFileDiv = $("div.output-file"); const outputFile = outputFileDiv.text(); if (!endsWith(inputFile, "standard input") && !endsWith(inputFile, "standard input")) { inputFileDiv.attr("style", "font-weight: bold"); } if (!endsWith(outputFile, "standard output") && !endsWith(outputFile, "standard output")) { outputFileDiv.attr("style", "font-weight: bold"); } const titleDiv = $("div.header div.title"); }); </script> </div> </div> <div id="footer"> <div><a href="https://codeforces.com/">Codeforces</a> (c) Copyright 2010-2023 Mike Mirzayanov</div> <div>The only programming contests Web 2.0 platform</div> </div> </div> </div> <script type="application/javascript"> if ('serviceWorker' in navigator && 'fetch' in window && 'caches' in window) { navigator.serviceWorker.register('/service-worker-34323.js') .then(function (registration) { console.log('Service worker registered: ', registration); }) .catch(function (error) { console.log('Registration failed: ', error); }); } </script> <script>(function(){var js = "window['__CF$cv$params']={r:'7e43bfe89cafb32f',m:'GgB_7fkhl6dvCV5sz8wtkd34WOpzvML.X3p0c4NMGWw-1688939081-0-AS4VUAtoOAqefLZ6e+t+KmIa5sQ3rStYbGNDVI7yTC8/'};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/invisible.js',document.getElementsByTagName('head')[0].appendChild(_cpo);";var _0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position = 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility = 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi = _0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj = _0xi.createElement('script');_0xj.nonce = '';_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if (document.readyState !== 'loading') {handler();} else if (window.addEventListener) {document.addEventListener('DOMContentLoaded', handler);} else {var prev = document.onreadystatechange || function () {};document.onreadystatechange = function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange = prev;handler();}};}})();</script></body> </html>