𝕿𝖊𝖈𝖍𝖗𝖎𝖌𝖍𝖙𝖘 Bulletin for Thursday, January 27, 2022 ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ Generated Fri 28 Jan 02:43:01 GMT 2022 Created by Dr. Roy Schestowitz (𝚛𝚘𝚢 (at) 𝚜𝚌𝚑𝚎𝚜𝚝𝚘𝚠𝚒𝚝𝚣 (dot) 𝚌𝚘𝚖) Full hyperlinks for navigation omitted but are fully available in the originals The corresponding HTML versions are at 𝒕𝒆𝒄𝒉𝒓𝒊𝒈𝒉𝒕𝒔.𝒐𝒓𝒈 Latest in 𝒉𝒕𝒕𝒑://𝒕𝒆𝒄𝒉𝒓𝒊𝒈𝒉𝒕𝒔.𝒐𝒓𝒈/𝒕𝒙𝒕 and older bulletins can be found at 𝒉𝒕𝒕𝒑://𝒕𝒆𝒄𝒉𝒓𝒊𝒈𝒉𝒕𝒔.𝒐𝒓𝒈/𝒕𝒙𝒕-𝒂𝒓𝒄𝒉𝒊𝒗𝒆𝒔 Full IPFS index in 𝒉𝒕𝒕𝒑://𝒕𝒆𝒄𝒉𝒓𝒊𝒈𝒉𝒕𝒔.𝒐𝒓𝒈/𝒊𝒑𝒇𝒔 and as plain text in 𝒉𝒕𝒕𝒑://𝒕𝒆𝒄𝒉𝒓𝒊𝒈𝒉𝒕𝒔.𝒐𝒓𝒈/𝒊𝒑𝒇𝒔/𝒕𝒙𝒕 Gemini index for the day: gemini://gemini.techrights.org/2022/01/27/ ╒═══════════════════ 𝐑𝐄𝐂𝐄𝐍𝐓 𝐁𝐔𝐋𝐋𝐄𝐓𝐈𝐍𝐒 ════════════════════════════════════╕ Previous bulletins in IPFS (past 21 days, in chronological order): QmfKHqGowjRxdQqskGCLaTJvfCGFi19QHkyd8kwa9PMJ21 QmP9Us6BzAW1DtJJVXeJt8AyhFyfNcNAfWtLTvSMzp6Ltp QmRocUr84sVRrmmhApYkrairZ9gM3urZnz5pkw4h6pxA9b QmQ1r9n2zgVqwtQ4bsQLNP2kbfnhn22xRMWVDD5qUuwkKF QmU5vYfwSWKbwcf52ai4QQxmeVvq2qk4Rno1afMvVcdEUm QmSRxd1L1Tjg5YFR28UqaVozsZZh3xMVhvDKvnfHxuctNe QmUYb6AJaHEaYvQGdw1Z8bffPkohvdveAhmoUhNFHe4PB6 QmRXpMsysY15jnTdXabNj8RQWyYQoA287zCaWvJJjNWzB2 QmaSCmshgLNtetvtehrJTkVzA4UKVtdrEf2DcHz8b5gBoV QmZWJhSMSsSbuTS3JfxxEo3tfs2QfTCENeVipKSaQVU5b2 Qmehhm7o1VbxWg8uyeTcYkk6Hr1Cp4Ho21X2wCnesY9asd Qmf3TSbMJS9koYs7ieZ1w3WBpaDp6x7rx5xnhC6B134fFL QmbAVHY5Ges1nF9HNsiNn6FsQW8UdTFHURKDG1QgSKpKw7 QmZnZkCBXLzZg5rkewh3peFLzQ5xAZRm6HpjAvmtf39ELR QmZeHUaFKnCwMohgf9hT7KAvQEFvHbBZ8MUZTtceSkoLZc QmQLbqvdSXzQ59gWzwwt9RARegF8vZB68qihXTbNcDNoxy QmXRhRDa28yw47e5ym8hgWTNSCTtmH5t22GCpvFvaGYDwN QmNrH8cLM4mYaiBXzhdkhAQm8XM54JzRQa3Z1Ng4a41kcV QmZjLA2jtgeEhSJihNxjJW3q7KaEU6iyCKve9pmkci3m61 QmTWgjCkngZ2r4jN8fZGmd7bpEdJL3pBfU6vKWFNxPmkYf QmUa6NW563bcVpbJi9K42Aap4iTTXYmJcu5bTsjAcRc9yG ╒═══════════════════ 𝐈𝐍𝐃𝐄𝐗 ═══════════════════════════════════════════════════╕ ⦿ On the Internet, Trust Should Not Become Centralised | Techrights ⦿ IRC Proceedings: Wednesday, January 26, 2022 | Techrights ⦿ [Meme] EPO: Pursuing an Eastern and Western District of Europe (for Patent Trolls and Software Patents) | Techrights ⦿ Microsoft-Connected Publishers Suffer and Perish With Microsoft (While Peddling ’Fake News’ for Their Beloved Sponsor) | Techrights ䷼ Bulletin articles (as HTML) to comment on (requires login): http://techrights.org/2022/01/27/centralising-trust-is-bad/#comments http://techrights.org/2022/01/27/irc-log-260122/#comments http://techrights.org/2022/01/27/meme-epo-pursuing-an-eastern-and-western-district-of-europe-for-patent-trolls-and-software-patents/#comments http://techrights.org/2022/01/27/perishing-with-microsoft/#comments ䷞ Followed by Daily Links (assorted news picks curated and categorised): http://techrights.org/2022/01/27/archinstall-2-3-1/#comments http://techrights.org/2022/01/27/opnsense-22-1-released/#comments http://techrights.org/2022/01/27/pipewire-0-3-44/#comments ䷩ 𝚕𝚒𝚗𝚎 58 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/27/centralising-trust-is-bad/#comments Gemini version at gemini://gemini.techrights.org/2022/01/27/centralising-trust-is-bad/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.27.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ On_the_Internet,_Trust_Should_Not_Become_Centralised⠀✐ Posted in Deception, Google, Microsoft, Security at 11:38 am by Dr. Roy Schestowitz Video_download_link | md5sum 58023098d2c54163340ddba23fed9bf5 Sites and Capsules Can Trust Themselves Creative Commons Attribution-No Derivative Works 4.0 http://techrights.org/videos/self-signed-trust.webm Summary: “Trust” is a word that lost its meaning in the era of “TPM” and fancier_names_for_'Palladium'; we need to reject this idea that computers need to check_with_Microsoft_if_the_operating_system_is_trusted (not just Windows!), check with Gulag/Chrome if a Web site is trusted, and whether it's_OK_to_run some_application/s_on_one's_own_computer (as if Jim Zemlin et al get to decide what is trusted) LAST night we_wrote about the growing popularity of self-signing Gemini capsules. Over time more and more of them reject the CA model, which was mostly reinforced by monopolistic corporations and their ‘pyramid scheme’, grabbing “trust” off Web sites while selling those sites abundant (but suddenly artificially scarce or expensive) “certificates” several times per year. Of course Mozilla (with Firefox) helped those monopolistic corporations — with them_being_financial_masters_of_Mozilla — just like it had embraced DRM (EME), in effect participating in the attack on the open Web and harming disabled (e.g. blind) people in the process. So much for Inclusion and/or Diversity… “Apparently the ‘disease’ of CA conglemerates has already spread to GNU (wget) and Curl (Microsoft GitHub; it really ought not be there).”The above video explains that many people are installing and setting up Gemini servers this month*, based on yesterday’s_statistics, and certificates (for TLS) remain one of the technical barriers. Having privacy through TSL/SSL is excellent, but outsourcing this whole system to nasty corporations (using Linux_Foundation as their front) is not OK. This paves the way for censorship of sites (at browser level), censorship of operating systems (at boot time), and censorship of software (in_vivo). Apparently the ‘disease’ of CA conglemerates has already spread to GNU (wget) and Curl (Microsoft GitHub; it_really_ought_not_be_there). “It would be worth checking the various TLS libraries and modules to see if they accept self- signed certificates,” an associate told me this morning, as “wget and curl don’t, at least by default. “If I recall correctly wget does not accept them at all, the only choice with them is to ignore them if wget has to be used.” Quick checks can confirm**. YMMV (e.g. derivative distributions). █ ____ * As I point out in the video, loads of people seems to be installing Gemini this month and here’s the latest bump: 🄸🄼🄰🄶🄴_🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽_⦇Geminispace_ay_2007⦈_ ** Recent versions: curl: (60) SSL certificate problem: unable to get local issuer certificate wget: ERROR: The certificate of example.ddns.net is not trusted. ERROR: The certificate of example.ddns.net doesn't have a known issuer. ⢀⣴⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣤⠀⠀ ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀ ⠀⠈⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠁⠀⠀ ䷩ 𝚕𝚒𝚗𝚎 152 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/27/irc-log-260122/#comments Gemini version at gemini://gemini.techrights.org/2022/01/27/irc-log-260122/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.27.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ IRC_Proceedings:_Wednesday,_January_26,_2022⠀✐ Posted in IRC_Logs at 2:04 am by Needs Sunlight Also available via the Gemini protocol at: * gemini://gemini.techrights.org/irc-gmi/irc-log-techrights-260122.gmi * gemini://gemini.techrights.org/irc-gmi/irc-log-260122.gmi * gemini://gemini.techrights.org/irc-gmi/irc-log-social-260122.gmi * gemini://gemini.techrights.org/irc-gmi/irc-log-techbytes-260122.gmi Over HTTP: 🄸🄼🄰🄶🄴_🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽_⦇H 🄸🄼🄰🄶🄴_🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽_⦇HTML5_logs⦈_ #techrights_log_as_HTML5 #boycottnovell_log_as_HTML5 🄸🄼🄰🄶🄴_🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽_⦇H 🄸🄼🄰🄶🄴_🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽_⦇HTML5_logs⦈_ #boycottnovell-social_log_as_HTML5 #techbytes_log_as_HTML5 🄸🄼🄰🄶🄴_🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽_⦇t 🄸🄼🄰🄶🄴_🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽_⦇text_logs⦈_ #techrights_log_as_text #boycottnovell_log_as_text 🄸🄼🄰🄶🄴_🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽_⦇t 🄸🄼🄰🄶🄴_🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽_⦇text_logs⦈_ #boycottnovell-social_log_as_text #techbytes_log_as_text Enter_the_IRC_channels_now =============================================================================== § IPFS Mirrors⠀➾ CID Description Object type IRC log for  QmWDbDMLPtcEhn1o2ooHr8NehuQJRKfd6NG7yp49Gtpzis #boycottnovell 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇HTML5 logs⦈ (full IRC log as HTML) IRC log for #boycottnovell  QmaDcZ44otP8DqHbAxL2F3ZpQWP5jSZHygCdmDbQFj5t28 (full IRC log 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇text logs⦈ as plain/ASCII text) IRC log for #boycottnovell-  QmaXy4757AqkXC57ok2qDg1VT5GyaFM4jmHnXEdLq3LzZE social 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇HTML5 logs⦈ (full IRC log as HTML) IRC log for #boycottnovell-  QmS4hadVWRJ5PtMJ4KTS4nxkTqWkWjrYNev1iHNj835FW3 social 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇text logs⦈ (full IRC log as plain/ASCII text) IRC log for  QmcYmVHvpLkjAzU35Yw6rU8vSbV4yRuWRxtT8txY9TgJaW #techbytes 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇HTML5 logs⦈ (full IRC log as HTML) IRC log for #techbytes  QmVACpag761AK6oQk5uVFWUEpJAxW1M9yqLMz2N9Afs3LX (full IRC log 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇text logs⦈ as plain/ASCII text) IRC log for  QmeZcRZjRuCu9PxBTxUBYK6r1ziw6RAWD4dwWXuze99v3s #techrights 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇HTML5 logs⦈ (full IRC log as HTML) IRC log for #techrights  Qmen3Ftha9f66UtLmAAzWDWje1CoWw8RJskLvRSXfk9X3N (full IRC log 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇text logs⦈ as plain/ASCII text) 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇IPFS logo⦈ § Bulletin for Yesterday⠀➾ Local_copy | CID (IPFS): QmUa6NW563bcVpbJi9K42Aap4iTTXYmJcu5bTsjAcRc9yG ䷩ 𝚕𝚒𝚗𝚎 279 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/27/meme-epo-pursuing-an-eastern-and-western-district-of-europe-for-patent-trolls-and-software-patents/#comments Gemini version at gemini://gemini.techrights.org/2022/01/27/meme-epo-pursuing-an-eastern-and-western-district-of-europe-for-patent-trolls-and-software-patents/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.27.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ [Meme]_EPO:_Pursuing_an_Eastern_and_Western_District_of_Europe_(for_Patent Trolls_and_Software_Patents)⠀✐ Posted in Europe, Patents at 12:19 am by Dr. Roy Schestowitz 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇EPC? No, UPC⦈ EPC has been ignored for ages (and_violated_routinely), so why not violate national constitutions as well? Summary: With the EPO so flagrantly lying_and_paying_for_misinformation maybe we should expect Benoît_Battistelli and António_Campinos to have delusions of grandeur… such as presiding over the Eastern and Western District of Europe, just like Mr. Gilstrap and Mr. Albright (political appointment by Donald Trump, ushering in “the_swamp”) 🄸🄼🄰🄶🄴_🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽_⦇Judge_Albright_Names_Lawyer_For_Patent_Trolls_As_New Magistrate_Judge_For_Waco⦈_ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⡟⠛⣰⣿⣿⣿⣿⣿⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠛⢋⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣼ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣯⣯⣿⣟⣿⣗⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿ ⠀⢀⢠⠒⢤⣤⠄⠀⢀⡄⢀⠀⣀⣀⡀⡀⣼⣿⣿⣿⣿⣶⣿⣿⣷⣿⣿⣯⣽⣿⡟⠁⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣷⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿ ⠀⠘⠊⠒⠚⠲⠃⠀⠞⠚⠼⠱⠿⢔⠶⣷⣿⣿⣿⣿⠿⢿⣿⢻⣽⣿⣿⣿⣿⣿⣶⣦⡀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡿⠀⠀⠀⣸⣿⣿⣿⣿⠟⣿⣿⣿⣿⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣯⡍⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣯⣤⣀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣶⣶⣸⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⣤⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⠇⠀⢀⣸⣿⣿⣿⣿⣿⡿⡿⣿⡿⠋⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢹⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⠴⠆⠀⣸⣿⣿⣿⣿⣶⣶⣬⠋⣿⣿⣿⣿⣿⣷⠁⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⠿⣿⣦⣽⡿⣿⣿⣀⠠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠁⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠻⠿⢿⣿⣿⡏⢸⣿⣿⣿⣿⠛⠛⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⢸⢱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢛⣛⡿⢇⠄⠀⠀⠀⠀⠀⣿⣿⣿⣿⣘⣿⣿⣿⣿⡏⠀⢿⣿⣿⣿⢻⣿⣿⣿⣿⢏⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣾⣿⣿⣷⣾⣧⠀⠀⠀⠀⠘⠻⣿⣿⣿⣿⣿⣿⠟⠀⢠⣿⣿⣶⡍⣼⣿⣿⠏⠰⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⡇⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣄⠈⠉⠀⠰⢿⣿⡆⠀⠀⠀⠀⠀⠙⠻⠿⡿⠁⠀⠐⠅⠾⢿⣿⣿⠃⠘⠏⣍⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⠛⣿⣿⡟⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣦⣿⣿⣷⠀⠀⣻⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠃⠀⠀⣤⣜⢨⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⣿⣿⠇⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⡆⠀⢻⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⣿⣿⠋⠁⠀⠀⠈⠛⠛⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⡡⣿⡟⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⡇⠀⠀⢿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢄⠊⣿⠁⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠇⠀⠀⠰⠛⠻⠿⠗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠣⡀⡿⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡒⢢⠀⠃⠀⠀⠘ ⠀⠤⠤⠤⠤⠤⠤⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⢿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢢⠢⠀⠀⠀⠀⢀ ⠀⠄⠲⣶⠄⢶⠄⠰⠴⠶⠆⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀⠀⡄⠛⢛⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣤⣤⣤⣼⣤⣶⣦⣤⣾⣤⣴⠀⠀⠀⢸ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⡟⠁⠀⣰⣿⣿⣿⣿⣿⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣯⣯⣵⣟⣿⣗⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣾⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿ ⠀⠀⢠⠄⢄⡤⠄⠀⢀⡀⢀⠀⡀⣀⠀⡀⣼⣿⣿⣿⣿⣶⣿⣿⣷⣿⣿⣯⣽⣿⡟⠁⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣡⣤⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣷⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿ ⠀⠐⠚⠒⠚⠪⠇⠀⠞⠺⠼⠳⠿⣒⡷⣧⣿⣿⣿⣿⠿⢿⣿⢻⣽⣿⣿⣿⣿⣿⣶⣦⡀⢀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠉⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⢿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡿⠀⢀⣴⣿⣿⣿⣿⣿⠟⣿⣿⣿⣿⠈⢩⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣯⡍⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣤⣄⣈⣻⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣶⣾⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡿⣠⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣧⣶⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡿⠿⣿⣿⣿⣿⣿⣿⣿⣷⣾⣿⣿⣿⠟⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⡿⠟⠁⠙ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⠇⣼⣿⣿⢻⣿⣿⣿⣿⡿⣿⣿⠿⠋⢠⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⠂⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠴⠆⠀⣸⣿⣿⣿⣿⣶⣿⣿⠏⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⡿⢿⣷⡆⣿⡿⣿⣿⣿⣾⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠻⠿⢿⣿⣿⡏⢸⣿⣿⣿⣿⠉⠉⠀⠀⠀⠀⣿⣿⣿⣿⣿⢿⣿⣿⣷⣶⢸⢳⣿⣿⣿⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣭⣛⣛⠿⢇⣴⡀⠀⠀⠀⠀⣿⣿⣿⣿⣛⣿⣿⣿⣿⡏⠀⡿⣿⣿⣿⢿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢀⣾ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣛⠿⠿⠿⠿⢿⣿⡇⠀⠀⠀⠀⠘⠿⣿⣿⣿⣿⣿⣿⠟⠀⢠⣿⣶⣶⡍⠙⠿⠏⣽⣾⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠄⠀⠀⣾ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡂⡁⠀⠀⠀⠻⣿⣷⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠁⠀⠀⠀⠾⠿⣿⣿⠃⠀⠐⠂⠸⠛⠉⢿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⣰⣿⠀⠀⢠⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⢸⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠄⠀⠀⠀⢀⣤⠀⠀⣦⣖⠇⠀⠸⣿⣿⣿⣿⣿⡿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⠇⠀⠀⢸⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣄⣿⣿⡇⠀⠸⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⢸⣿⡇⠸⡜⠉⠁⠀⠀⠈⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠁⠀⠀⠀⠈⢹ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⡃⠀⠀⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠅⠀⠀⠀⠀⣾ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⠁⠀⠀⠻⠛⠿⠿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀⠀⠈⠛ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⠀⠀⠀⠀ ⠀⢀⠀⠀⠀⠤⠤⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⢸⢿⡀⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠠⢰⠆⠀⠀⠀⠀⣿ ⠀⠄⠲⣶⠈⢴⠄⠰⠴⠶⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢨⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠛⠛⡃⠀⠀⠀⠀⢈⠀⠀⠀⠀⢠⣤⣤⣤⣤⣤⣮⣴⣤⣴⣤⣾⣴⡀⠀⠀⠀⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⠟⠀⠀⣰⣿⣿⣿⣿⣿⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣰ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣾⣯⣯⣵⣛⣿⣗⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿ ⠀⠀⢀⠤⢄⡠⡄⠀⠀⡀⢀⠀⠀⣀⠀⠀⣼⣿⣿⣿⣿⣶⣿⣿⣷⣿⣿⣯⣽⣿⡏⠁⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣷⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿ ⠀⠐⠚⠢⠞⠪⠇⠀⠜⠺⠸⠳⠿⣐⡧⣧⣿⣿⣿⣿⠿⢿⣿⣻⣽⣿⣿⣿⣿⣿⣶⣦⡀⠀⣠⣼⣿⣿⣿⣿⣿⣿⣿⣟⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡿⠀⣠⣾⣿⣿⣿⣿⣿⠟⣿⣿⣿⣿⠺⢿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⡛⠂⠀⢸⣿⣿⣿⣿⣿⣾⣿⣯⡍⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣶⣤⣤⡀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡿⢠⣿⣿⣿⣿⠛⢻⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⠆⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡿⣿⣿⣿⢏⣿⣿⣿⣿⣷⣾⣿⣿⣿⠇⣼⣿⣿⣿⡿⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠁⠀⠉⠙⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⠇⣿⣿⡟⣸⣿⣿⣿⣿⡿⣿⣿⠿⠋⢠⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠼⠃⠀⠀⠀⢸⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠤⠄⠀⣸⣿⣿⣿⣿⣶⣿⣯⠈⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⣼⣿⣿⣿⣿⡿⡿⣿⣷⣼⣿⣿⣿⣻⣿⠻⣿⣽⣿⣿⣿⡿⣿⣿⢿⣿⣿⣿⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⢸⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠻⠿⢿⣿⣿⡏⢸⣿⣿⣿⣿⠉⠉⠀⠀⠀⠀⣿⣿⣿⣿⠏⢸⣿⣿⣷⣶⢻⣿⣿⣿⣿⣿⣵⣿⣿⣿⣿⠃⢸⣿⣿⣿⡏⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⢿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣤⣽⣭⣻⠛⠿⢇⣰⡀⠀⠀⠀⠀⣿⣿⣿⣿⣀⣿⣿⣿⣿⡏⠈⢿⣿⣿⣿⠻⣿⣿⣿⣿⣿⠀⠀⢹⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⠃⢸⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠿⡛⠿⠿⠿⢿⣿⣿⡇⠀⠀⠀⠀⠘⠻⣿⣿⣿⣿⣿⣿⠟⠀⢠⣿⣶⣶⡍⠀⠈⠉⣭⣾⡟⠀⠀⠈⣿⣿⣿⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⡿⠁⠀⢨⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠈⢿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠁⠀⠀⠀⠾⠿⣿⣿⠃⠀⠀⠠⣿⣿⡇⠀⠀⠀⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⠀⠀⠀⣸⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠨⣷⡄⠀⠀⠀⠸⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⠁⠀⠀⠀⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠃⠀⠀⢰⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠃⠀⣿⣧⠀⠀⢀⡄⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠀⠀⠀⠀⠀⠀⠀⠟⠛⠁⠀⠀⠀⠀⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⢠⡄⠋⠀⠀⠻⢿⣽⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡶⠻⠂⠀⠀⠙⠾⢭⣍⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠈⠀⠀⠀⠀⠀⠒⠈⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠽⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿ ⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡀⠀⠀⠀⠀⠀⠛⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿ ⠀⠀⠲⣶⠈⢴⠄⠰⠴⠶⠆⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠋⠀⠀⠀⠀⠀⢡⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠚⠚⠃⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣤⣀⣤⣤⣤⣤⣤⣤⣄⣄⠀⠀⠀⠀⠀⠀⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣰⣿⡿⠉⠀⣰⣿⣿⣿⣿⣷⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣾⣯⣯⣥⣚⣿⡗⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣼⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿ ⠀⠀⢀⠤⢄⡠⡀⠀⠀⡀⢀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣶⣿⣿⣷⣿⣿⣯⣽⣿⡟⠁⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣷⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿ ⠀⠐⠘⠤⠜⠬⠆⠀⠼⠳⢸⢣⣾⣠⡥⢧⣿⣿⣿⣿⠿⢿⣿⠻⣽⣿⣿⣿⣿⣿⣶⣦⣀⣀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣟⡀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡿⠀⢀⣶⣿⣿⣿⣿⣿⠟⣿⣿⣿⣿⠸⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣶⣦⠤⠀⠘⣿⣿⣿⣿⣿⣾⣿⣯⡍⠀⠀⠀⠀⠀⠀⢠⣤⣄⣄⡀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣶⣾⣿⣿⣿⣿⣿⣿⡄⣿⣿⣿⡿⢠⣿⣿⣿⣿⠛⢻⣿⣿⣿⣿⣿⣿⣯⣷⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⡧⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡿⢿⣿⣿⣟⣿⣿⣿⣿⣿⣾⣿⣿⣿⠇⣼⣿⣿⣿⣏⣄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡆⠀⠀⠀⠀⠀⠀⠀⠛⠙⠟⠁⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⠇⣼⣿⡿⢹⣿⣿⣿⣿⠿⣿⣿⠿⠋⢠⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⡶⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣶⣿⣿⠃⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⣼⣿⣿⣿⡟⣿⡿⣿⣶⡀⢹⣿⣿⣋⣉⣻⣿⣽⣿⣿⣿⡿⣿⣿⣿⣿⢿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠻⠿⢿⣿⣿⡏⢸⣿⣿⣿⣿⡙⠛⠀⠀⠀⠀⣿⣿⣿⣿⠓⢻⣿⣿⣷⣶⠘⢿⣿⣿⣿⣿⣵⣿⣿⣿⣿⠃⠸⣿⣿⣿⡭⠻⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⠇⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣬⣽⣭⣛⡛⠿⠇⢀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣀⣿⣿⣿⣿⡏⠀⠿⣿⣿⣿⠻⣿⣿⣿⣿⣿⡆⠀⠿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⠏⠀⢸⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⢿⠛⢿⠿⠿⣿⣿⣿⡇⠀⠀⠀⠀⠘⠻⣿⣿⣿⣿⣿⣿⠟⠀⢠⣿⣶⣶⡍⠀⠈⠉⢩⣶⣿⠇⠀⠠⠿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⠟⠁⠀⠒⢚⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠈⢻⣿⡗⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠁⠀⠀⠀⠾⠿⣿⣿⠃⠀⠀⠀⣸⣿⡏⠀⠀⠀⠀⠘⣿⣷⠀⠀⠀⠀⠀⠀⢀⣾⣿⠁⠀⠀⠀⠀⢸⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣧⡆⠀⠀⠀⠈⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⠁⠀⠀⠀⠀⠀⠸⣿⡄⠀⠀⠀⠀⠀⠈⠛⠁⠀⠀⠀⠀⠀⢻⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣯⠀⠀⠀⠀⢹⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠿⠇⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡄⠀⠀⠀⠀⠄⢈⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡤⠓⠀⠀⠀⠘⠦⢌⣉⣃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⠰⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿ ⣀⣀⣀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠑⠖⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠨⠝⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿ ⠀⠀⠲⣶⠉⢤⠄⠠⠠⠶⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠃⠀⠀⠀⠀⠀⠘⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣀⠀⠀⠀⠀⣀⣀⣀⣀⣀⠀⠀⠀⢸⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⡿⠿⠃⠀⣰⣿⣿⣿⣿⣷⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⡿⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣾⣯⣯⣥⣚⣿⡗⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿ ⠀⠀⢀⠤⡀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣶⣿⣿⣷⣿⣿⣯⣽⣿⣿⣷⣦⣄⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣷⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿ ⠀⠠⠜⠤⠜⠅⠆⠀⡼⠵⢸⢦⢾⡭⡅⢥⣿⣿⣿⣿⠿⢿⣿⠻⣽⣿⣿⣿⣿⣿⣿⣿⡻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⡧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⣸⣿⣿⣿⡿⠀⠀⣠⣾⣿⣿⣿⣿⡟⣿⣿⣿⣿⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠤⠀⠘⣿⣿⣿⣿⣿⣾⣿⣯⡍⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⣿⡇⣿⣿⣿⡿⢠⣿⣿⣿⣿⠛⢻⣿⣿⣿⣿⣿⣿⣯⣿⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⢀⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⣼⣿⣿⣿⣯⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠻⠛⣿⠏⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⠇⢀⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⠿⠋⢠⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⢠⡄⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣶⣾⣿⡿⣿⣿⣿⣿⣯⣷⡶⠀⠀⠀⣼⣿⣿⣿⡟⣿⡿⡟⣿⣦⢹⣿⣟⣛⣛⣶⣿⣿⣿⣿⣿⡿⢹⣿⣿⣿⡿⣿⣿⣿⣶⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠻⠿⢿⣿⣿⡏⢹⣿⣿⣿⣿⠉⠛⠃⠀⠀⠀⣿⣿⣿⣿⠇⢹⣿⣿⣷⣶⠈⢻⣿⣿⣿⣿⣵⣿⣿⣿⣿⠃⠈⣿⣿⣿⡇⠈⠛⠛⠛⠀⠀⠀⠀⠀⣴⣶⡆⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣍⣉⣛⣛⡿⠇⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣀⣿⣿⣿⣿⡏⠀⠼⣿⣿⣿⠻⣿⣿⣿⣿⣿⡆⠀⡿⣿⣿⣧⡀⠀⠀⠀⠀⠀⠀⠀⣴⣿⠟⠁⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⡿⠻⢿⢿⡴⣿⣿⣦⠀⠀⠀⠀⢘⠻⣿⣿⣿⣿⣿⣿⠟⠀⢠⣿⣶⣶⡍⠀⠈⠉⢩⣶⡿⠃⠀⠐⢻⣿⣿⣗⠀⠀⠀⠀⠀⢠⣾⠟⠉⠀⠀⠤⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠈⠙⣿⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠁⠀⠀⠀⠾⠿⣿⣿⠃⠀⠀⢀⣿⣿⠇⠀⠀⠀⠀⢿⣿⣿⡀⠀⠀⢀⣴⡿⠁⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢾⣿⣆⠀⠀⠈⢻⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⣼⣿⡏⠀⠀⠀⠀⠀⠈⢿⣿⣧⠀⠀⠘⠛⠁⠀⠀⠀⠀⠀⠀⢶⠄⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣺⣿⡿⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠀⠀⠀⠀⠀⠀⠀⠀⠙⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⣾⣿⡇⠀⠀⠀⠋⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⡟⠸⠀⠀⠀⠈⠦⠽⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠟⠀⠀⠀⠀⠀⠐⠶⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿ ⠀⠀⠀⣀⢀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠲⠖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿ ⠀⠀⠲⣲⠉⢰⠄⠠⠠⠔⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢀⣀⣀⣀⣀⡀⡀⠀⡀⠀⠀⠈⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣷⣶⣦⠀⢹⣿⠁⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⣼⣿⡆⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣶⣄⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣾⣯⣯⣥⣚⣿⡗⣿⣿⣷⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⢿⣿⡀⠀⠀⢀⣀⣀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢹⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣼⣿⣿ ⠀⠀⢀⣀⡀⢀⠀⠀⠀⠀⠀⠸⣿⡇⠀⠀⣼⣿⣿⣿⣿⣶⣿⣿⣷⣿⣿⣯⣽⣿⡏⠁⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣷⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿ ⠀⠠⠼⢄⠼⢕⡆⠀⡸⢧⢸⢼⠟⠁⠀⢀⣿⣿⣿⣿⠿⢿⣿⠻⣽⣿⣿⣿⣿⣿⣶⣦⡀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡿⠀⠀⠀⢀⣿⣿⣿⣿⠟⣿⣿⣿⣿⠀⢠⣴⣿⣿⣿⣿⣿⣿⡿⣻⣿⣷⣶⣤⠀⠀⠘⣿⣿⣾⣿⣿⣾⣿⣯⣭⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣶⣶⠀⣸⣿⣿⣿⣿⣆⣿⣿⣿⡿⢠⣿⣿⣿⣿⢛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡿⠿⠿⡇⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⣼⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⠇⠀⠀⠀⣾⣿⣿⣿⣿⢿⣿⣿⡿⠋⢠⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⢹⣿⣿⣿⣿⣿⣿⣷⣄⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣶⣶⣤⠀⣿⣿⣿⣿⣇⣾⣿⡏⢀⠄⣼⣿⣿⣿⡟⣸⡿⣿⠷⣾⣿⣿⣿⣿⣿⣿⣟⣽⣿⣿⣿⡿⠈⣿⣿⣿⣿⡟⠿⢿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠻⠿⢿⣿⣿⡇⢸⣿⣿⣿⣿⣽⣿⣿⣷⣿⠀⣿⣿⣿⣿⠃⢻⣿⣿⣿⣿⢻⢳⣿⣿⣿⣿⣴⣿⣿⣿⣿⡇⠀⢻⣿⣿⣿⡇⠀⠀⠀⣿⣿⠊⠉⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠿⠇⠀⠀⠎⠀⠀⠀⣿⣿⣿⣿⣀⣿⣿⣿⣿⡏⣾⠿⣿⣿⣿⠻⣿⣿⣿⣿⢿⡇⠀⢸⡟⢻⣿⣧⠀⠀⣰⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣬⠍⢀⣀⣐⠗⠂⣀⠀⠀⠘⠻⣿⣿⣿⣿⣿⣿⠟⠀⢻⣿⣶⣶⡍⠀⢨⣭⣭⣶⣿⠁⠀⠸⠾⠛⣿⣿⣧⢠⣿⠟⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣵⣶⠌⠙⠻⠛⠻⣶⠀⠀⠀⠀⠀⠈⠉⠉⠁⠀⠀⠀⠾⠿⣿⣿⠃⠀⣼⣿⣿⣿⡏⠀⠀⠀⠀⠀⣿⣿⣿⣟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣷⡆⠀⠀⠈⣴⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⡇⠀⠀⠀⣹⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⠿⠁⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠃⠀⠀⠐⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠿⠻⠀⠀⠀⠠⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢉⣹⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢐⣒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿ ⠀⠃⠲⣲⠋⠓⠄⠠⠠⠔⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠬⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣷⣶⣦⠀⠀⢀⣿⡟⣻⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⣸⣿⣇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣶⣯⣯⣥⣚⣿⡗⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣰⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣄⣀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿ ⠀⠀⠀⣀⡀⢀⠀⠀⢸⣿⣿⣇⡀⠀⠀⠀⣼⣿⣿⣿⣿⣶⣿⣿⣷⣿⣿⣯⣽⣿⡏⠁⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣷⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿ ⠀⠠⠸⢀⡼⣕⡇⠀⡸⢭⢹⣿⡿⠁⢂⢢⣿⣿⣿⣿⠿⢿⣿⠻⣽⣿⣿⣿⣿⣿⣶⣦⡀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⡟⡀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⡧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠃⠀⠀⣸⣿⣿⣿⡿⠀⠀⠀⢀⣿⣿⣿⣿⠟⣿⣿⣿⣿⠀⢠⣴⣿⣿⣿⣿⣿⣿⣻⢿⣿⣶⣦⣄⠀⠀⠘⣿⣿⣿⣿⣿⣾⣿⣯⡍⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣶⣶⠀⣸⣿⣿⣿⣿⣇⣿⣿⣿⡿⢠⣿⣿⣿⣿⢟⣿⣿⣿⣿⣾⣿⣿⣿⣿⣷⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡿⠿⠿⡇⢀⣿⣿⣿⣿⣷⣿⣿⣿⣿⠇⣼⣿⣿⣿⡟⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⠇⠀⠀⠀⢸⣿⣿⣿⣿⠿⣿⣿⡿⠋⢠⣿⣿⣿⣿⢳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢹⣿⣿⣿⣿⣿⣿⣷⣄⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣇ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣶⣶⣤⠀⣿⣿⣿⣿⡯⣷⣿⣿⣁⡄⣼⣿⣿⣿⡟⣼⡿⣿⢷⣾⣿⣿⣿⣿⣿⣿⡿⣽⣿⣿⣿⡿⠸⢿⣿⣿⣿⡟⠿⢿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠻⠿⢿⣿⣿⡇⢸⣿⣿⣿⣿⣰⣽⣿⣿⣿⠇⣿⣿⣿⣿⠃⢹⣿⣿⣷⣿⠿⢻⣿⣿⣿⣿⣴⣿⣿⣿⣿⡇⠀⠘⣿⣿⣿⡇⠀⠀⣾⣿⠛⠛⠉⠉⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠿⠇⠈⠀⠐⠂⠀⠀⣿⣿⣿⣿⣀⣿⣿⣿⣿⡏⣾⠾⣿⣿⣿⠻⣿⣿⣿⣿⢿⡇⠀⠀⠿⢸⣿⣷⠀⣸⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡭⠄⢀⣀⣘⠓⣃⡀⠀⠘⠻⣿⣿⣿⣿⣿⣿⠟⠀⢻⣿⣶⣶⡍⠀⢨⣭⣭⣶⣿⠇⠀⠠⠾⠛⢻⣿⣧⣿⠏⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⡶⠍⠙⠛⠛⢛⣖⠀⠀⠀⠀⠈⠉⠉⠁⠀⠀⠀⠾⣿⣿⣿⠃⠀⢰⣿⣿⣿⡟⠀⠀⠀⠀⠀⢸⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⡁⠀⠀⢠⣾⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⡿⠁⠀⠀⠀⠀⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⠃⠀⠀⢬⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠿⠟⠀⠀⠀⠀⠀⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡟⠀⠀⠐⣾⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠛⠓⠀⠀⠀⢻⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣙⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿ ⠀⠓⠲⣲⠋⠓⠄⠠⠠⠖⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣷⣶⣦⠘⢿⣿⣷⣿⣯⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⣙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣾⣯⣯⣥⣚⣿⡗⠀⠙⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣾⣿⣿ ⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣶⣿⣿⣷⣿⣿⣯⣽⣿⡟⠁⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣷⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿ ⠀⠆⠸⣀⡽⣓⡅⠀⡰⢧⠐⢄⣰⣐⣂⣂⣿⣿⣿⣿⠿⢿⣿⠻⣽⣿⣿⣿⣿⣿⣶⣦⡀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⣀⡀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠈⠉⠁⣸⣿⣿⣿⡿⠀⠀⠀⢀⣿⣿⣿⣿⣟⣿⣿⣿⣿⠀⣠⣴⣿⣿⣿⣿⣿⣿⣛⣽⣿⣿⣿⣿⣦⠀⠘⣿⣿⣿⣿⣿⣾⣿⣯⡍⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣶⣶⠀⣸⣿⣿⣿⣿⢻⣿⣿⣿⡿⢠⣿⣿⣿⣿⢟⣿⣿⣿⣿⣿⣿⣿⣯⣿⣿⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠶⢿⣿⣶⣶⣆⠀⣸⣿⣿⣿⡿⠿⠿⡇⢀⣿⣿⣿⣿⣷⣾⣿⣿⣿⠇⣼⣿⣿⣿⡟⣜⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⠉⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠋⢀⣿⣿⣿⣿⠇⠀⠀⠀⢸⣿⣿⣿⣿⠿⣿⣿⣿⠋⢠⣿⣿⣿⣿⢣⣹⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⣤⣤⡤⠄⠀⠀⠀⠀⣇⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣶⣶⣤⠀⣿⣿⣿⣿⣿⣿⢠⣿⣿⠀⣼⣿⣿⣿⡟⢸⡿⢿⣿⣶⣿⣿⣿⣿⣛⣴⣿⣿⣿⣿⣿⣿⢳⣿⣿⣿⣿⣿⣿⣿⣦⣤⣴⣾⠿⠿⠇⠀⠀⠀⠀⠀⣿⣷⣾⣷ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠻⠿⢿⣿⣿⡇⢸⣿⣿⣿⣿⠽⠛⠙⠿⡉⠀⣿⣿⣿⣿⠇⢸⣿⣿⣿⣿⠹⢻⣿⣿⣿⣿⣽⣿⣿⣿⣿⣿⢸⣧⣿⣿⣿⣿⣿⡿⣿⣿⠿⠿⠏⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣏ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠿⠇⠀⠀⠀⣀⠀⠀⣿⣿⣿⣿⣀⣿⣿⣿⣿⡏⠘⠾⣿⣿⣿⠻⣿⣿⣿⣿⢿⣿⠈⣷⣿⢻⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⣿⠷⢶⣶⣷⣶⡀⠘⠻⣿⣿⣿⣿⣿⣿⠟⠀⢠⣿⣶⣶⡍⠀⢨⣭⣭⣴⣿⣿⠀⠘⣧⠀⢿⣿⡁⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣿⣿⠀⠉⠀⠘⣯⠀⠀⠀⠈⠉⠉⠁⠀⠀⠀⠾⠿⣿⣿⠃⠀⣸⣿⣿⣿⠋⠉⠀⠀⠉⠀⠘⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⡧⠀⠀⣚⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⢹⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⡇⠀⢀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡇⠀⢰⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣈⣛⣿⣿⡇⠀⠀⢹⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡉⠀⠀⠁⠀⠀⠐⢾⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣺⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿ ⠈⠛⠺⢿⠋⠛⠍⠠⠠⠔⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠃⠈⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢾⠀⠀⠀⠀⠅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣶⣦⠘⢿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⣹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣯⣯⣵⣛⣿⣗⠀⠙⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣴⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿ ⠀⡀⠀⣀⡀⢀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⠀⢀⣀⣀⡀⠸⣿⡿⣷⣿⣿⣯⣽⣿⡟⠁⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡁⢀⣀⣀⣀⣀⣠⣴⣿⣿⣿⣿⣷⣄⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠇⠸⣀⡽⣗⡇⠀⡸⢧⢰⢤⢸⣿⣿⣿⡄⢸⣿⣿⣿⠀⣱⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠈⢸⣿⣿⣿⣷⢸⣿⣿⣿⠀⣿⣿⣿⣷⣼⣿⣿⣿⠀⠀⠀⠀⡠⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⣿⣿⣿⣯⣿⣿⣿⣿⡬⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣷⣾⣿⣿⣿⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣇⣿⣿⣿⣟⣿⣿⣿⣿⠁⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠿⢿⣿⣶⣾⣾⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡟⣿⣿⣿⣿⣴⠀⠀⠀⠈⢿⡟⣿⣿⣿⣿⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣶⣿⣿⣿⣿⣤⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡿⠋⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠙⢹⣿⣿⣿⢿⣿⣿⣿⣿⠀⣿⣿⣿⣧⣼⣿⣿⣿⣿⠀⠀⠀⠀⠈⠀⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⣤⣤⣤⠤⠀⠀⠀⠀⣇⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⢸⣿⣿⣿⠘⣿⣿⣿⣿⠀⢿⣿⣿⣯⣽⣿⣿⣿⣿⣶⣶⡆⠀⠀⠀⢻⣿⣿⣿⣼⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣿⣧⢻⣿⣿⣿⣽⣿⣿⣿⣧⣴⣾⠿⠿⠇⠀⠀⠀⠀⠀⣿⣷⣾⣷ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠘⠛⠛⠛⠀⠙⠛⠛⠛⠀⠀⠙⣿⣿⠿⠟⠋⠽⡁⣻⣿⠁⠀⠀⢠⣀⣙⣻⣿⠿⠿⣛⡡⢀⡘⠛⠛⠛⠛⣿⣿⣿⢻⣧⣿⣿⣿⣿⣿⠛⢽⣿⣿⡿⠏⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣟ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⠄⠀⣄⠀⠋⠁⠀⠀⠀⢜⣯⢽⣿⣿⠁⢸⣿⣿⣿⡇⠀⠀⣇⠀⣿⣿⣿⠸⣿⣿⢿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢻⣿⡿⣷⣶⣿⣶⡆⠀⠀⠀⠀⣿⡆⠈⠛⠟⠀⠈⣿⣿⣿⡇⠀⢰⣿⣷⣿⣿⣿⠀⢹⣿⣏⢿⣿⡁⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣶⣿⣿⠄⠉⠀⢙⣿⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠿⠿⠛⠃⠀⣸⣿⣿⣿⠋⠉⠀⠀⠉⠀⠘⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣷⠀⠐⣻⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⢹⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⡇⠀⢨⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠼⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡇⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⡇⠀⠈⢻⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠁⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣯⠄⠀⠁⠀⠀⠰⣾⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣇⣠⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⠀⠀⠀⢰⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿ ⠉⠛⠻⣿⠛⠻⠏⠡⠰⠖⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⡏⠹⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⡄⠀⠀⠾⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⢀⣀⣐⡀⠁⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣶⣦⢠⠀⠀⣿⡟⣡⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡎⣆⣼⣿⣇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣾⣯⣯⣵⣛⣿⣗⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿ ⠀⡀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⢀⣀⣀⡀⠸⣿⡿⣷⣿⣿⣯⣽⣿⡟⠁⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡁⢀⣀⣀⣀⣀⣠⣴⣿⣿⣿⣿⣷⣄⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿ ⠀⢇⡸⣀⡱⣓⡅⠀⣰⣧⢰⢄⢸⣿⣿⣿⡄⢸⣿⣿⣿⠀⣱⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠈⢸⣿⣿⣿⣷⢸⣿⣿⣿⠀⣿⣿⣿⣧⣸⣿⣿⣿⠀⠀⠀⠀⣀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⡏⣿⣿⣿⣯⣿⣿⣿⣿⡌⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣾ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣾⣿⣿⣿⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣸⣿⣿⣿⡿⢻⣿⣿⣿⣇⣿⣿⣿⣟⣿⣿⣿⣿⠁⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡟⢻⣿⣿⣿⡀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣶⣿⣿⣿⣿⣶⣦⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⢿⣿⣿⣿⣿⠀⣿⣿⣿⣇⣼⣿⣿⣿⡇⠀⠀⠀⠀⠈⠿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡯⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⣀⣠⡤⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣶⣾⣿⣿⣿⠘⣿⣿⣿⣿⠀⢿⣿⣿⣧⣼⣿⣿⣿⣀⣶⣶⡆⠀⠀⠀⢻⣿⣿⣿⣼⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣿⣧⢻⣿⣿⣿⣽⣿⣿⣿⣧⣶⣶⣿⣿⠇⠀⠀⠀⠀⠀⣿⣇⠀⢠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠙⠛⠛⠛⠀⠙⠛⠛⠛⠀⠀⠙⢻⣿⣿⡿⠛⡉⠃⣻⣿⠁⠀⠀⠀⣄⣙⣻⡿⠿⠿⢛⠁⠀⡘⠛⠛⠛⠋⣿⣿⣿⡟⣧⣹⣻⣿⡿⠿⠛⠽⠿⠿⣿⠿⠀⠀⠀⠀⠀⠀⠀⣿⣿⡄⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠤⠄⠠⠀⢠⡄⠋⠁⠀⠀⠀⠸⣩⣤⣥⣌⠁⠀⣿⣧⣤⡇⠀⠀⣰⡀⢿⣿⣿⢻⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⢿⣿⣷⣿⣿⣿⡄⠀⠀⠀⠀⠀⠦⠀⠉⠋⠀⠀⠸⣿⣿⣇⠀⣰⣿⣿⣿⣿⣿⠨⠿⠿⠹⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣯ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣙⡻⣖⠈⠉⠉⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠃⠀⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠹⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣷⣳⠀⠀⢰⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠈⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⠀⠀⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡿⠀⠀⢿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⡇⠀⠀⣸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣻⠷⠒⠛⠁⠀⠰⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠚⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠈⠓⠻⣿⠛⠻⠏⠡⠢⠖⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⠓⣶⡶⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣶⣦⠀⣴⣿⠿⠁⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⣿⣇⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣾⣯⣯⣵⣚⣿⣗⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣾ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⣿⣿⣷⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿ ⠀⡀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⢀⣀⣀⡀⠸⣿⡿⣷⣟⣿⣯⢽⣿⡟⠁⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡁⢀⣀⣀⣀⣀⣠⣴⣿⣿⣿⣿⣷⣄⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⣿⣿⣿ ⠀⢇⡸⣀⡱⣓⡅⠀⡸⣆⡖⣴⢸⣿⣿⣿⡄⢸⣿⣿⣿⠀⣱⣿⣿⣿⣿⣿⣿⣎⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠿⠿ ⠀⠀⠀⠀⠀⠀⠀⠀⠁⠈⠁⠈⢸⣿⣿⣿⣷⢸⣿⣿⣿⠀⣿⣿⣿⣇⢸⣿⣿⣿⠀⢸⡀⢀⠈⢻⣿⣿⣿⣿⣿⢻⣿⣿⣿⣷⣾⣿⣿⣿⡏⣿⣿⣿⣯⣿⣿⣿⣿⡌⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣯⣶⣤⣾ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⢻⣿⣿⣿⣇⣿⣿⣿⣟⣿⣿⣿⣿⠁⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣟⢿⣿⣿⣿⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⢼⣿⣿⣿⣿⣹⣿⣿⣿⣿⣿⡿⣿⣶⣿⣿⣿⣿⣿⣶⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⢿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢾⣿⣿⣿⠀⠀⠀⠀⠀⠘⢻⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣠⣤⡶⠂⠀⠀⠀⠀⠀⣨⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⢸⣿⣿⣿⠘⣿⣿⣿⣿⠀⢿⣿⣿⣧⣼⣿⣿⡿⡀⣶⣶⡆⠀⠀⠀⢻⣿⣿⣿⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣽⣿⣿⣿⣷⣶⣾⣿⡿⠿⠇⠀⢹⣿⡀⢀⣴⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠘⢛⣛⣻⣷⠙⠛⠛⠛⠀⠀⠙⠻⠿⣿⣿⣿⡧⠛⣻⣿⠁⠀⠀⠀⢠⣽⡻⡿⠿⠿⠛⠑⠛⠙⠛⠛⠛⠃⣿⣿⣿⣿⣷⣽⣻⣿⠿⠿⠛⠑⠛⠛⠻⠟⠁⠀⠀⠀⢠⣭⣧⢸⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠿⠿⠋⠀⠀⠀⠀⠀⠀⠀⠀⢘⠛⠋⠀⠀⠀⠋⠁⠀⠀⠀⠀⢤⣄⣈⠉⠁⠀⢹⣃⠀⣠⠀⣠⣾⣇⣹⣿⣿⠇⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣼⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣠⣤⣴⠀⠀⠀⠀⠀⠀⠀⠙⠟⠛⠁⠀⠀⠈⣿⣿⣿⡾⣿⣿⣿⣿⣿⣿⢀⣿⠿⢿⣿⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣈⣾⣯⠟⠉⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⢡⣿⣿⣿⣿⣿⠃⠛⠃⠀⠘⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣷⣾⡉⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⣼⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠹⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⠃⠀⠰⡇⠀⠀⠀⠀⠀⠀⠐⠃⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⠿⠁⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠘⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣯⢟⡏⠀⠀⠠⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⢹⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢾⣭⠭⠟⠁⠀⠀⠰⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣶ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⡯⠔⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿ ⠀⠓⠲⢿⠋⠻⠏⠡⠠⠖⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⠇⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣷⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣾⣯⣯⣥⣚⣿⡗⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿ ⠀⡀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⢀⣀⣀⡀⠸⣿⡿⣷⣟⣿⣯⢽⣿⣿⣧⣀⡀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡁⢀⣀⣀⣀⣀⣠⣴⣿⣿⣿⣿⣷⣄⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣷⣿⣿⣿ ⠀⣇⣨⣀⡅⣣⡄⠀⣸⣆⡶⣴⢸⣿⣿⣿⡄⢸⣿⣿⣿⠀⣱⣿⣿⣿⣿⣿⣿⣎⠻⢿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠔⠿⠿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠁⠈⠁⠈⢸⣿⣿⣿⣷⢸⣿⣿⣿⠀⣿⣿⣿⣇⢸⣿⣿⣿⠰⣠⡈⠉⠉⢻⣿⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣿⣿⡏⣿⣿⣿⣯⣿⣿⣿⣿⣬⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢰⣄⣠⣶⣄⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣼⣿⣿⣿⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣇⣿⣿⣿⣟⣿⣿⣿⣿⠿⠿⠿⠿⠇⠀⠀⠀⠀⠀⡀⠀⠨⢿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡏⢿⣿⣿⣿⠀⠀⠀⠀⠀⠀⣟⣿⣿⣿⣿⢸⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⡿⣿⣖⣿⣿⣿⣿⣷⣦⣀⣀⡀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠉⡿⠛⠻⢻ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⢿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⢸⣿⣿⣿⣏⣾⣿⣿⣿⣿⣿⣿⣿⣏⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣴⣷⡿⠁⠀⣤⣤⣧⣤⡄⣸ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠘⣿⣿⣿⣿⠀⢿⣿⣿⣧⣼⣿⣿⡿⠀⣶⣶⡆⠀⠀⣿⢻⣿⣿⣿⣼⣿⣿⣿⢻⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⣧⣤⣶⣿⡿⣿⡇⢠⣾⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠛⠀⠙⠛⠛⠛⠀⠀⠙⠻⠿⢿⡟⠋⠁⠀⣻⣿⠁⠀⠀⠸⢀⠙⠻⠿⠿⠿⠛⠁⠀⠘⢛⠛⠛⣫⡉⢹⣿⣿⣿⣙⣻⠿⣿⠿⢛⣿⡿⡿⠿⠿⠁⣤⣤⣾⣿⣿⣿⡏⠉⠉⠙ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣿⣿⣄⠀⠀⠁⠀⠀⠀⠀⠋⠁⠀⠀⠀⠐⣧⣭⣷⣀⠀⠀⠀⢀⣤⣾⡿⠁⢠⣿⣧⣾⣿⣿⣿⣿⣿⣏⡿⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⡇⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⠿⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣶⠌⠉⠁⠀⠀⠀⣿⣿⣿⠀⣰⣿⣿⣿⣿⣿⣿⡟⠈⠛⢻⡇⠀⠀⠀⠀⠀⠀⠀⠀⣴⢿⣷⣾⣿⣿⣥⣤⣶⣶ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣆⠀⠀⠀⠀⠈⠸⡿⠿⣰⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⣼⡀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡁⠀⢸⣇⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⢤⡄⠀⠐⠿⣿⣿⣿⣿⣿⡟⠀⠀⠀⢰⣿⡇⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣾⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠈⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⠛⠀⠀⠀⠀⠘⠿⠃⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣤⣸⡿⠀⠀⠀⢻⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠿⢻⣿⣿⣿⣿⣿⣿⣿⣏⢁ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣄⠙⡃⠀⠀⠀⠘⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⢯⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣭⣤⠝⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣯⣭⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣞⡁⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⡿⣿⣿⣿⣿⣿ ⠀⠓⠲⢶⠋⠛⠍⠠⠠⠖⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⡸⡏⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⠿⢋⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣷⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣾⣯⣯⣥⣛⣿⡗⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿ ⠀⡀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⢀⣀⣀⡀⠸⣿⡿⣷⣟⣿⣯⢽⣿⣿⣧⣀⡀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡁⢀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⢀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⣇⣨⣀⡕⣣⡄⠀⣸⣆⡶⣴⢸⣿⣿⣿⡄⢸⣿⣿⣿⠀⣱⣿⣿⣿⣿⣿⣿⣎⠻⢿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣸⣿⣿⣿⣿⣿⣿⣶⠀⣠⣾⣿⣿⣿⣿⣿⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠶⠿⠿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠁⠈⠁⠈⢸⣿⣿⣿⣷⢸⣿⣿⣿⠀⣿⣿⣿⣇⢸⣿⣿⣿⠠⣰⡈⠉⠉⢻⣿⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣿⣿⡏⣿⣿⣿⡆⣿⣿⣿⣿⣾⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢰⣄⣰⣶⣄⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣼⣿⣿⣿⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣇⣿⣿⣿⣷⣿⣿⣿⣿⠻⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠨⢿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡏⢿⣿⣿⣿⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⢹⣿⣿⣿⣿⢹⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣷⣦⣀⣀⡀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠉⡿⠛⠻⢻ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⢿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⢸⣿⣿⣿⣏⣾⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣴⣷⡿⠁⠀⣤⣤⣧⣤⡔⣺ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠘⣿⣿⣿⣿⠀⢿⣿⣿⣧⣼⣿⣿⡿⠀⣶⣶⡆⠀⠀⢿⢻⣿⣿⣿⣼⣿⣿⣿⢻⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⣧⣤⣶⣿⡿⣿⡇⢠⣾⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠛⠀⠙⠛⠛⠛⠀⠀⠙⠻⠿⢿⡟⠋⠁⠀⣻⣿⠁⠀⠀⠸⢀⡙⠻⠿⠿⠿⠛⠁⠀⠘⢛⡛⠛⣫⡍⢹⣿⣿⣿⣙⣻⠿⣿⠿⢛⣿⡿⠿⠿⠿⠁⣤⣴⣾⣿⣿⣿⡏⠉⠉⠙ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣿⣿⣄⠀⠀⠁⠀⠀⠀⠀⠋⠁⠀⠀⠀⠐⢮⣭⣶⣀⠀⠀⠀⢀⣤⣾⡿⠃⢠⣿⣷⣼⣿⣿⣿⣿⣿⣟⡿⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⡇⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⠿⠀⠀⣰⡀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣾⡍⠉⠉⠐⠀⠀⣿⣿⣿⠀⣰⣿⣿⣿⣿⣿⣿⡟⠈⠛⢻⡇⠀⠀⠀⠀⠀⠀⠀⠀⣼⣽⣷⣾⣿⣿⣥⣤⣶⣶ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠨⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣦⠀⠀⠀⠀⠈⢹⣿⠿⣰⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⣼⡀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡅⠀⢸⣇⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀⠀⠀⣤⡄⠀⠐⠿⣿⣿⣿⣿⣿⡟⠀⠀⠀⢰⣿⡇⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠈⠃⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠉⠛⠻⠛⠀⠀⠀⠀⠘⠿⠃⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣦⣼⡿⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠿⢻⣿⣿⣿⣿⣿⣿⣿⣯⢍ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣭⠛⡇⠀⠀⠀⠘⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣯⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣭⣤⠝⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣯⣭⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⡁⠔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⠿⢿⣿⣿⣿⣿ ⠀⠓⠲⣾⠋⠛⠏⠡⠰⠖⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⡸⡟⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⠷⢫⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣷⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣶⣯⣯⣥⣚⣿⡗⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿ ⠀⡀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⢀⣀⣀⡀⠸⣿⡿⣷⣟⣻⣯⢽⣿⡏⠁⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡁⢀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⢀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣵⣿⣿⣿ ⠀⣇⢊⣀⡇⣫⠀⠀⣜⡄⡶⣰⢸⣿⣿⣿⡄⢸⣿⣿⣿⠀⣱⣿⣿⣿⣿⣿⣿⣎⠀⠀⠀⠀⠀⢘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢸⣿⣿⣿⣿⣿⣿⣶⠀⣠⣾⣿⣿⣿⣿⣿⣶⡀⠀⠀⠀⠀⠀⠐⠒⠀⠀⠀⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠈⢸⣿⣿⣿⣷⢸⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠠⣂⣀⣀⣼⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⡿⢿⣿⣿⣿⡏⣿⣿⣿⡆⣿⣿⣿⣿⠀⣿⣿⣿⡇⠀⠀⠀⠀⣦⣄⣾⣦⣀⢠⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⢰⣶⣿⣿⣿⢿⡟⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣇⣿⣿⣿⣇⣿⣿⣿⣿⣤⡿⠿⠿⠇⠀⠀⠀⠀⠾⢿⣿⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡟⢸⣿⣿⣿⠻⠿⠛⠋⠁⠀⡃⣿⣿⣿⣿⢸⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣋⣀⣀⡀⠀⠀⠀⠀⠀⠀⠐⠛⠛⠉⣭⣍⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⢿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢹⣿⣿⣿⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⢾⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⡇⠀⠀⠀⠀⣠⣤⣴⣦⡔⣴⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠘⣿⣿⣿⣿⠀⢿⣿⣿⣧⣼⣿⣿⡿⠀⣶⣶⡆⠀⢀⣇⢻⣿⣿⣿⣼⣿⣿⣿⢃⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢷⣷⡀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠛⠀⠙⠛⠛⠛⠀⠀⠙⠻⠿⠿⢟⣿⣧⣄⣻⣿⠁⠀⢸⣟⣀⡙⠻⠿⠿⠿⠛⣵⣿⡜⠛⠛⣛⣿⣿⣿⣿⣿⣷⣝⣻⠿⠿⣿⢻⣵⣶⣿⣧⣼⣿⣿⣿⣿⠿⠁⠙⠋⠀⢋⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠈⠙⠻⠿⣯⠗⠀⠀⠘⠿⣿⣯⣵⣄⣀⠀⠀⢹⣿⣿⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠈⠛⠿⠿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠈⢺ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣄⠉⠻⠿⠿⢢⣾⣿⣿⠀⢨⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⡟⠀⠀⠀⢀⠞⢙⣯⣿⣿⣿⣥⣴⣶⣿⣷⣦⣬⣼ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡤⠂⠀⠀⠉⠀⣿⡿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠁⠀⠀⣠⡎⠀⣸⣿⣿⣿⣿⣿⣯⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣤⡀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠄⠀⠀⠀⡞⠁⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⣾⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠀⠀⠀⠘⣿⣦⠀⠀⠀⠀⠀⠀⠐⠿⠂⠀⠀⠀⠁⠀⠀⠀⠀⠈⠉⠙⠛⠿⣿⡿⠋⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠕⢰⣾⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⠀⠀⠀⠀⠀⠻⣧⠀⠀⠀⠀⠀⠀⠘⠁⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠛⠛⢻⣿⣿⣿⣿⣿⢿⣿⡿⠀⠀⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣼⢎⣿⡃⠀⠀⠀⠀⠛⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⢿⣿⠃⠀⠀⠸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠛⢘⣷⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⡿⠁⣼⡿⢀⣀⠀⠀⢹⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣙⠛⠁⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡟⠁⠀⠛⠃⠘⣿⣷⣦⣄⠈ ⠀⠒⠲⢲⠋⠛⠍⠨⠠⠖⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⡘⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⠏⠀⠀⠀⡔⠀⠀⣿⣿⣿⣿⣷ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣷⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣶⣯⣯⣥⣚⣿⡗⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿ ⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⢀⣀⣀⡀⠸⣿⡿⣷⣟⣻⣯⢽⣿⡏⠁⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡁⢀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⢀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿ ⠀⣀⢇⣀⢏⣪⠀⠀⡞⡄⡦⣰⢼⣿⣿⣿⡄⢸⣿⣿⣿⠀⣱⣿⣿⣿⣿⣿⣿⣎⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣶⠀⣠⣾⣿⣿⣿⣿⣿⣶⡀⠀⠠⠀⠉⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠈⠀⠈⠁⠈⢸⣿⣿⣿⣷⢸⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⣇⠀⠀⢀⣴⣾⣿⣿⣿⣿⢻⣿⣿⣿⣧⣼⣿⣿⣿⡏⣿⣿⣿⡆⣿⣿⣿⣿⠀⣿⣿⣿⡇⠀⢸⣦⣤⣿⣦⣄⣀⠀⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣇⣿⣿⣿⠇⣿⣿⣿⣿⣿⡿⠿⠿⠇⠀⠀⠛⢿⢿⣿⣿⣿⣦⣸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⠀⢀⣠⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣛⣋⣀⡀⠀⠀⠀⠀⠈⠋⠉⢻⣿⣙⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⢿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⢰⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣼⣿⣿⣿⣷⣶⣿⣿⣿⣿⣿⣿⣿⢣⣿⣿⣿⡇⠀⢀⣠⣀⣶⣧⣴⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠘⣿⣿⣿⣿⠀⢿⣿⣿⣧⣼⣿⣿⡿⠘⣿⣿⡏⠋⣰⡿⢻⣿⣿⣿⣼⣿⣿⣿⣻⢸⣿⣿⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⣼⣿⣿⣿⣧⣾⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠛⠀⠙⠛⠛⠛⠀⠀⠙⠻⡿⠿⠟⣫⣵⠇⣻⣿⠁⠀⢻⠁⢶⣝⣻⠿⠿⠿⢛⣵⣿⣜⣛⠛⠛⢣⣿⣿⣿⣿⣿⣿⣻⡿⠿⣿⣻⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠦⠆⠀⠀⠀⠋⠁⠀⠀⢸⢠⣤⡈⡉⠙⠛⠋⠀⣿⣿⣿⣿⠇⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⠀⠀⠀⠀⢀⣽⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⣿⣷⣷⣦⡄⣤⠀⣿⣿⣿⡟⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠙⠝⠛⢻⣿⣿⣿⣿⣿⣿⣿⣷⣤⣤⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣶⣄⠉⠙⠛⠋⢘⠈⣿⣿⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢲⣄⠀⠀⠀⠀⠀⠀⠀⢈⣿⡋⠀⠀⠀⠀⠀⠀⠘⡟⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⢸⣶⣿⣿⣿⣿⣿⣿⣿⣿⡿⠻⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⢿⣦⠀⠀⠀⠀⠀⠀⠈⠿⠃⠀⠀⠀⠀⠀⠀⠀⠁⠀⠉⠉⠙⠛⠿⢿⣿⣿⣿⠟⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⡿⣷⠆⠀⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣇⠀⠀⠀⠘⠻⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⡏⠁⣿⠃⢠⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣟⢿⣿⠀⠀⠀⠀⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣷⠾⠙⠀⠀⣸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡐⢀⡀⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⡏⢠⠁⢠⠀⢺⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣨⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠁⠈⠛⠃⠀⠀⠀⠀⠀⠙⠻⠿⣿ ⠀⠒⠲⢶⠋⠛⠄⠨⠠⠖⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⣿⣦⣀⠀⠀⠑ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣷⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣾⣯⣯⣥⣚⣿⡗⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢰⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿ ⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⢀⣀⣀⡀⠸⣿⡿⣷⣟⣻⣯⢽⣿⡏⠁⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡁⢀⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⢀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿ ⠰⣀⢇⣈⢞⣨⠀⢀⣖⡀⡦⣠⢸⣿⣿⣿⡄⢸⣿⣿⣿⠀⣱⣿⣿⣿⣿⣿⣿⣎⠀⠀⠀⠀⣀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣶⠀⣠⣾⣿⣿⣿⣿⣿⣶⡀⠈⢀⡀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠁⠀⠈⠀⠀⠁⠁⢸⣿⣿⣿⣷⢸⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⣧⣤⣾⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣿⣿⡏⣿⣿⣿⡆⣿⣿⣿⣿⢀⣿⣿⣿⡇⣦⣾⣿⣶⣄⡀⠀⠀⠀⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣇⣿⣿⣿⠇⣿⣿⣿⣿⣿⡿⠿⠿⠇⠙⠿⢿⣿⣿⣿⣦⡀⠀⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣾⣿⣿⣿⣿⣿⣟⣀⣀⡀⠀⠀⢈⠉⢈⣻⣷⣁⡀⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⢻⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⠀⠀⣻⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⣤⣴⣷⣾⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠘⣿⣿⣿⣿⠀⢿⣿⣿⣧⣼⣿⣿⡿⠀⣶⣶⣿⣿⢹⡇⢻⣿⣿⣿⣼⣿⣿⣿⣻⣿⣿⣿⣿⡇⠀⣿⣿⣿⢻⣿⣿⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠛⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠛⠀⠙⠛⠛⠛⠀⠀⠙⠻⠿⠿⠟⠋⠁⠀⣻⣿⣿⣿⡿⠀⠷⠙⠻⠿⠿⠿⢻⣿⣿⣟⠛⠛⠛⠃⢰⣿⣿⣿⣷⣽⣻⠿⠿⣿⣻⣿⣿⣿⣿⡿⠛⠛⠋⠀⠀⠀⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢫⣿⣿⣿⣇⣾⣶⡄⠀⠀⠀⠀⠈⣿⣿⣿⡇⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⡏⠹⣻⣿⣿⣿⣏⠀⠀⠀⠀⠀⣀⣀⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡏⠀⢤⣭⡉⠛⠿⣶⠆⣰⡄⣿⣿⣿⠇⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⢹⣿⣿⣿⣿⣷⣶⠄⢺⣿⣿⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠃⠘⢟⠋⠀⠀⠂⠀⠻⠇⢻⣿⡿⠀⠀⢣⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢰⣿⣿⣿⣿⣿⣿⣿⠀⢸⣿⣿⢿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⣻⡅⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠺⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⠀⣼⣿⣿⣿⣿⠙⠻⠟⠀⠀⢀⠈⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⢇⠀⠀⠀⠀⠀⠀⠀⠀⠺⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠻⠿⠟⠀⢿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠀⢨⠀⠀⠀⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣋⣀⠀⠀⠀⠇⠀⠀⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠃⠀⢛⠀⠀⠀⠈⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡧⠩⠁⠀⠀⠀⠀⠀⢀⢼⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣁⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣦⠀⠀⠀⠀⠀⣃⠠⣾⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⠉⣽⣧⡀⠀⠀⠀⠈⠘⣺⣿⣿⣿⣿ ⠀⠒⠲⢲⠋⠓⠄⠠⠠⠖⠂⠀⠀⠀⠀⠀⠀⠀⠀⠢⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣹⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡇⠸⣿⣷⡄⠀⠀⠀⠀⢹⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣶⣯⣯⣥⣚⣿⡗⢀⣀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣼⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⣠⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⢀⣀⣀⡀⠸⣿⡿⣷⣞⣻⣯⢽⣿⣿⣿⠟⠁⠀⢿⣿⣻⣿⣿⣿⣿⣿⣿⣟⡁⢀⣀⣀⣰⣿⡿⠀⠀⠀⠀⠀⢀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿ ⢸⡰⣁⣹⢘⡅⠀⢠⣢⢰⢄⣦⢸⣿⣿⣿⡄⢸⣿⣿⣿⠀⣱⣿⣿⣿⣿⣿⣿⣎⠈⠁⠀⣀⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣾⣿⣿⣿⣿⣿⣿⣶⠀⣠⣾⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢼⣿⣿⣿⣿ ⠀⠀⠀⠀⠈⠀⠀⠈⠀⠉⠀⠁⢸⣿⣿⣿⣷⢸⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⡄⣼⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣿⢿⣿⣿⣿⡏⣿⣿⣿⡆⣿⣿⣿⣿⠀⣿⣿⣿⡇⣀⣀⠀⠀⠀⠀⠀⠀⠀⢾⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣇⣿⣿⣿⠇⣿⣿⣿⣿⣿⣿⣿⠿⣧⣿⣿⣷⣄⠀⠀⠀⠀⠀⣹⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⠀⣿⣿⣿⣿⡏⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⣠⣿⣿⣿⣿⣿⣿⣿⣷⡉⣁⣻⣿⠊⢀⠀⠀⠀⠀⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⢻⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⠀⣽⣯⣽⡛⠁⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⡇⠀⠀⠀⣹⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠘⣿⣿⣿⣿⠀⢿⣿⣿⣧⣼⣿⣿⡿⠀⣶⣿⣿⣿⣧⣬⣻⣿⣿⣿⣼⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⣽⣿⣿⣿⣿⣿⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⡶⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠛⠀⠙⠛⠛⠛⠀⠀⠙⠻⠿⠿⠟⠋⠁⠀⣻⣿⣹⠋⠻⣿⣷⠝⠻⠿⠿⠿⣻⣿⣿⣿⣛⠛⠛⠃⠀⠀⣿⣿⣿⣿⣻⣿⣿⣿⣛⣱⣿⣿⣿⣿⣿⣿⡿⠟⠛⠃⣹⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⣵⠏⠀⠀⠀⠀⠀⠀⣄⠀⣀⢹⣿⣿⣿⣿⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠤⠀⠀⠀⠈⢉⡁⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠾⠿⠀⠀⠀⠀⠀⠀⠀⠉⢰⣿⠈⣿⠿⠟⠛⠁⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡦⠶⠚⠻⣿⣿⣷⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡛⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠙⠿⠟⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠋⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⠿⠿⠿⠿⠿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠐⠀⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠈⢹⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢺⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠼⡟⠀⠀⠀⠀⠀⠀⠸⠀⠀⠀⠀⢼⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢻⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣛⣀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢇⠀⠠⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠼⢁⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⢸⣿⣿⣿⣿ ⠀⠒⠲⢶⠊⠳⠄⠠⠰⠖⠂⠀⠀⠀⠀⠀⠀⠀⡘⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣽⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣷⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⣠⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣶⣯⣯⣥⣚⣿⣗⡇⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⢠⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⢀⣿⠓⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣾⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⢀⣀⣀⡀⠸⣿⡿⣷⣛⣻⣯⢽⣿⡏⠁⠀⠀⠀⢿⣿⣻⣿⣿⣿⣿⣿⣿⣟⡁⢀⣰⣿⣟⣂⡁⠀⠀⠀⠀⠀⢀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣿⣿⣿⣿ ⢆⡸⡀⡱⡋⡅⠀⣰⣂⢰⣄⣤⢸⣿⣿⣿⡄⢸⣿⣿⣿⠀⣱⣿⣿⣿⣿⣿⣿⣎⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⠀⣠⣾⣿⣿⣿⣿⣿⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠈⠀⠀⠁⠀⠈⠈⠉⢸⣿⣿⣿⣷⢸⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠸⣠⣶⣿⣿⣿⡏⣿⣿⣿⣿⢻⣿⣿⣿⣿⢸⣿⣿⣿⡏⣿⣿⣿⡆⣿⣿⣿⣿⠀⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⠀⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⢸⣿⣿⣿⣿⢸⣿⣿⣿⣇⣿⣿⣿⠇⣿⣿⣿⣿⣶⣿⡿⠿⠇⣄⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⢰⣿⣿⣿⣿⣿⡇⣿⣿⣿⣿⢸⣿⣿⣿⣿⣸⣿⣿⣿⣿⣿⡿⠟⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠃⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⢻⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⢘⣿⣿⣿⣿⣿⣅⣿⣿⣿⣿⢸⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣷⣶⣷⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠘⣿⣿⣿⣿⠀⢿⣿⣿⣧⣼⣿⣿⡿⠘⣿⣿⡟⠻⠿⣿⢻⣿⣿⣿⣼⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢠⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⢿⣿⣿⣿⣦⣀⣀⣠⣤⣴⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠛⠀⠙⠛⠛⠛⠀⠀⠙⠻⠿⠿⠟⠋⠁⠀⣻⣿⠁⠀⠀⠿⠷⠙⠻⠿⠿⠿⢻⣿⣿⣿⣛⠛⠛⠃⠀⢠⣿⣿⣿⣿⣻⣿⣿⣿⣛⣥⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢋⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⢿⣿⣿⣿⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠉⠉⠉⠉⠉⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠈⠛⠁⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢿⣿⡆⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⡁⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠺⢿⠿⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠉⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢙⣿⡛⠋⠉⠉⠉⠉⠉⠉⠉⠙⠻⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡀⠀⠀⠀⠀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢉⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠄⠀⢸⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⡄⠀⠀⠈⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡬⠋⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡄⠀⠀⠀⠀⣼⠟⠀⠀⠀⠀⠀⠀⠸⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣿⣿⣿⣿⣿ ⠀⠒⠲⢶⠊⠓⠄⠠⠰⠖⠂⠀⠀⠀⠀⠀⠀⣉⠿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣨⣽⣽⣿⣯⡽⠋⠀⠀⠀⠀⠀⠀⠀⠀⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣷⣶⣦⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣷⡄⢸⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣰⡿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠈⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣶⣯⣯⣥⣚⣿⡗⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣸⣿⣿⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⠀⢀⣀⣀⡀⠸⣿⡿⣷⣟⣿⣯⢽⣿⡏⠁⠀⠀⢀⣿⣿⣻⣿⣿⣿⣿⣿⣿⣾⣽⣿⣿⣋⣀⣀⡀⠀⠀⠀⠀⠀⢀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿ ⣄⢆⣈⣆⢫⠀⠀⣔⡄⡦⣰⡔⢸⣿⣿⣿⡄⢸⣿⣿⣿⠀⣱⣿⣿⣿⣿⣿⣿⣎⣠⣤⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢹⣿⣿⣿⣿⣿⣿⣶⠀⣠⣾⣿⣿⣿⣿⣿⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠉⠀⠀⠀⠈⠁⠉⠉⢸⣿⣿⣿⣷⢸⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⢿⣿⣿⣿⣿⣅⣟⣿⣿⣿⣿⢿⣿⣿⣿⡇⢸⣿⣿⣿⡏⣿⣿⣿⡆⣿⣿⣿⣿⡀⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⢨⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⣾⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⢸⣿⣿⣿⡇⢸⣿⣿⣿⣇⣿⣿⣿⠇⣿⣿⣿⣿⣿⣿⣿⣿⣇⡀⠀⠀⠀⠀⠀⠀⠀⠨⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⢿⣿⣿⣿⣿⢻⡏⣿⣿⣿⣿⢸⣿⣿⣿⡇⢸⣿⣿⣿⣿⣿⡿⢟⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⢻⣿⣿⣿⣿⠀⣿⣿⣿⡇⢸⣿⣿⣿⢼⣿⣿⣿⡟⢿⡏⣿⣿⣿⣿⢸⣿⣿⣿⣧⢸⣿⣿⣿⡇⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡯⣿⣿⣆⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠘⣿⣿⣿⣿⠀⢿⣿⣿⣧⣼⣿⣿⡿⠀⣿⣿⣿⣿⣿⣷⢻⣿⣿⣿⣼⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢠⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⠧⣿⣿⣿⣷⣤⣄⣠⣄⣸⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠛⠀⠙⠛⠛⠛⠀⠀⠙⠻⠿⠿⠟⠋⠁⠀⣻⣿⠁⠉⠉⠉⠂⠙⠻⠿⠿⠿⣻⣿⣿⣿⣛⠛⣛⠃⢠⣿⠿⣿⣿⣿⣻⣿⣿⣿⣻⣵⣦⡟⠻⠿⢿⣿⣿⣿⠿⢹⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠿⢿⣿⣿⡿⠂⣿⣶⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠈⠉⠉⠀⢀⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⢀⠀⠀⠀⠀⠀⠉⠁⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⡟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣯⡄⠀⠀⠀⠀⠀⠈⠉⠉⠉⠛⠛⠛⠂⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡘⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢨⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢁⡠⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠀⢨⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠋⡀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⡈⣿⣿⣷⣄⡐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣿⣿⣿⣿⣿ ⠀⠒⠲⢶⠊⠒⠀⠠⠰⠖⠂⠀⠀⠀⠀⠀⠀⢘⠛⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢈⣥⣤⣿⣿⣿⡯⠀⠀⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿ ⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⠀⣀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣭⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠒⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠤⢸⡇⢈⠀⣀⠠⢄⠀⣶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠘⠂⠀⠀⠸⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣇⠀⢸⡇⢸⠀⡏⠀⠘⠃⣿⠀⢀⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠘⠂⠀⠀⠘⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠁⠈⠀⠁⠀⠀⠀⠈⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡆⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀ ⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤ ⣿⣲⣲⣺⡏⢀⡏⡆⡇⡎⡏⣾⠃⢹⡐⡇⢰⣿⡏⢠⠌⣿⣯⡙⡿⢙⠛⠛⣿⣿⣟⠽⢛⠟⡛⣛⢻⡫⡻⠛⣟⢝⣽⠭⠛⠛⢛⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣾⣾⣾⣷⣾⣷⣶⣷⣶⣷⣶⣾⣾⣶⣷⣾⣿⣿⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣟⣻⣻⣿⣿⣿⣛⣻⣛⣛⣻⣿⣿⣿⣿⣿⣻⣿⣿⣛⣿⣟⣛⣟⣿⣿⣟⣿⣿⣟⣻⣻⣿⣿⣿⣿⣿⣽⣿⣿⣿⢛⣻⣿⣟⣛⣿⣿⣿⣿⣻⣿⣿⣿⣿⣛⣛⢛⣿⣿⣿⣿⣻⣟⣻⣿⣟⣛⣿⣟⣻⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⢻⣿⡿⣿⢿⠿⡿⣿⣟⢿⣿⢹⢿⣿⣿⡿⣿⢿⢿⣿⡻⢻⡿⣿⢿⢿⡿⣿⣿⡟⣿⣿⢿⡿⣿⢿⡿⣿⢿⣿⢻⣿⡿⣿⣿⣿⣿⡿⣿⣿⢿⡿⣿⣿⡟⣿⢿⢿⡏⡏⣿⣿⣿⡿⡿⣿⣿⡻⣿⢿⡿⣿⣿⣿⣿⣿ ⣿⣿⣼⣽⣯⣿⣨⣱⣿⣿⣼⣮⣿⣼⣼⣿⣝⣥⣿⣽⣼⣿⣿⣼⣤⣿⣿⣼⣽⣷⣿⣧⣯⣿⣼⣼⣽⣯⣧⣿⣼⣿⣼⣷⣧⣿⣿⣿⣿⣤⣯⣯⣿⣧⣯⣿⣧⣿⣼⣽⣦⣧⣷⣿⣧⣷⣭⣾⣿⣿⣾⣼⣿⣷⣿⣿⣿⣿ ⣿⣿⢻⡟⣿⢿⠿⡟⣿⡿⡿⢿⣿⢿⠿⣿⡟⡿⣿⢿⢻⡿⣿⢿⡟⣿⣿⢿⢿⣿⢿⢿⡻⢿⢿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣧⣧⣿⣼⣼⣣⣷⣥⣧⣯⣿⣼⣼⣿⣧⣧⣿⣼⣄⣗⣾⣾⣧⣿⣾⣽⣿⣿⣶⣯⣯⣾⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⡇⠀⢀⣸⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣽⣉⣙⣟⣙⣻⣿⣻⣫⣟⣋⣟⣟⣙⣹⣯⣏⣩⢉⣹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⡇⣴⣿⣿⣿⠿⢋⢅⣻⡇⢻⣿⣿⣿⣻⣿⣿⣿⣻⣿⡿⣿⣿⣿⢿⣟⣿⢿⣿⢿⣿⣿⣿⣻⣿⣿⣿⢿⢿⠟⣻⠻⠛⣛⢛⢿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⡗⣿⡛⡉⢐⣤⣶⣿⣟⠁⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⡇⠈⠃⠛⠛⠛⠛⠛⠙⠈⢻⣿⣿⣟⣭⣹⣍⣏⣈⣩⣏⣹⣿⣿⣿⣿⣿⣍⣙⣉⣉⣉⣹⣙⣽⣿⣯⣻⣍⣻⣿⣿⣿⣿⣿⣿⣿⣉⣹⣽⣿⣿⣿⣿⣿⣿⣿⣹⣽⣫⣯⣍⣉⣩⣇⣙⣹⣿⣿⣯⣏⣽⣁⣝⣉⣿⣿ ⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣯⣏⣟⡻⡟⠋⡿⠋⢹⠛⠟⠛⡛⣛⣿⡿⢛⡟⣟⢿⠛⢻⠋⡟⣿⣿⠛⡛⠛⡛⢻⣏⢿⡟⠛⣛⢿⣿⣻⠛⠙⠛⣻⢯⢿⣿⣿⡟⡛⢻⢻⡟⡛⡟⡟⣿⡛⡛⢻⠛⠛⣿⣿⣿ ⣿⡇⠀⠀⠀⠀⠀⠀⠀⣷⣄⠀⣿⣿⠿⡿⠿⢿⡿⠛⡿⠿⠿⡟⠿⡿⡿⠿⠿⢿⢿⡿⠿⢿⢿⣿⠿⣿⠿⠿⢿⡿⡿⠿⢻⢿⣿⣿⡟⠿⢿⣿⣿⣿⣷⠾⢿⢿⣿⠿⠿⠿⢿⡿⡿⠿⣿⣿⡿⢿⠿⠳⢿⣿⣾⣿⣿⣿ ⣿⣇⣀⣀⣀⣀⣀⣀⣀⣿⣿⣷⣿⣿⣿⣶⣶⣾⣶⣶⣷⣶⣾⣷⣷⣿⣶⣶⣾⣷⣷⣷⣶⣿⣷⣿⣶⣿⣶⣶⣿⣿⣶⣷⣾⣶⣿⣾⣷⣶⣾⣿⣿⣿⣾⣾⣾⣾⣿⣷⣶⣶⣾⣷⡷⣾⣿⣿⣿⣾⣶⣶⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣯⣩⣿⣙⣭⣿⣿⣿⣿⣿⣯⣮⣿⣿⣯⣿⣿⣿⣿⣶⣾⣯⣦⣿⣿⣿⣿⣿⣯⣿⣧⣿⣿⣿⣿⣴⣼⣽⣿⣿⣿⣭⣿⣿⣿⣿⣷⣤⣤⣤⣷⣿⣶⣥⣤⣷⣿⣤⣬⣼⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣟⣿⣿⣿⣏⣉⣉⣏⣉⣏⣩⣩⣯⣉⣿⣹⣹⣿⣯⣿⣿⣿⣿⣏⣫⣿⣏⣉⣍⣉⣩⣿⣿⣉⣝⣟⣻⣿⣿⣻⣿⣟⣽⣽⣉⣍⣯⣉⣙⣽⣯⣏⣉⣉⣽⣽⣿⣿⣿⣿⣿⣿⣿ ⣿⡟⠛⢻⢛⢟⢟⣿⡻⡻⡛⡛⠛⡟⡛⢛⠛⣛⢿⠛⢻⢛⢛⢿⠛⠛⠛⠛⡛⠛⠟⣻⣿⣿⣻⣿⣿⡻⣿⣿⣟⢛⡟⢻⢟⣿⢛⣿⡿⣻⣿⣿⡛⣟⢟⢛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⡏⣹⣿⣿⣟⢿⣿⡟⡿⢿⣻⣿⣿⣿⣿⢿⢻⠛⣿⣿⠟⠛⣻⠟⢻⣿⣿⣿⣿⣿⣿⣿⡿⣿⡿⡿⣿⠟⡻⠛⢻⣿⡟⢻⡻⢛⢛⢻⣟⣿⠛⠻⢛⣿⢻⠛⠙⠛⣻⢯⣿⣿⣿⡟⡛⢻⠛⢛⢛⠛⡻⡟⣻⣿⣿⣿⣿ ⣿⡟⠿⠟⠿⡿⠿⡿⢿⣿⣿⣿⣿⣿⣿⣿⡿⡷⠿⠿⠿⠿⢿⢿⣿⣿⡿⢿⢿⣿⣿⣿⣿⣿⢿⠿⠿⠟⡿⠿⡿⢿⣿⣿⣿⣿⣟⣿⠿⡿⠿⢿⣿⣿⣿⡿⡿⣷⣾⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣷⣶⣷⣴⢷⣾⣶⣾⣾⣿⣿⣿⣿⣿⣷⣿⣷⣶⣶⣾⣾⣾⣾⣿⣿⣷⣾⣾⣿⣿⣿⣿⣿⣿⣶⣾⣶⣷⣶⣿⣷⣿⡿⣿⣿⣿⣷⣶⣷⣾⣾⣿⣿⣿⣿⣶⣷⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣾⣿⣿⣿⣿⣿⢿⣿⣿⣿ ⣿⣧⣿⣯⣦⣤⣦⣴⣼⣽⣽⣯⣿⣿⣿⣿⣵⣬⣿⣿⣼⣤⣷⣥⣦⣶⣤⣤⣼⣴⣮⣾⣿⣮⣤⣿⣿⣿⣿⣿⣿⣧⣶⣧⣤⣼⣼⣿⣿⣯⣦⣤⣴⣤⣧⣦⣤⣤⣾⣿⣯⣤⣤⣿⣤⣤⣤⣪⣿⣿⣥⣦⣦⣆⣤⣼⣿⣿ ⣿⣏⣉⣩⣹⣉⣹⣿⣛⣿⣿⣿⣿⣯⣻⣿⣿⣿⣟⣿⣏⣙⣍⣽⣿⣿⣿⣯⣉⣉⣏⣻⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣽⣫⣫⣿⣿⣿⣿⣿⣯⣩⣹⣏⣟⣿⣋⣉⣉⣉⣏⣫⣿⣿⣿⣿⣟⣝⣝⣿⣻⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣏⣞⣹⣇⣋⣹⣙⣿⣝⣟⣹⣇⣩⣋⣋⣝⣇⣋⣫⣝⣿⣿⣿⣏⣙⣩⣛⣏⣹⣙⣩⣹⣙⢭⣏⡉⣋⣏⣿⣿⣿⡿⣿⣏⣋⣹⣉⣸⣶⣽⣈⣍⣏⣹⣏⣹⣿⣿⣼⣋⣝⣉⣍⣿⣿⣏⣩⣋⣍⣙⣹⣉⣸⣿⣿⣿⣿ ⣿⣯⡝⡛⣿⢛⢿⡏⣻⣿⣿⣭⡏⠙⣿⣿⢿⢹⠛⠟⡻⠛⡟⡟⠛⡛⡛⣻⢿⣿⡟⢻⣿⡟⡟⣛⢻⠛⣿⡿⢛⡟⣿⡟⣿⠹⠙⢛⠟⡟⣻⣿⢻⢻⣿⡻⣿⠙⢛⣟⣛⡟⡻⡟⠋⡟⢻⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⡿⡿⠿⠿⠿⡿⠟⡿⠿⡿⠿⠿⠻⠿⢿⡿⣿⣿⡻⢛⣿⡟⣿⣿⣿⡟⣿⣿⣿⣿⣿⡿⣿⣾⣟⡿⠿⠿⡿⢿⠻⢿⠿⣿⣿⣿⣿⡿⣿⣿⣿⠿⠿⡿⠟⣿⠿⠿⠿⠿⣿⣟⣿⡿⠿⠿⠿⢿⣿⡻⠿⠿⡿⠿⣿⣿⣿ ⣿⣷⣿⣶⣶⣾⣶⣷⣷⣷⣷⣶⣶⣶⣶⣾⣿⣿⣾⣿⣾⣿⣽⣾⡿⣿⣷⣿⣿⣾⣿⣿⣷⣷⣿⣿⣷⣶⣶⣼⣾⣶⣶⣿⣿⣿⣿⣿⣷⣿⣿⣿⣾⣶⣷⣶⣿⣶⣶⣶⣴⣿⣿⣾⣷⣷⣤⣶⣾⣿⣿⣷⣶⣷⣶⣿⣿⣿ ⣿⣧⣤⣴⣴⣿⣿⣬⣾⣿⣿⣿⣿⣿⣷⣴⣽⣦⣦⣤⣤⣦⣤⣦⣤⣱⣧⣤⣤⣴⣶⣥⣤⣼⣷⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ䷩ 𝚕𝚒𝚗𝚎 775 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/27/perishing-with-microsoft/#comments Gemini version at gemini://gemini.techrights.org/2022/01/27/perishing-with-microsoft/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.27.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Microsoft-Connected_Publishers_Suffer_and_Perish_With_Microsoft_(While Peddling_‘Fake_News’_for_Their_Beloved_Sponsor)⠀✐ Posted in Deception, Microsoft, Vista_10, Windows at 10:57 am by Dr. Roy Schestowitz Video_download_link | md5sum 4c9abb62b7da7b1c35b74bf0bb179ee1 Microsoft Success is Fake News Creative Commons Attribution-No Derivative Works 4.0 http://techrights.org/videos/faking-vista11-success.webm Summary: IDG and other fake news outlets/networks/sites (selling to companies flattering articles about themselves or renting out ‘news space’ to them, not just ad space) want us to think Microsoft is doing very well, but it’s just that same old Ponzi_scheme LAST night we published “Microsoft_'Delighted'_by_Windows_11_(Vista_11)_Usage, Which_is_Only_1%_Three_Months_After_Official_Launch_and_Six_Months_After Release_Online,” in effect twisting the_headline from PCWorld’s (IDG) Microsoft henchman, who has promoted Microsoft there for many years (no pretence about it). And meanwhile, Microsoft_Bogdan is trying_to_substitute failure_in_the_market with some vague and shallow perception of “happiness”. 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇Ballmer: We've migrated 2% of Vista 10 users to Vista 11⦈ The actual numbers (or simple facts) don’t favour Microsoft. One version of Windows cannibalises another while overall the market share of Windows continues to fall. MinceR remarked on last night’s post, saying “I’d replace “the failure Vista 11 has been” with “the failure that is Vista 11″, as it remains a failure…” XFaCE said “it is a “has been” OS to be fair”… “Trying to claim that it’s too new to be judged would be a face-saving lie.”The video above looks at the scarce coverage of the fake “delight” of Microsoft. I try to explain why they’re lying and remind people who does the lying. This is just another example of media capture by Microsoft, wherein the goal is to send “positive messaging” about a failing_product (more like rebranding). Remember that in one form or another (like a fake “leak”) Vista 11 has already been “out there” for over 6 months. Yes, more than half a year. Trying to claim that it’s too new to be judged would be a face-saving lie. █ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠙⠋⠉⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠸⣿⠋ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡿⣿⣿⣿⣿⣿⣿⡿⣏⣵⣾⣖⣀⣨⣿⣿⣿⣥⣞⣻⡯⢿⣿⠀⠸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⠁⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⡿⣿⣿⣿⣿⣿⣿⣴⣧⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠹⠃⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⠋⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⣟⠛⢉⣽⣿⣿⠀⠀⠀ ⠶⠶⠶⠤⠤⠤⠤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠙⣹⣿⣿⠙⠛⣿⣿⣿⣿⡋⠀⠙⢫⠎⣥⣼⣿⣿⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⠿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣿⡇⠀⠀⢀⣿⣿⣿⣷⡀⢷⣶⣾⣿⣿⣿⣿⢠⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢲⣤⣠⡀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣛⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⢠⣿⣿⡧⠽⣤⣤⢠⡄⣹⣿⣿⡟⠉⠈⠉⢹⣿⣿⣿⣿⢸⣧⡀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣦⣻⣿⣷⣦⡄⠀⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⣶⣿⣿⣿⠛⠃⠀⢨⣬⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠿⣿⣿⣿⣿⡄⠀⠀⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠿⠟⠻⠻⢿⣿⣿⡿⠿⠿⠟⠛⠛⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣇⠀⠀⠀⠀⡪⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣥⣀⣠⣀⣀⡀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⣨ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣶⣦⡀⠤⠿⠌⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣤⣤⣴⣼⡿⢿⣿⠀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣬⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣷⣯⡛⠛⠛⠛⠛⣩⡟⢻⢿⣿⣿⣿⣿⣿⣭⣿⣭⣿⣭⠝⢉⣍⡉⣩⣉⣽⠁⡀⠈⣿⡦⠬⠽⡷⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣗⡀⠀⠠⠈⠿⣿⣿⣿⣿⣿⣅⡀⠉⠉⠛⠛⠛⢉⣠⠶⠋⠩⣿⣿⣿⠿⢿⣿⣿⣿⣿⣷⣦⣰⠀⠀⠈⣽⠇⠀⠀⠀⠀⡆⠀⢰⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⡃⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠋⠁⠀⠀⠀⣀⡾⣿⣆⠀⠀⠈⠉⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣤⣀⣀⣛⣀⣀⣠⡤⠀⠘⠃⠘⢃⠀⠀ ⠀⠀⠤⠤⠤⠤⠤⠤⢤⣤⣤⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⢻⣿⣿⣿⣷⣶⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣧⠀⠀⠀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢤⣿⣥⡼⠧⠀⣀⠀⠀⢨⣀⣀ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢠⣿⢋⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣶⣤⢴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣾⣿⣷⣿⣿⣿⣿ ⡀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣾⡇⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣾⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿ ⡇⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⠟⢁⣼⣿⣿⣿⣿⡿⢻⡇⠰⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣧⠤⠤⠤⠤⠠⠤⠤⠤⠤ ⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⡿⣃⣴⣿⣿⣿⣿⣿⡟⠁⢹⠁⠂⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠘⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⢠⣤⠀⠀ ⠀⠀⣴⣿⣿⣿⣿⣿⣿⢫⠜⠛⠿⠛⠿⠿⠿⠟⠁⠀⠂⠀⠀⠙⠛⠻⡿⠻⠿⠿⠻⠿⠿⡿⠛⠀⠀⠀⠀⢸⠟⠛⠻⠛⠛⠛⠛⠉⠉⠉⠙⠻⣿⠟⠀⠀⠉⠛⠛⠿⣿⣿⠛⠻⢿⣿⠿⢿⣿⣿⣿⡀⠀⠀⠀⠉⠀⠀ ⠀⢰⣿⣿⡿⠟⠋⠉⠀⠄⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣷⣿⣿⣾⣿⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠸⠁⣾⣿⣷⢸⣿⠿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀ ⠀⢸⣿⠟⠁⠀⠀⠀⠀⠀⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⢃⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀ ⠀⠀⠓⠀⠀⠀⠀⠠⠤⠄⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠘⠓⠛⠙⠛⠀⠛⠃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⣼⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⣀⣈⡙⠟⣉⣉⣉⣉⣉⣉⡀⣀⣀⣀⣀⣉⡉⣁⣀⡉⠃⣁⣀⣀⢀⣀⣀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣉⡉⢿⠟⣋⡻⢛⡉⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢸⣿⣾⡟⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣿⣷⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⢀⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣿⡟⠀⣿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⢸⡇⣶⣹⣿⢀⢸⣿⠀⢿⣇⣿⠇⠀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⠉⠈⠉⠀⠀⠉⠁⣍⣩⣴⣶⣬⣭⣥⣤⣭⣩⠀⠉⠉⠉⠉⣭⣥⣭⣭⣥⣾⣮⣭⣤⣌⣉⠉⠀⠀⠉⠉⠁⠉⣥⣭⣭⣵⣮⠉⠈⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⠀⠀⠀⣼ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠿⠿⠿⢿⣿⡿⢿⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡀⠀⠀⠀⣀⣼⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿ ⠀⠸⠇⠹⢨⡅⠿⠷⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣤⣶⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣤⣄⣀⣀⣀⣀⣘⣛⣛⣛⣛⣛⣛⡛⠛⠛⠛⠛⠛⠓⠂⠚⠻⠿⠿⠿⠿⢿⣿⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿ ⠛⠛⠛⠉⠛⠛⠛⠛⠉⠉⠙⠋⠙⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⢟⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠋ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠻⣿⣿⣿⣿⣿⣿⣿⢫⣿⣾⣖⣀⣨⣿⣿⣿⣤⣞⣻⡿⢿⣿⠀⠸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⠇⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⡯⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠹⠃⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠈⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⢋⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⣿⣟⠛⢉⣽⣿⣿⠀⠀⠀ ⠦⠦⠶⠤⠤⠤⠤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠙⣹⣿⣿⠙⠛⣿⣿⣿⣿⡋⠀⠙⢫⠎⣡⣼⣿⣿⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⠿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⡇⠀⠀⢀⣿⣿⣿⣷⡀⢷⣶⣾⣿⣿⣿⣿⢰⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣛⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠉⠉⢀⣽⣤⢤⣤⡄⣹⣿⣿⡟⠉⠈⠉⢹⣿⣿⣿⣿⢸⣷⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡄⣠⡄⡀⠀⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⢠⣶⣿⣿⣶⠊⣬⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣇⠀⠀⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠻⠛⢿⣿⣿⡿⠿⠿⠛⠛⠛⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣦⡄⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⣃⣀⣀⡀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⢘ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⠀⠠⠿⠏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣦⣤⣤⣴⣼⣿⢿⣿⡀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣿⣿⣿⣿⣿⣷⣄⢀⡀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣫⡟⢛⣿⣿⠻⣿⣿⣿⣯⣿⣭⣿⣭⠝⢉⣍⡉⣩⣉⣽⢁⡁⠨⣿⣷⡼⠿⡷⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠾⡿⣿⣿⣿⣿⣿⣇⡈⠉⠙⠛⠛⠛⠉⢡⣶⡉⠉⠁⠀⠿⢿⠿⢿⣿⣿⣿⣷⣦⡀⠀⠀⠨⣿⠇⠀⠁⢀⠈⣷⠀⢰⡏⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡇⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠋⠁⠀⠀⠀⢀⣀⣿⣿⣧⣀⠀⠀⠀⠀⠀⣀⣙⣻⣿⣿⣿⣿⣤⣀⣀⣻⣀⣄⣠⡴⠀⠘⠇⠘⢣⠀⠀ ⠀⠀⠤⠤⠤⠤⠤⠤⠤⣤⣤⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣆⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣇⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⡥⣿⣥⡼⠧⠀⣀⠀⠀⢸⣀⣠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣇⣂⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣾⣿⣿⣿⣿⣿⣿ ⡀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⡿⢻⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢿⣿⣿⣿⣿⣿⣿⣯⣻⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠿⠿⠿⠿ ⡇⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⡿⢁⣰⣿⣿⣿⣿⣿⣿⢁⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⡀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⠤⠠⠤⠤⠠⠤⠤⠤ ⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⢫⣴⣾⣿⣿⣿⣿⡿⢟⡇⠈⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠙⠻⣿⣿⣿⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⢠⣄⠀⠀ ⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⠛⠗⠛⠛⠻⠻⠿⠿⠟⠀⠚⠀⠀⠘⠛⠻⡿⠿⠿⠿⠿⠿⠿⡿⠟⠃⠀⠀⠀⠀⠛⠛⠿⠛⠛⠛⠛⠛⠛⠋⠀⠀⠀⠁⠀⠀⠀⠀⠀⠻⣿⣿⡿⠟⠛⠿⠿⢿⣿⣿⣿⣿⡄⠀⠀⠉⠀⠀ ⠀⠀⢸⣿⣿⣿⠟⠿⠋⠁⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣷⣿⣿⣾⣿⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠸⠃⣾⣿⣷⢸⣿⠿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀ ⠀⠀⢿⡿⠛⠛⠀⠀⠀⠀⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⢃⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀ ⠀⠀⠈⠃⠀⠀⠄⠀⠤⡤⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⠃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⣸⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡁⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⣀⣈⡙⠟⣉⣉⣉⣉⣉⣉⡉⣀⣀⣀⣀⣀⡛⣉⣉⡙⠟⣉⣉⣈⢁⣀⣀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠹⠋⣉⡛⢛⡻⣿⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢸⣿⣾⡿⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣿⣷⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⣤⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠈⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣿⡟⠀⣿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣸⡇⣶⣹⣿⢸⢸⣿⠀⢿⣇⣿⠇⠀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠀⠀⠀⢀ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⠉⠈⠉⠀⠀⠉⠁⣉⣩⣤⣶⣬⣭⣥⣤⣭⣭⣤⠉⠉⠉⠉⠉⣥⣭⣭⣵⣿⣯⣭⣶⣮⣭⣭⣴⣦⡍⠉⠁⠉⢡⣭⣭⣥⣮⠉⠈⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⠀⠀⠀⣾ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠿⠿⠿⢿⣿⣿⡿⣿⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣀⣀⣀⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿ ⠀⠸⠏⠹⢨⡇⠿⠿⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣤⣶⣶⣶⣶⣶⣦⣤⣤⣤⣤⣤⣤⣤⣄⣀⣀⣀⣀⣙⣛⣛⣛⣻⣟⣛⣛⣛⣿⢿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⣿⣆⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿ ⠛⠛⠛⠉⠛⠛⠛⠛⠉⠉⠙⠋⠙⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⢟⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠋ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣻⠿⣿⣿⣿⣿⣿⣿⣿⢫⣷⣾⣖⣀⣨⣿⣿⣿⣄⣞⣻⡿⢿⣿⠀⠸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⠅⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠻⡯⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠹⠃⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⢋⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⣿⣟⠛⢉⣽⣿⣿⠀⠀⠀ ⠶⠦⠦⠤⠤⠤⠤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠙⣹⣿⣿⠝⠛⣿⣿⣿⣿⡋⠀⠙⢫⠎⣥⣼⣿⣿⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⡿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⡇⠀⠀⢁⣿⣿⣿⣧⡀⢷⣷⣾⣿⣿⣿⣿⢰⡀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠋⢐⣋⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠉⠈⢀⣹⣤⢤⣠⣄⣹⣿⣿⡟⠉⠈⠉⢻⣿⣿⣿⣿⢸⣧⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡄⣠⣄⡀⠀⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⢠⣶⣿⣿⣶⠈⣬⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣾⣇⠀⠀⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠟⠛⣿⣿⣿⡿⠿⠿⠟⠛⠛⢻ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣦⡆⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⡿⣶⣿⣿⣿⣿⣿⣃⣀⣀⡀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⢘ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣷⠀⠠⠾⠏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣥⣤⣤⣤⣤⣼⡿⢿⣿⡀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣿⣿⣿⣿⣿⣷⣄⢠⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣫⡟⢻⣿⣿⠻⣿⣿⣿⣯⣿⣭⣿⣭⠝⢉⣍⡉⣩⣉⣽⠁⡁⠈⣿⣷⡼⠿⡷⢬⡬ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠾⡿⣿⣿⣿⣿⣿⣇⡈⠉⠙⠛⠛⠛⠉⢡⣶⡉⠉⠁⠀⢿⢿⠿⢿⣿⣿⣿⣷⣦⡀⠀⠀⠈⣿⠇⠀⠁⠀⠈⣷⠀⢠⡏⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⡇⠀⠀⠀⠀⠀⠈⠉⠉⠉⠉⠋⠁⠀⠀⠀⢀⣀⣿⣿⣧⣀⠀⠀⠀⠀⠀⣀⣙⣻⣿⣿⣿⣿⣤⣀⣀⣻⣀⣄⣠⣴⠀⠘⠇⠘⢣⠀⠀ ⠀⠀⠤⠤⠤⠤⠤⠤⢤⣤⢤⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣆⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣇⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⡧⣿⣥⡼⠧⠀⣠⠀⠠⢺⣀⣀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣇⡂⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣿⣿⣿⣿⣿⣿⣿ ⡀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⡿⢻⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣯⣻⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠿⡿⠿⠿ ⡇⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⡿⢁⣰⣿⣿⣿⣿⣿⣿⢁⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⠤⠠⠤⠄⠠⠤⠤⠤ ⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⢯⣴⣾⣿⣿⣿⣿⡿⣟⡇⠈⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠚⠻⣿⣿⣿⠀⡙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⢠⣄⠀⠀ ⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⠛⠓⠛⠻⠟⠿⠿⠿⠟⠀⠛⠀⠀⠈⠛⠻⡿⠿⠿⠿⠿⠿⢿⡿⠿⠃⠀⠀⠀⠀⠻⠛⠿⠟⠛⠛⠛⠛⠛⠃⠀⠀⠀⠁⠀⠀⠀⠀⠀⠛⣿⣿⡿⠟⠛⠿⠿⢿⣿⣿⣿⣿⡄⠀⠀⠉⠀⠀ ⠀⠀⢸⣿⣿⣿⠟⠿⠋⠁⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣷⣿⣿⣾⣿⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠸⠁⣾⣿⣷⢸⣿⠿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀ ⠀⠀⢿⡟⠛⠋⢀⠀⠀⠀⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⢃⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀ ⠀⠀⠘⠃⠀⠀⠀⠀⠤⠤⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⡘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⠃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⣸⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣁⣀⡁⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⣀⣈⡙⠟⣉⣉⣉⣉⣉⣉⡁⣀⣀⣀⣀⣀⡛⣉⣉⡙⠟⣉⣉⣈⢁⣀⣀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠹⠋⣉⡛⢛⡻⣿⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢸⣿⣾⡿⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣿⣷⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⣤⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠈⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣿⡟⠀⣿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣸⡇⣶⣹⣿⢸⢸⣿⠀⢿⣇⣿⠇⠀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠀⠀⠀⢀ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⡉⠈⠉⠀⠀⠉⠁⣉⣩⣤⣶⣬⣭⣥⣤⣭⣭⣤⠉⠉⠉⠉⠉⣥⣭⣭⣵⣿⣯⣭⣶⣮⣭⣭⣴⣦⡍⠉⠁⠉⢡⣭⣭⣥⣮⠉⠈⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⠀⠀⠀⣾ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠀⠀⠀⠀⠀⠀⠀⠈⠈⠛⠿⠿⠿⢿⣿⣿⡿⣿⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣀⣀⣀⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿ ⠀⠸⠏⠹⢨⡅⠿⠯⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣤⣶⣶⣶⣶⣦⣤⣤⣤⣤⣤⣤⣤⣤⣄⣀⣀⣀⣀⣙⣛⣛⣛⣻⣟⣛⣛⣛⣿⣿⠿⠿⠿⠻⠿⠿⠿⠿⠿⠿⣿⣆⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠙⠋⠉⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⠛⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠏ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⣿⣿⣿⣿⣿⣿⡿⢋⣵⣶⣖⣀⣨⣿⣿⣿⣄⣞⣻⡯⢿⣿⠀⠸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⡯⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡿⡿⣿⣿⣿⣿⣿⣿⣵⣧⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠸⠃⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠸⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⢱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⠋⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⣿⡟⠛⢉⣽⣿⣿⠀⠀⠀ ⠶⠶⠦⡦⠤⠤⠤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣤⣼⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠙⣹⣿⣿⠙⠛⣿⣿⣿⣿⡋⠀⠙⢫⠎⣡⣼⣿⣿⢠⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣄⢰⡀⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⡏⣿⣿⣿⠿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⡇⠀⠀⢀⣿⣿⣿⣇⡀⢷⣶⣾⣿⣿⣿⣿⢸⣄⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⢾⣿⣿⣾⣧⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⢐⣋⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠉⡀⢸⣿⣿⡷⢠⡄⣹⣿⣿⡟⠉⠈⠉⢹⣿⣿⣿⣿⢸⣿⣄ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⡄⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⣼⣿⣿⣿⣿⢳⣿⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣷⡆⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠻⠛⢿⣿⣿⡿⠿⠿⠿⠿⠟⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣤⣀⢘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣄⠙⠻⣿⣿⣿⣿⣿⣣⡀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⡀⠀⣹ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⡟⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣠⠀⢠⣿⣿⣿⣿⣿⣿⣷⣶⣤⣤⣤⣴⣾⡿⢿⣿⡀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣤⡆⣀⣹⣿⣿⣿⣷⣄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢫⣿⠈⣁⣷⠀⢿⣿⣿⣿⣿⣭⠝⢉⣍⠉⣩⣉⣽⠁⡁⠈⣿⡷⡼⠿⡧⠤⠭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠹⢿⣿⣿⣿⣿⣿⣇⡈⠉⠉⠛⠛⠛⠉⠡⢶⣿⣿⡇⠈⠉⠀⠈⣿⣿⣿⣿⣶⣀⠀⠀⠀⠀⢭⠇⠀⠁⠀⠈⣆⠀⢠⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠉⠉⠉⠉⠉⠋⠁⠀⠀⠀⠀⠀⣠⣿⣿⣿⣷⣄⠀⠀⠀⠘⠛⠻⣿⢿⣿⣿⣦⣀⣀⣛⣀⣄⣠⡤⠀⠘⠂⠈⢃⠀⠀ ⠀⠀⠤⠤⠤⠤⠤⠤⠤⣤⣤⣤⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣷⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⢠⣾⣾⣿⣿⣿⣿⣾⣥⣿⣥⡼⠧⠀⣀⠀⠀⢸⣀⣠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⡀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿ ⡀⠀⠀⠀⠀⠀⠀⠀⢀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⡈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⡿⠿⠿ ⠇⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⠿⢛⣿⣿⣿⣿⡿⠿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠤⠄⠤⠤⠤⠤⠤ ⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⠋⣠⣾⣿⣿⣿⣿⠁⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠻⠿⠟⠻⣿⡇⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⢠⣤⠀⠀ ⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⡿⠟⠛⠛⠋⠑⠚⠛⠿⠿⠿⠛⠃⠀⠀⠹⡟⠛⠿⠿⠿⠿⢿⡿⠿⢿⡿⠟⠀⠀⠀⠀⠸⠿⠿⠿⠿⠛⠻⠛⠛⠻⠧⠀⠀⠀⠀⠈⠁⠀⠀⠀⠙⠛⠻⠿⠿⠿⢿⣿⣿⣿⣿⣦⡀⠉⠀⠀ ⠀⠀⠀⠀⣾⣿⣿⣿⣿⡿⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣧⣿⣿⣾⣿⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠀⠀⣾⣿⣷⢸⣿⠿⠨⣿⣿⣿⣿⣿⣿⡄⠀⠀ ⠀⠀⠀⠀⣿⣿⣿⣿⣿⠅⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⠃⢠⡸⣿⣿⣿⣿⣿⣷⡀⠀ ⠀⠀⠀⠀⢻⡟⠉⠉⢽⣟⡀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⢃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⠀⠈⠉⢿⣿⣿⣿⣿⣿⡇⠀ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣈⣉⣀⣀⣀⡀⠀⠀⣀⡀⣀⣀⡉⠀⣈⣉⣉⡉⣉⣉⡉⣉⣉⣁⣀⣀⡀⣀⣈⡙⠟⣋⣉⣉⢋⣉⣉⠻⢉⣁⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⢉⡙⢿⣿⣿⣷⠀ ⠀⠀⠀⠀⠀⢸⣿⣾⡟⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⢻⡗⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⣶⢹⣿⠉⣿⡇⣿⡇⠘⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠸⣿⡿⠁⠀ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣾⡏⠀⢿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣸⡇⣶⣹⣿⢸⢸⣿⠀⢿⣇⣿⢇⡀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠋⠀⢀⣾ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⢉⡈⠉⠀⠀⠉⠁⠉⠉⣠⣦⣬⣭⣥⣤⣭⣭⣤⣭⣭⣭⠉⠉⠁⠉⢩⣵⣿⣯⣭⣶⣮⣭⣭⣾⣷⣭⣭⣥⣭⡁⠉⠉⣥⣾⠉⠈⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⠀⢀⣾⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⠿⠿⠿⣿⣿⣿⣿⢿⡯⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿ ⠀⠸⠇⠹⢨⡇⠿⠾⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⣀⣠⣤⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣤⣤⣤⣥⣤⣄⣀⣀⣀⣀⣀⣛⣛⣻⣻⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠿⣇⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠙⠋⠉⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⠛⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠏ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⣿⣿⣿⣿⣿⣿⡿⢋⣷⣶⣖⣀⣨⣿⣿⣿⣄⣞⣻⡯⢿⣿⠀⠸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⡯⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⡯⣿⣿⣿⣿⣿⣿⣵⣧⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠹⠃⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠸⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⠋⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⣿⡟⠛⢉⣽⣿⣿⠀⠀⠀ ⠶⠶⠶⡤⠤⠤⠤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣤⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠙⣹⣿⣿⠙⠛⣿⣿⣿⣿⠋⠀⠙⢫⠎⣡⣼⣿⣿⢀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣄⢠⡀⣿⣿⡿⣾⣿⣿⣿⣿⣿⣿⣿⣿⡏⣿⣿⣿⠿⡿⠿⠿⢿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⡇⠀⠀⢀⣿⣿⣿⣇⡀⢷⣶⣾⣿⣿⣿⣿⢸⣆⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⢾⣿⣿⣾⣧⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢒⣋⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠉⡀⢸⣿⣿⡷⢠⡄⣹⣿⣿⡟⠉⠈⠉⢹⣿⣿⣿⣿⢸⣿⣄ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⡄⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⣾⣿⣿⣿⣿⢳⣿⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣷⡆⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠟⠻⠛⢿⣿⣿⡿⠿⠿⠿⠿⠛⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣤⣄⢚⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣄⠈⠻⣿⣿⣿⣿⣿⣃⣀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⢀⡀⠀⣨ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⡟⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢀⡀⣀⣿⣿⣿⣿⣿⣿⣷⣥⣤⣤⣤⣴⣾⡿⢿⣿⠀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣤⡆⣠⣹⣿⣿⣿⣷⣄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢻⣿⠉⣁⣷⠀⢿⣿⣿⣿⣯⣭⠝⢉⣍⡉⣩⣍⣽⠁⠁⠨⢿⣧⡼⠿⡷⠤⠭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠹⢿⣿⣿⣿⣿⣿⣆⡈⠉⠉⠛⠛⠛⠉⠡⢶⣿⣿⡇⠈⠋⠀⠈⣿⣿⣿⣿⣶⣀⠀⠀⠀⠀⢿⠇⠀⠁⠀⠀⠇⠀⢠⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠋⠁⠀⠀⠀⠀⠀⣠⣿⣿⣿⣷⣄⠀⠀⠀⠘⠛⠻⣿⢿⣿⣿⣦⣀⣀⣻⣀⣄⣠⡤⠀⠘⠃⠈⢣⠀⠀ ⠀⠀⠤⠤⠤⠤⠤⠤⠤⢤⣤⣤⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣷⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⢠⣾⣾⣿⣿⣿⣿⣾⣬⣿⣥⡼⠧⠀⣀⠀⠀⢘⣀⣀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿ ⡀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⡈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⡿⠿⠿ ⡇⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⠿⢛⣿⣿⣿⣿⡿⢿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠈⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⠤⠄⠤⠤⠤⠤⠤ ⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⠋⣠⣾⣿⣿⣿⣿⠁⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠻⠿⠟⠻⣿⡇⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⢠⣤⠀⠀ ⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⡿⠟⠛⠟⠋⠑⠚⠛⠿⠿⠿⠛⠃⠀⠀⠹⡟⠛⠿⠿⠿⠿⢿⡿⠿⢿⡿⠟⠀⠀⠀⠀⠸⠿⠿⠿⠿⠛⠛⠛⠛⠛⠧⠀⠀⠀⠀⠈⠁⠀⠀⠀⠙⠛⠻⠿⠿⠿⢿⣿⣿⣿⣿⣦⡀⠉⠀⠀ ⠀⠀⠀⠀⣾⣿⣿⣿⣿⡿⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢰⣿⣧⣿⣿⣾⣷⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠀⠀⣾⣿⣷⢸⣿⠿⠨⣿⣿⣿⣿⣿⣿⡄⠀⠀ ⠀⠀⠀⠀⣿⣿⣿⣿⣿⠅⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⠃⣠⠸⣿⣿⣿⣿⣿⣷⡀⠀ ⠀⠀⠀⠀⢻⡟⠀⠉⢽⣷⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⢃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⠀⠀⠉⢿⣿⣿⣿⣿⣿⡇⠀ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣈⣉⣀⣀⣀⡀⠀⠀⣀⡀⣀⣀⡉⠂⣈⣉⣉⡉⣉⣉⡙⣉⣉⣁⣀⣀⡀⣀⣈⡙⠟⣋⣉⣉⢋⣉⣉⠻⢉⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⢉⡉⢿⣿⣿⣿⠀ ⠀⠀⠀⠀⠀⢸⣿⣾⡟⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⢻⡧⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⣶⢹⣿⠉⣿⡇⣿⡇⠘⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠸⣿⡿⠃⠀ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣾⡇⠀⢿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣸⡇⣶⣹⣿⢸⢸⣿⠀⢿⣇⣿⢇⡀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠋⠀⢀⣾ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⢉⡈⠉⠀⠀⠉⠁⠉⠉⣠⣶⣬⣭⣥⣤⣭⣭⣤⣭⣭⣍⠉⠉⠁⠉⢉⣵⣿⣯⣭⣶⣮⣭⣭⣾⣷⣭⣭⣥⣭⡁⠉⠉⣵⣾⠉⠈⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⠀⢀⣾⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⠿⠿⠿⢿⣿⣿⣿⢿⡯⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣾⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿ ⠀⠸⠇⠹⢨⡇⠿⠾⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⣀⣠⣤⣶⣶⣶⣦⣤⣤⣤⣤⣤⣤⣤⣤⣤⣥⣤⣄⣀⣀⣀⣀⣀⣛⣛⣿⣛⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠿⣇⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠙⠋⠉⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⡟ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡿⣿⣿⣿⣿⣿⣿⣿⢏⣷⣾⣖⣀⣩⣿⣿⣿⣤⣾⣻⡿⢿⣿⠀⠸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⡿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡿⡯⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠹⠋⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⠃⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⢋⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣿⡟⠛⢉⣽⣿⣿⢸⠀⠀ ⠶⠶⠶⠦⠤⠤⠤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣨⣶⣿⠉⣽⣿⣿⠛⠛⣿⣿⣿⣿⡋⠀⠙⢫⠎⣥⣼⣿⣿⢸⡀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣏⣿⣿⣿⡿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣿⡇⠀⠀⢁⣿⣿⣿⣇⡀⢷⣶⣾⣿⣿⣿⣿⢸⣧⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠋⢐⣋⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠉⠀⢀⣽⣤⣤⢤⣄⣽⣿⣿⡟⠉⠈⠉⢹⣿⣿⣿⣿⢸⣿⣧ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⣷⣦⣄⠀⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⠀⢠⣿⣿⣿⢣⣾⣿⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣦⣀⠀⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠟⠟⢿⣿⣿⣿⠿⠿⠿⠿⠛⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣧⡀⠀⠺⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣰⣴⣿⣿⣿⣿⣿⣿⣿⣅⡀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⢀⠀⠀⣸ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣧⠇⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣴⣤⣼⡿⢿⣿⡀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣖⣼⣿⣿⣿⣿⣦⣄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢫⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣭⠝⢉⣍⡉⣩⣍⣽⠁⡁⠨⣿⣷⡼⠿⡷⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠹⢿⣿⣿⣿⣿⣿⣏⡀⠉⠉⠛⠛⠛⠉⠡⢶⣿⣷⡜⠻⠟⡿⠿⢼⣿⣿⣿⢦⣀⠀⠀⠀⠈⣿⠇⠀⠁⢀⠈⣿⠀⢠⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠉⠉⠉⠉⠉⠋⠁⠀⠀⠀⠀⠀⣠⢾⣿⣿⣿⣄⠀⠀⠀⠀⠘⠉⠻⠛⠿⣿⣦⣀⣀⣛⣀⣄⣠⣴⠀⠘⠇⠈⢳⠀⠀ ⠀⠀⠤⠤⠤⠤⠤⠤⠤⣤⣤⣤⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣾⣿⣿⣿⣿⣷⣦⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣾⣭⣿⣥⡾⠧⠀⣠⠀⠀⢸⣀⣠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣾⣿⣿⣿⣿⣿⣿ ⡀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠈⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⡿⠿⠿⠿⠿⡿⠿⣿ ⡇⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⢁⣿⣿⣿⣿⡿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣦⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡤⠤⠤⠤⠤⠤⠤ ⠁⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⢋⣴⣿⣿⣿⣿⡟⠠⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡾⠛⠛⠛⣿⠀⠀⠉⢿⣿⣿⣿⣿⣟⣿⣿⣿⣷⣦⡀⢠⣤⠀⠀ ⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⠿⠿⠻⠿⠛⠳⠻⠿⠿⠿⠿⠛⠃⠀⠀⢿⠟⠿⠿⠿⠿⢿⡿⠿⢿⡿⠿⠏⠀⠀⠀⠀⠻⠿⠿⠿⠿⠿⠟⠛⢿⣿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⠿⠿⠿⣿⣿⣿⣿⣿⣷⣄⠉⠀⠀ ⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣷⣿⣿⣾⣿⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠀⠀⣾⣿⣷⢸⣿⠿⣽⡿⣿⣿⣿⣿⣿⣧⠀⠀ ⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⠀⣿⣾⣿⣿⡇⣿⡟⢣⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢿⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⠃⠸⣿⣙⣿⣿⣿⣿⣿⣇⠀ ⠀⠀⠀⠀⠀⣿⡟⠛⣿⣿⣄⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⢃⠛⠛⠛⠛⠚⠛⣀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⠀⠀⠉⠙⢿⣿⣿⣿⣿⣿⠀ ⠀⠀⠀⠀⠀⢀⣁⢀⣀⣉⡉⣁⣈⡉⣉⣉⣉⣉⣀⡀⠀⠀⣀⡀⣀⣀⡉⠋⣉⣉⣉⡉⣉⣉⡉⣉⣉⣉⣈⣀⡀⣀⣀⡈⠟⣋⣉⣉⢋⣉⣙⠿⢋⣉⢉⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⢈⡙⢹⣿⣿⣿⠆ ⠀⠀⠀⠀⠀⢸⣿⣾⡿⣿⡇⣿⣜⡋⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣿⣷⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⣴⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠈⣿⣿⠟⣠ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⢀⣿⢿⣿⠀⠀⣿⡿⣿⣿⡟⠀⣿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣹⡇⣶⣹⣿⢸⣸⣿⠀⢿⣇⣿⢇⡄⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠈⠁⣰⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⠉⠈⣉⠀⠀⠉⠁⠉⠉⢤⣶⣬⣭⣥⣤⣭⣭⣤⣭⣭⣭⣭⠉⠁⠉⠉⠁⣿⣯⣭⣶⣮⣭⣭⣾⣷⣭⣭⣵⣭⣥⣍⡉⢡⣮⠉⠈⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⠀⢰⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠦⠆⠒⠆⠀⠀⠀⠀⠀⠉⠻⠿⠿⠿⡿⢿⣿⣿⣿⣿⡿⣿⡀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿ ⠀⠸⠏⠹⢨⡅⠿⠿⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⣀⣠⣤⣶⣶⣶⣶⣦⣤⣤⣤⣤⣤⣤⣤⣤⣤⣭⣥⣤⣀⣀⣀⣀⣀⣘⣛⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⢧⡀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠙⠋⠉⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⡟ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⣿⣿⣿⣿⣿⣿⡿⣯⣷⣾⣖⣀⣩⣿⣿⣿⣥⣞⣻⡯⢿⣿⠀⠸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⡿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣻⠿⡯⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠹⠃⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⠃⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡙⢱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⢋⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡛⣿⡟⠛⢉⣽⣿⣿⢸⠀⠀ ⠶⠶⠶⡦⠤⠤⠤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣨⣶⣿⠉⣹⣿⣿⠟⠛⣿⣿⣿⣿⡋⠀⠙⢻⠎⣥⣼⣿⣿⢸⡀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⡿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⡇⠀⠀⢁⣿⣿⣿⣇⣀⢷⣶⣾⣿⣿⣿⣿⢸⣧⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣋⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠁⠀⢀⣽⣤⡤⢤⣄⣽⣿⣿⡟⠉⠈⠉⢻⣿⣿⣿⣿⢸⣿⣧ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢾⣷⣦⣄⠀⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⠀⢠⣿⣿⣿⢣⣾⣿⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣦⣀⠀⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠟⠛⢿⣿⣿⡿⠿⠿⠿⠿⠛⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣧⡀⠀⠺⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣰⣴⣿⣿⣿⣿⣿⣿⡿⣁⡀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⢀⠀⠀⣈ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣧⠇⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣤⣤⣴⣼⣿⢿⣿⡀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣤⣖⣼⣿⣿⣿⣿⣦⣄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣭⠟⢉⣍⡉⣩⣍⣽⠁⠁⠨⣿⣷⡼⠿⡷⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠹⢿⣿⣿⣿⣿⣿⣇⡈⠉⠉⠛⠛⠛⠉⠠⢶⣿⣷⡜⠻⠿⡿⠟⢻⣿⣿⣿⢦⣀⢀⠀⠀⠈⣽⠇⠀⠁⢀⠈⣧⠀⢰⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⣿⣿⣿⣿⡧⠀⠀⠀⠀⠉⠉⠉⠉⠉⠋⠁⠀⠀⠀⠀⠀⣠⢾⣿⣿⣿⣄⠀⠀⠀⠀⠘⠉⠻⠛⠿⣿⣦⣀⢀⣻⣀⣄⣠⡼⠀⠘⠇⠈⢳⠀⠀ ⠀⠀⠤⠤⠤⠤⠤⠤⠤⣤⣤⣤⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣾⣿⣿⣿⣿⣷⣦⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣾⣭⣿⣥⡼⠧⠀⣠⠀⠀⢸⣀⣠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⣿⣿ ⡀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣧⠘⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⡿⠽⠿⠿⠿⠿⠿⠿ ⡇⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⢁⣿⣿⣿⣿⡿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣦⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠤⠤⠤⠤⠤⠤⠤ ⠁⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⢋⣴⣿⣿⣿⣿⡟⠐⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣜⠛⠛⠻⣿⠀⠀⠉⢿⣿⣿⣿⣿⣟⣿⣿⣿⣷⣦⡀⢠⣤⠀⠀ ⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⠿⠿⠻⠿⠛⠱⠻⠿⠿⠿⠿⠛⠃⠀⠀⠿⠟⠿⠿⠿⠿⢿⡿⠿⢿⡿⠿⠏⠀⠀⠀⠀⠻⠿⠿⠿⠿⠿⠟⠛⠿⣿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⠿⠿⠿⣿⣿⣿⣿⣿⣷⣄⠉⠀⠀ ⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⠘⣿⢸⣿⢸⡿⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣷⣿⣿⣾⣿⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠀⠀⣾⣿⣷⢸⣿⠿⣽⡿⣿⣿⣿⣿⣿⣧⠀⠀ ⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⠀⣿⣾⣿⣿⡇⣿⡟⢣⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢿⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⠃⠸⣿⣙⣿⣿⣿⣿⣿⣇⠀ ⠀⠀⠀⠀⠀⣿⡟⠛⣿⣿⣄⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⢃⠛⠛⠛⠛⠚⠛⣀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⠀⠀⠉⠙⢿⣿⣿⣿⣿⣿⠀ ⠀⠀⠀⠀⠀⢈⣀⢀⣀⣉⡉⣁⣈⡉⣉⣉⣉⣉⣀⡀⠀⠀⣀⡀⣀⣀⡉⠋⣈⣉⣉⣉⣉⣉⡙⣉⣉⣉⣀⣀⡀⣀⣀⡈⠿⣋⣉⣉⢋⣉⣙⠿⢋⣉⢉⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⢈⡙⢹⣿⣿⣿⠆ ⠀⠀⠀⠀⠀⢸⣿⣾⡿⣿⡇⣿⣜⡋⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣿⣷⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⣤⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠈⣿⣿⠟⣠ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⢀⣿⢿⣿⠀⠀⣿⡿⣿⣿⡟⠀⣿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣹⡇⣶⣹⣿⢸⢸⣿⠀⢿⣇⣿⢇⡄⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠈⠁⣰⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⠉⣈⣉⠀⠀⠉⠁⠉⠉⣤⣶⣬⣭⣥⣤⣭⣭⣤⣭⣭⣭⣭⠉⠁⠉⠉⠁⣾⣿⣭⣶⣮⣭⣥⣾⣷⣭⣭⣵⣭⣥⣍⠉⢡⣬⠉⠈⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⠀⢰⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆⠐⠄⠀⠀⠀⠀⠀⠈⠻⠿⠿⠿⠿⠿⣿⣿⣿⣿⡿⣿⡀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿ ⠀⠸⠏⠹⢨⡅⠿⠿⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⣀⣠⣤⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣥⣥⣤⣀⣀⣀⣀⣀⣘⣛⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠧⡀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠉⠉⠉⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⣿⣿⣿⣿⣿⣿⡿⣏⣷⣶⣖⣀⣩⣿⣿⣿⣥⣞⣻⡯⢿⣿⠀⢸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠇ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢿⡯⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠹⠋⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⡿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣇⠀⠀⢀⡾⢋⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⡟⠛⢉⣽⣿⣿⢰⡟⠀ ⠶⠶⠶⠤⠤⠤⠤⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣨⣶⣿⠉⣩⣿⣿⠙⠛⣿⣿⣿⣿⡋⠀⠙⢫⠎⣥⣼⣿⣿⢸⣷⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣶⣶⡀⠀⠀⣿⣿⡿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⡿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣿⡇⠀⠀⢁⣿⣿⣿⣧⣀⢷⣶⣾⣿⣿⣿⣿⢸⣿⣆ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣽⣿⣿⣆⣺⣾⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣋⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⣠⣉⣿⣏⣿⣧⣤⣤⣄⣹⣿⣿⡟⠉⠈⠉⢹⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⢠⣿⣿⣿⣿⣿⢠⣿⣿⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢿⣿⣿⣿⡆⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣾⡿⠿⠿⠿⠿⠛⠿⠟⢿⣿⣿⣿⠿⠿⠿⠿⠟⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⡆⣀⡪⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⡀⠻⡿⢿⣿⣿⣿⣟⣀⡀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⣨ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢇⣔⠀⣨⣿⣿⣿⣿⣿⣿⣿⣷⣦⣤⣤⣴⣼⡿⢿⣿⡀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣤⣤⡆⠠⢻⣿⣿⣿⣷⡄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢫⡟⠏⣠⣿⡅⢸⣿⣿⣿⣿⣭⠟⢉⣍⡉⣭⣍⣽⠁⠀⠨⣿⣷⡼⠯⡷⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠸⢿⣿⣿⣿⣿⣿⣇⡈⠉⠉⠛⠛⠛⠉⠡⢶⣿⣿⠈⠰⠿⠁⠀⢿⣿⣿⣹⣷⣄⣠⠄⡀⠨⣿⡇⠀⠁⢀⠈⣿⠀⢰⡟⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠈⠋⠉⠉⠉⠉⠋⠁⠀⠀⠀⠀⠀⣴⢿⣿⣿⣧⣄⠀⠀⠀⠀⠉⠉⢿⡻⣿⣿⣷⣄⣀⣻⣀⣄⣠⣼⠀⠘⠇⠈⢻⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⢤⣤⣤⣤⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣾⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣮⣽⣧⡼⠧⠀⣠⠀⠠⢸⣀⣠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⡀⠀⠀⠀⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⠀⠠⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣿⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠸⣿⣿⣿⣿⣿⣿⣿⣝⣿⣿⣿⡿⠽⠿⠿⠿⠿⠿⠿ ⡇⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⡿⢉⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠐⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⠠⠠⠤⠤⠤⠤ ⠁⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⢠⣾⣿⣿⣿⣿⡇⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠻⢿⣿⣿⣿⠀⠀⠙⢿⣿⣿⣿⣿⣝⣿⣿⣿⣿⣷⣄⢠⣤⠀⠀ ⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⠿⠿⠟⠿⠋⠁⠲⠿⠿⠿⠿⠛⠛⠀⠀⠘⠿⠿⠿⠿⠿⢿⡿⠿⢿⡿⠿⠿⠃⠀⠀⠀⠘⠿⠿⠿⠛⠿⠛⠛⠛⠿⠀⠀⠀⠀⠈⠋⠀⠀⠀⠀⠙⢻⠿⠿⠿⣯⣸⣿⣿⣿⣿⣷⡍⠀⠀ ⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⠙⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢰⣿⣷⣿⣿⣾⣷⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠀⠀⣾⣿⣷⢸⣿⠿⣽⡟⣿⣿⣿⣿⣿⣿⡀⠀ ⠀⠀⠀⠀⠰⣿⣿⣿⣿⣿⠀⣿⣾⣿⣿⡇⣿⡟⢣⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢿⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⠃⠸⣿⢄⣿⣿⣿⣿⣿⣿⠀ ⠀⠀⠀⠀⠀⣿⣿⢿⣿⣿⡀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⢃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⠀⠀⠂⠀⢹⣿⣿⣿⣿⣿⡆ ⠀⠀⠀⠀⠀⢉⣁⢀⣈⣉⡉⣁⣀⡉⣀⣉⣉⣉⣁⡀⠀⠀⣀⡀⣀⣀⡈⠋⣉⣉⣉⣉⣉⣉⡉⣉⣉⣉⣁⣁⡀⣀⣀⡀⠙⣋⣉⣉⢋⣉⣉⠻⢋⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⢀⡉⠙⣿⣿⣿⠃ ⠀⠀⠀⠀⠀⢸⣿⣾⡟⣿⡇⣿⣜⡋⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣻⣇⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⠀⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠀⠹⠿⠋⣠ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⢀⣿⢿⣿⠀⠀⣿⡿⣿⣽⡏⠀⢿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣹⡇⣶⣹⣿⠀⢸⣿⠀⢿⣇⣿⢇⡄⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠀⠀⣠⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⢈⠉⢈⠉⠀⠀⠉⠁⠉⠩⣤⣶⣬⣭⣥⣤⣭⣭⣤⣭⣭⣭⣭⣭⠁⠉⠉⠁⠀⣮⣭⣶⣮⣭⣭⣾⣷⣭⣭⣥⣭⣥⣉⣉⣱⣎⠉⠈⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⠀⣰⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠶⠷⠲⠀⠀⠀⠀⠀⠀⠀⠙⠻⢿⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿ ⠀⠸⠏⠹⢨⡇⠿⠿⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣤⣶⣶⣶⣦⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣭⣭⣅⣌⣀⣀⣀⣀⣀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿ ⠛⠛⠛⠉⠛⠛⠛⠛⠉⠉⠙⠋⠉⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠻⣿⣿⣿⣿⣿⣿⡿⢫⣷⣾⣖⣀⣨⣿⣿⣿⣤⣞⣻⡯⢿⣿⠀⠸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⡏ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡯⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠹⠃⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⢋⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⣿⡟⠛⢉⣽⣿⣿⢸⣿⠀ ⠶⠶⠶⠤⠤⠤⠤⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠉⣹⣿⣿⠙⠛⣿⣿⣿⣿⡋⠀⠙⢫⠎⣥⣼⣿⣿⣸⣿⡀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⡿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⡇⠀⠀⢀⣿⣿⣿⣇⡀⢷⣶⣾⣿⣿⣿⣿⢸⣿⣧ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣷⡄⠀⡀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣋⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⢀⡉⣸⣿⣿⣧⣤⢠⣄⣽⣿⣿⡟⠉⠈⠉⢹⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣦⣷⡄⠀⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⣾⣿⣿⣿⡿⣽⣟⣯⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⣿⣿⣷⠀⠀⠀⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠟⠟⠿⠛⢿⣿⣿⡿⠿⠿⠻⠟⠿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢿⣿⣷⡀⠀⠀⠀⡸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⠐⠛⠿⣿⣿⣿⣿⣁⣄⣀⡀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⢀⡀⣀⠀⢻ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣦⡄⠘⠿⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢇⠀⢠⣾⣿⣿⣿⣿⣿⣿⣾⣶⣤⣴⣴⣴⣼⡿⢿⣿⡀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣤⠀⢻⣿⣿⣿⣿⡆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣫⡟⢻⡟⠡⣼⡆⠘⣿⣿⣿⣯⣿⣭⠟⢉⣍⠉⣭⣍⣽⠁⠀⠨⣿⣷⡼⠿⡷⠤⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠈⠺⣿⣿⣿⣿⣿⣿⣇⡈⠉⠙⠛⠛⠛⠉⠡⣶⣿⣿⠀⠈⠁⠀⠸⣿⣿⣭⣿⣷⣦⣐⠂⠄⠨⣿⠇⠀⠁⢀⠈⣿⠀⢠⡯⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠉⠈⠉⠉⠉⠉⠋⠁⠀⠀⠀⠀⢀⣴⢿⣿⣿⣧⣀⠀⠀⠀⠀⠈⠛⣙⣻⣿⣿⣷⣦⣀⣻⣀⣄⣠⣼⠀⠘⠇⠈⢻⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⢤⣤⣤⣤⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣾⣿⣿⣿⣿⣧⡀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣯⣿⣧⣼⠧⠀⣠⠀⠀⢹⣀⣀ ⠀⠀⠀⠀⠐⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣆⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢁⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⡄⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠐⣿⣿⣿⣿⣿⣿⣿⣯⣻⣿⣿⣿⡿⠽⠿⠿⠿⠿⠹⠿ ⡇⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣤⠤⠤⠠⠤⠤⠤ ⠁⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⡿⠋⣠⣿⣿⣿⣿⣿⣿⠁⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠿⠿⣿⣿⣿⡇⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⡄⢠⣤⠀⠀ ⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⡿⠿⠟⠻⠋⠡⠺⠿⠿⠿⠿⠋⠛⠟⠀⠀⠻⠿⠿⠿⠿⠿⢿⡿⠿⢿⣿⠿⠟⠀⠀⠀⠀⠘⠛⠛⠛⠛⠛⠛⠛⠛⠀⠀⠀⠈⠛⠛⠀⠀⠀⠀⠘⠛⠻⠿⠿⢿⢸⣿⣿⣿⣿⣿⣶⡁⠀⠀ ⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢰⣿⣧⣿⣿⣾⣷⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠀⠀⣾⣿⣷⢸⣿⠿⠀⣿⣿⣿⣿⣿⣿⣷⠀⠀ ⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⠃⠸⠆⢿⣿⣿⣿⣿⣿⣧⠀ ⠀⠀⠀⠀⣿⣿⠛⣿⣿⣭⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⢃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⠀ ⠀⠀⠀⠀⠘⢁⣀⢀⣀⣁⡀⣀⣀⡉⣈⣉⣉⣁⣀⡀⠀⠀⣀⡀⣀⣀⡙⠏⣉⣉⣉⡉⣉⣉⡉⣉⣉⣉⣁⣁⡀⣀⣀⡀⠿⣉⣉⣉⢉⣉⣉⠛⢁⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⢉⡁⢿⣿⣿⣿⠀ ⠀⠀⠀⠀⠀⢸⣿⣾⡟⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⢻⡇⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⢰⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠈⢿⡟⠁⣴ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣾⡇⠀⢿⣿⣿⠷⣶⣻⡇⣿⣧⣸⣿⣸⡇⣶⣹⣿⢸⢸⣿⠀⢿⣇⣿⢇⡀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠀⠀⣰⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⢨⣉⡈⠉⠀⠀⠉⠁⠉⠩⣤⣶⣬⣭⣥⣤⣭⣭⣤⣭⣭⣭⣭⣍⠁⠉⠉⠁⠘⣯⣭⣶⣮⣭⣭⣾⣷⣭⣭⣥⣍⠁⠉⢉⣥⣮⠉⠈⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⠀⣰⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠽⠷⠇⠀⠀⠀⠀⠀⠀⠀⠈⠉⠿⢿⢿⡿⣿⣿⣿⣿⣿⣿⣿⣯⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿ ⠀⠸⠏⠹⢨⡅⠿⠾⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣤⣶⣶⣶⣦⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣭⣭⣀⣏⣀⣀⣀⣀⣀⣻⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿ ⠛⠛⠛⠉⠛⠛⠛⠛⠉⠉⠙⠋⠙⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⣿⣿⣿⣿⣿⣿⡿⢫⣷⣶⣖⣀⣨⣿⣿⣿⣥⣾⣻⡯⢿⣿⠀⢸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⡟ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡿⡯⣿⣿⣿⣿⣿⣿⣵⣧⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠹⠋⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠁ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⣾⢋⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⣟⠛⢉⣽⣿⣿⢸⣿⠀ ⠶⠶⠴⠤⠤⠤⠤⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣤⣾⣷⠹⣿⣿⣿⡀⠀⣨⣶⣿⠙⣽⣿⣿⠟⠛⣿⣿⣿⣿⡏⠀⠙⢻⠎⣤⣼⣿⣿⢸⣿⡄ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⠿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⡇⠀⠀⢁⣿⣿⣿⣇⡀⢷⣷⣾⣿⣿⣿⣿⢸⣿⣷ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣋⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⢀⣉⣄⠀⣿⣤⣤⢠⣄⣽⣿⣿⡟⠉⠈⠉⢻⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣄⢸⣧⠀⣤⡄⠀⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⢠⣿⣿⣿⣾⠂⠀⠁⣾⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣶⣿⣿⣿⡇⠀⠀⠀⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠿⠿⠻⠻⠟⢿⣿⣿⡿⠿⠿⠻⠟⠟⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣷⡄⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣠⣀⣀⣀⠀⡀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⡀⠀⠀⢘ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣷⡀⠀⢸⡇⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣤⣴⣬⣼⡟⢿⣿⡀⢸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣨⣿⣿⣿⣿⣿⣷⣶⡆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢫⣿⢸⣿⣿⣿⣿⣭⣿⣭⣿⣥⠝⢉⣍⡉⣩⣍⣽⠁⡁⠨⣿⣷⡼⠿⡷⠼⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠈⠿⣿⣿⣿⣿⣿⣇⡈⠉⠙⠛⠛⠛⠉⠡⠶⠛⠋⠀⢻⣿⣿⡿⣿⣿⣿⣿⣶⣤⣰⠀⢀⠨⣿⠇⠀⠁⢀⠀⣷⠀⢰⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠑⠀⣀⠈⠉⠉⠉⠙⠋⠁⠀⠀⠀⠀⢀⠠⣇⠀⠀⠀⠈⠉⠉⠀⠀⠿⣿⣿⣿⣿⣿⣧⣌⣀⣛⣀⣄⣠⣼⠀⠘⠃⠘⢫⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⢤⣤⣤⣤⣤⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⣿⣿⣿⣶⣄⡀⠀⠈⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣷⣦⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣬⣿⣥⡽⠧⠀⣀⠀⠠⢸⣀⣀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢰⣿⣿⣿⣿⣿⣿⣿⣷⣦⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣧⣤⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣿⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣩⣿⣿⣿⣿⣿⣿⣟⣻⢿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠿⠻⠿ ⡇⠀⠀⠀⠀⠀⣀⣤⣿⣿⣿⣿⣿⠿⢛⣿⣿⣿⣿⣿⡿⢻⣿⣿⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡤⠠⠄⠀⠤⠤⠤⠤ ⠁⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⠏⣠⣾⣿⣿⣿⣿⣿⠁⠈⣿⣿⡜⢼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠐⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⢠⣤⠀⠀ ⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⡟⠁⠞⠻⠿⠿⠿⠿⠿⠋⠀⠀⠘⠃⠁⠐⣿⠿⠿⠿⠿⠿⢿⡿⠿⠿⠿⠟⠀⠀⠀⠀⠻⠛⠛⠛⠛⠛⠛⠁⠀⠈⠙⠛⠻⠿⠀⠀⠈⠻⢿⣿⡿⠛⠛⠻⠿⢿⣿⣿⣿⣿⣧⠀⠀⠁⠀⠀ ⠀⠀⠀⣾⣿⣿⣿⣿⡿⠃⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣧⣿⣿⣾⣿⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠸⠁⣾⣿⣷⢸⣿⠿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀ ⠀⠀⢠⣿⣿⣿⡁⠉⠀⠀⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⢃⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀ ⠀⠀⠘⡟⠉⠉⠀⠀⠀⠀⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⠃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⢸⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣁⣀⡉⣉⣁⣀⣀⣀⡀⠀⠀⣀⡀⣀⣉⡙⠟⣉⣉⣉⡉⣉⣉⡙⣉⣉⣉⣀⣀⡀⣀⣈⡙⠋⣁⣀⣀⢀⣀⣀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠈⠛⣉⡛⢋⡛⣿⣿⠀⠀⠀ ⠀⠀⠀⠀⠀⢸⣿⣾⡿⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣿⣷⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⢠⢹⣿⠉⣿⡇⣿⡇⠘⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠸⠃⠀⢀⣾ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣿⡟⠀⣿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣸⡇⣶⣹⣿⢸⢸⣿⠀⢿⣇⣿⠇⠀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠀⢀⣼⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⢈⡉⠈⠉⠀⠀⢉⢁⠉⣉⣤⣶⣬⣭⣥⣤⣭⣭⣤⣭⣭⣭⠉⠉⠁⠉⠉⣵⣿⣯⣭⣴⣮⣭⣭⣤⡀⠉⠉⠁⠉⠁⠉⣩⣵⣮⡍⠈⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⢀⣼⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⠁⠀⠀⠀⠀⠈⠹⠍⠰⠟⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⢀⣀⣾⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿ ⠀⠸⠏⠹⢨⡅⠿⠷⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⣀⣠⣴⣶⣶⣶⣦⣤⣤⣤⣤⣤⣤⣤⣭⣭⣭⣥⣽⣁⣀⣀⣀⣀⣘⣛⣛⣛⣛⣛⠛⠛⠛⠛⠛⠛⠛⠿⠿⠿⠿⠿⠿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿ ⠛⠛⠛⠛⠋⠛⠛⠛⠉⠉⠙⠋⠙⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⣿⣿⣿⣿⣿⣿⡿⢏⣷⣶⣖⣀⣨⣿⣿⣿⣤⣞⣻⡯⢿⣿⠀⠸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⡟ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢿⡯⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⢹⠃⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⠋⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⡟⠛⢉⣽⣿⣿⢸⣿⠀ ⠶⠦⠤⠤⠤⠤⠤⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠉⣹⣿⣿⠛⠛⣿⣿⣿⣿⡋⠀⠙⢻⠎⣥⣼⣿⣿⢸⣿⡄ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣏⣿⣿⣿⡿⡿⠿⠿⢿⡇⣿⣿⣿⡇⠀⠈⠉⣿⣾⣷⣾⡇⠀⠀⢁⣿⣿⣿⣇⡀⢷⣶⣾⣿⣿⣿⣿⢸⣿⣷ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣛⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⢀⣉⣄⠀⣿⣤⣤⢠⡄⣽⣿⣿⡟⠉⠈⠉⢹⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣄⢰⣧⠀⣤⠀⠀⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⢠⣿⣿⣿⣶⠂⠀⠁⣾⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣶⣿⣷⣿⡆⠀⠀⠀⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠻⠿⠿⠿⠿⠿⠿⠿⠛⠛⢿⣿⣿⡿⠿⠿⠿⠿⠛⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⡄⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⢀⠀⡀⠀⣘ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣷⡀⠀⢸⡇⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣤⣤⣴⣼⣟⢿⣿⠀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣨⣿⣿⣿⣿⣿⣷⣶⡆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣫⡟⢻⡟⠘⣿⣿⣿⣿⣥⣿⣭⣿⣥⠙⢉⣍⠉⣭⣍⣽⠁⠀⠨⣿⣷⠼⠿⡷⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠈⠿⣿⣿⣿⣿⣿⣇⡈⠉⠙⠛⠛⠛⠉⠡⠶⠛⠃⠀⢻⣿⣿⣿⣿⣿⣿⣿⣶⣤⣰⠁⢀⠨⣿⠃⠀⠁⢀⠀⣷⠀⢰⡧⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠐⠀⣀⠈⠉⠉⠉⠉⠋⠁⠀⠀⠀⠀⢀⠠⣇⠀⠀⠀⠀⠉⠉⠀⠀⠿⣿⣿⣿⣿⣿⣧⣄⣀⣏⣀⣄⣠⣴⠀⠘⠇⠈⣳⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⣤⣤⣤⣤⣤⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⣿⣿⣿⣿⣶⣤⡀⠀⠈⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣷⣿⣷⣦⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣮⣿⣧⡼⠧⠀⣀⠀⠠⢽⣠⣤ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢀⣿⣿⣿⣿⣿⣿⣿⣷⣦⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣿⣿⣿⣿⣿⣿⣧⣤⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣹⣿⣿⣿⣿⣿⣿⣿⣻⢿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⡿⠹⠿ ⡇⠀⠀⠀⠀⠀⣀⣤⣿⣿⣿⣿⣿⠿⢛⣿⣿⣿⣿⣿⡿⢻⣿⣿⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡤⠠⠄⠀⠠⠤⠤⠤ ⠁⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⠏⣠⣾⣿⣿⣿⣿⣿⠁⠘⢿⣿⡜⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠐⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⢠⣤⠀⠀ ⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⡟⠁⠞⠻⠿⠻⠿⠿⠿⠃⠀⠀⠙⠃⠁⠈⣿⠿⠿⠿⠿⠿⢿⡿⠿⠿⠿⠟⠀⠀⠀⠀⠻⠛⠛⠛⠛⠛⠋⠁⠀⠉⠉⠛⠻⠿⠀⠀⠉⠛⢿⣿⠿⠛⠛⠻⠿⢿⣿⣿⣿⣿⣧⠀⠀⠉⠀⠀ ⠀⠀⠀⣾⣿⣿⣿⣿⠿⠃⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣧⣿⣿⣾⣷⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠸⠁⣾⣿⣷⢸⣿⠿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀ ⠀⠀⢠⣿⣿⣿⠃⠉⠀⠀⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⢃⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀ ⠀⠀⠘⣿⠉⠉⠀⠀⠀⠀⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠘⠓⠛⠙⠛⠀⠛⠃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⢸⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀ ⠀⠀⠀⠁⠀⢀⣀⢀⣀⣀⡈⣁⣀⡉⣉⣁⣀⣀⣀⡀⠀⠀⣀⡀⣈⣉⡙⠚⣉⣉⣉⡉⣉⣉⡙⣉⣉⣁⣀⣀⡀⣀⣈⡉⠋⣁⣀⣀⢀⣀⣀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠈⠛⣉⡛⢛⡛⣿⣿⠀⠀⠀ ⠀⠀⠀⠀⠀⢸⣿⣾⡿⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣿⣷⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⢠⢹⣿⠉⣿⡇⣿⡇⠘⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠸⠃⠀⠀⣾ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣿⡟⠀⢿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⢸⡇⣶⣹⣿⢸⢸⣿⠀⢿⣇⣿⠇⠀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠀⢀⣼⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⢨⡉⠈⠉⠀⠀⢉⣁⠉⣉⣤⣶⣬⣭⣥⣤⣭⣭⣤⣭⣭⣭⠉⠉⠁⠉⠉⣥⣾⣮⣭⣴⣮⣭⣭⣤⡀⠉⠉⠁⠉⠁⠉⣩⣵⣮⡍⠈⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⢀⣼⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠽⠃⠀⠀⠀⠀⠈⠹⠍⠥⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣷⣀⠀⠀⣀⣠⣶⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿ ⠀⠸⠏⠹⢨⡅⠿⠷⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣴⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣤⣬⣭⣭⣥⣽⣁⣀⣀⣀⣀⣘⣛⣛⣛⣛⡛⡛⠛⠛⠛⠛⠛⠛⠿⠿⠿⠿⠿⠿⣇⡀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿ ⠉⠛⠛⠉⠋⠛⠛⠛⠉⠉⠙⠉⠉⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⣿⣿⣿⣿⣿⣿⡿⢏⣷⣾⣖⣀⣨⣿⣿⣿⣅⣞⣻⡯⢿⣿⠀⠸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠏ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⡯⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⢹⠃⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⠋⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⡟⠛⢉⣽⣿⣿⢸⣿⠀ ⠶⠦⠤⠤⠤⠤⠤⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣯⠉⣹⣿⣿⠙⠛⣿⣿⣿⣿⡉⠀⠙⢳⠞⣥⣼⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣏⣿⣿⣿⠿⡿⠿⠿⢿⡇⣿⣿⣿⡇⠀⠈⠉⣿⣾⣷⣾⡇⠀⠀⢠⣿⣿⣿⣇⡀⢷⣶⣾⣿⣿⣿⣿⢸⣿⣄ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⡀⣄⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢒⣋⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⢉⣿⣇⣽⣤⣤⢠⡄⣽⣿⣿⡟⠉⠈⠉⢻⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣦⠸⣿⣿⡄⢀⡀⠀⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⢠⣿⣿⡷⠀⠀⠁⣾⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⢷⣿⣿⣿⣾⡇⠀⠀⠀⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠿⠻⠛⠟⢿⣿⣿⣿⠿⠿⠿⠿⠟⢻ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⡀⠀⠀⠀⠀⡸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣁⣀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⣀⠀⠀⢘ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣷⣀⡀⠀⢲⣷⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣤⣤⣴⣴⣼⡿⢿⣿⠀⢈⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢨⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢻⢿⣿⣿⣿⣯⣯⣭⣿⣭⣿⣥⠝⢉⣍⡉⣭⣍⣽⠁⠀⠨⣿⣷⠼⡿⡷⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣏⡴⢁⠀⠀⠈⠿⣿⣿⣿⣿⣿⣆⡈⠉⠙⠛⠛⠛⠉⠡⠖⠋⠀⢿⣿⣿⡿⣿⣿⣿⣿⣿⣦⣀⣠⠀⠠⠈⣽⠇⠀⠁⢀⠀⣷⠀⢰⡗⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⢁⠘⠛⣻⠄⠀⠀⠀⠀⠈⠉⠉⠉⠙⠋⠁⠀⠀⠀⠀⢀⠠⣇⠀⠀⠘⠛⠛⠁⠀⣿⣿⣿⣿⣿⣿⣿⣷⣄⣀⣛⣀⣄⣠⣼⠀⠘⢆⠈⢳⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⣤⣤⣤⣤⣤⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⣾⣿⣿⣿⣾⣀⡀⠀⠉⠒⢄⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣶⣽⣶⠀⠀⠀⢀⣤⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣭⣿⣧⡼⠧⠀⣀⠀⠠⢽⣀⣤ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢠⣿⣿⣿⣿⣿⣿⣿⣷⣦⠀⠀⠀⠀⠀⠀⠀⣠⣶⣼⣿⣿⣿⣿⣿⣦⡀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⢀⣶⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⡿⢋⣿⡿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⢀⣾⣹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠽⡿ ⡇⠀⠀⠀⠀⢀⣤⣿⣿⣿⣿⡿⠛⣩⣿⣿⣿⣿⣿⣿⠁⠘⣿⠁⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠞⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣌⣻⣿⣿⣿⣿⣿⣿⡧⠤⠤⠀⠀⠠⠤⠤⠤ ⠁⠀⠀⠀⢠⣾⣿⣿⣿⣿⡿⢁⣔⣿⣿⣿⣿⣿⣿⠋⠀⠀⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⢠⣤⠀⠀ ⠀⠀⠀⢰⣿⣿⣿⣿⣿⢋⠐⠛⠋⠛⠿⠟⠿⠟⠃⠀⠀⠀⠀⠀⠀⠻⡿⠛⠿⠟⠻⠿⠿⠿⠛⠻⠇⠀⠀⠀⠈⠙⠛⠛⠛⠛⠛⠛⠛⠛⠿⢿⣿⡿⠇⠈⠛⠻⠿⢿⣿⡟⠛⠻⢿⣿⠿⢿⣿⣿⣿⡀⠀⠀⠀⠉⠀⠀ ⠀⠀⢰⣿⣿⡿⢏⠟⠁⠀⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢰⣿⣧⣿⣿⣾⣿⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠈⣴⡟⣷⢸⣿⣆⠏⢸⠁⣾⣿⣷⢸⣿⠿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀ ⠀⠀⣿⡿⠟⠀⠀⠀⠀⠀⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⢃⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀ ⠀⠀⢻⡁⠀⠀⠀⠀⠀⠀⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠘⠓⠛⠙⠛⠀⠛⠃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⣼⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⣀⣀⡙⠟⣀⣀⣉⡉⣉⣉⡉⣉⣀⣀⣀⣀⡀⣀⣀⡁⠀⣀⣀⣀⢀⣀⣀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣉⡉⣿⠟⣛⡻⢛⡛⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢸⣿⣾⡟⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣽⣧⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⠀⢹⣿⠉⣿⡇⣿⡇⠘⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⢀⠙⣿⡏⣿⡇⠀⠀⠀⠀⣾ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣽⡏⠀⢿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⢸⡇⣶⣹⣿⠀⢸⣿⠀⢿⣇⣿⠇⠀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠀⢀⣾⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⢈⠉⠈⠉⢀⣤⣉⣥⣭⣭⣤⣶⣬⣭⣥⣤⣭⣭⣤⣭⠉⠉⠉⠉⠁⣭⣭⣥⣶⣬⣉⣠⢌⠉⠉⠀⠀⠉⠉⠁⠉⠁⢉⣩⣵⣮⣭⡌⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⢀⣼⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠨⠿⠿⠿⠿⠿⣿⠟⣛⣻⢿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿ ⠀⠸⠏⠹⢨⡅⠿⠷⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣴⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣤⣤⣤⣭⣀⣀⣀⣀⣀⣙⣛⣛⣛⡛⠛⠛⠂⠀⠀⠀⠀⠀⠀⠀⠿⠿⠿⠿⠿⠿⢿⣀⡀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠉⠋⠙⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⣿⣿⣿⣿⣿⣿⡿⢋⣷⣾⣖⣀⣩⣿⣿⣿⣥⣞⣻⡿⢻⣿⠀⢸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠏ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡯⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⢹⠋⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⡇⠀⠀⢀⡾⠋⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣿⡟⠛⢉⣽⣿⣿⢸⣿⠀ ⠶⠶⠴⠤⠤⠤⢤⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠙⣹⣿⣿⠟⠛⣿⣿⣿⣿⡋⠀⠙⢳⠎⣥⣼⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⡿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⡇⠀⠀⢡⣿⣿⣿⣇⡀⢷⣶⣾⣿⣿⣿⣿⢸⣿⡄ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣛⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠉⠀⠀⡽⣤⣤⢠⡄⣽⣿⣿⡟⠉⠈⠉⢻⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⢀⣤⣦⠀⠀⠁⣾⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣄⣰⣀⠀⠀⠀⠀⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠿⠿⠿⠟⠛⢿⣿⣿⡿⠿⠿⠟⠿⠟⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣇⠀⠀⠀⠀⢺⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣟⣴⣿⣿⣿⣿⣁⣀⣀⣀⣀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⢀⠀⡀⠀⣈ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⡀⠀⢸⣿⣮⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣤⣦⣦⣴⣼⡿⢿⣿⠀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣶⠒⠀⠁⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢻⢿⣿⣿⣿⣿⣯⣭⣿⣭⣿⣥⠝⢉⣍⠉⣩⣍⣽⠁⠁⠨⣿⣷⠼⠿⡷⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⠀⠀⠈⠿⣿⣿⣿⣿⣿⣇⡈⠉⠉⠛⠛⠛⠉⠠⠶⠣⢙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⣐⠀⠀⠠⢿⠇⠀⠁⢀⠈⣷⠀⢰⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⡿⠟⢛⡛⠛⠓⠂⠀⠀⠀⠀⠈⠉⠉⠉⠙⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠉⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⣘⣀⣄⣠⣼⠀⠘⠇⠈⢳⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⣤⣤⣤⣤⣤⣤⣤⣾⣿⣿⣿⣿⣿⣿⣿⢟⡥⠀⣾⣿⣇⣴⣴⣄⣀⣀⠈⠐⠠⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣷⣦⡄⠀⠀⢀⣴⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣽⣧⡽⠧⠀⣀⠀⠠⢽⣀⣠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⠇⢰⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⢠⣦⣴⣿⣿⣿⣿⣷⡀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢏⣿⡏⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⢀⣾⣙⣿⣿⣿⣿⣿⣿⣿⣿⣟⣻⣽⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⡿⠹⠿ ⡇⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⡿⠉⣠⣿⣿⣿⣿⣿⣿⡗⢸⣿⠁⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⢃⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣭⣿⣿⣿⣿⣿⣿⣿⣧⠤⠤⠤⠀⠤⠤⠤⠤ ⠁⠀⠀⠀⠀⣾⣿⣿⣿⣿⡟⣠⣮⣿⣿⣿⣿⣿⣿⡟⠁⠈⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡌⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⢠⣤⠀⠀ ⠀⠀⠀⢠⣾⣿⣿⣿⣿⢫⠜⠛⠛⠻⠿⠿⠿⠿⠛⠀⠀⠀⠀⠀⠐⢻⡿⠟⠿⠿⠻⠿⠿⠿⠛⠻⠃⠀⠀⠀⠘⠛⠛⠛⠛⠛⠛⠛⠛⠛⠿⢿⣿⡿⠀⠉⠛⠻⠿⢿⣿⠻⠿⠿⢿⣿⠿⢿⣿⣿⣿⡀⠀⠀⠀⠉⠀⠀ ⠀⠀⢀⣾⣿⣿⢻⠟⠁⠀⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣷⣿⣿⣾⣷⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠈⣴⡟⣷⢸⣿⣆⠏⢸⠀⣾⣿⣷⢸⣿⠿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀ ⠀⠀⣼⣿⠿⠁⠀⠀⠀⠀⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢿⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⢃⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀ ⠀⠀⠙⡇⠀⠀⠀⠀⠀⠀⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⠃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⣼⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⣀⣈⡙⠷⣀⣀⣉⣉⣉⣉⡉⣀⣀⣀⣀⣀⡀⣀⣀⡀⠀⣀⣀⣀⢀⣀⣀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣉⣁⡹⣿⠟⣛⡻⢛⡁⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢸⣿⣾⡟⣿⡇⣿⣜⡋⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⢹⡗⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⠀⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠀⠀⠀⠀⣾ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣺⡇⠀⢿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣹⡇⣶⣹⣿⠀⢸⣿⠀⢿⣇⣿⠇⠀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠀⢠⣾⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⢈⠉⠈⠉⢄⣤⣍⣥⣭⣩⣤⣷⣬⣭⣥⣤⣭⣭⣤⠉⠉⠉⠉⠉⣡⣭⣭⣥⣶⣌⡉⢤⢌⠉⠉⠀⠀⠉⠉⠁⠉⠁⠉⣭⣵⣬⣭⣬⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⢠⣾⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠀⠀⠀⠿⠿⠿⠿⠿⠿⣿⣭⣙⣛⡿⣿⣿⣿⣿⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿ ⠀⠸⠏⠹⢨⡅⠿⠧⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣴⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣤⣤⣬⣀⣀⣀⣀⣀⣈⣋⣙⣛⣛⠛⠓⠀⠀⠀⠀⠀⠀⠀⠀⠘⠪⠾⠿⠿⠿⠿⣿⣇⣀⠀⠀⠀⠀⠀⠀⢀⣸⣿⣿⣿⣿⣿ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠉⠋⠙⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡿⣿⣿⣿⣿⣿⣿⡿⣫⣵⣾⣖⣀⣨⣿⣿⣿⣅⣞⣻⡯⢿⣿⠀⢸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠏ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⢹⠃⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⢱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⡇⠀⠀⢀⡾⠋⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣿⡟⠛⢉⣽⣿⣿⢸⣿⠀ ⠶⠶⠶⡶⠤⠤⠤⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠙⣹⣿⣿⠟⠛⣿⣿⣿⣿⡋⠀⠙⢳⠎⣥⣼⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⣿⣿⣿⠿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠈⠉⣿⣾⣷⣾⡇⠀⠀⢁⣿⣿⣿⣇⣀⢷⣶⣾⣿⣿⣿⣿⢸⣿⡆ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣋⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠉⠀⠀⠽⣤⣤⢠⡄⣽⣿⣿⡟⠉⠈⠉⢻⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⢀⣤⣤⠀⠀⢑⣾⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣄⣰⣀⠀⠀⠀⠀⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠿⠿⠿⠛⠛⢿⣿⣿⡿⠿⠿⠿⠿⠟⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣇⠀⠀⠀⠀⢺⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣴⣿⣿⣿⣿⣡⣠⣄⣀⣀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⢀⣀⡀⡀⡙ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⠀⠀⢸⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣴⣦⣶⣼⣼⣟⢿⣿⠀⢈⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣶⠒⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢻⢿⣿⣿⣿⣿⣯⣭⣿⣭⣿⣥⠝⢉⣍⠉⢩⣍⣽⠁⠀⠨⣿⣷⠼⠿⡷⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣰⣾⣿⣿⣿⣿⣿⣿⣿⣶⣦⠀⠀⠈⠿⣿⣿⣿⣿⣿⣇⡈⠉⠉⠛⠛⠛⠉⠡⠶⠇⠈⣿⣿⣿⡿⣿⣿⣿⣿⣿⣶⣄⣀⠀⠠⠠⢿⠏⠀⠁⢀⠀⣷⠀⢰⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⡿⠟⢛⡛⠛⠃⠒⠀⠀⠀⠀⠈⠉⠉⠉⠉⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠉⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⣙⣀⣄⣠⣴⠀⠘⠇⠈⢳⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⣤⣤⣤⣤⣤⣤⣤⣾⣿⣿⣿⣿⣿⣿⣿⢟⡡⠀⣾⣿⣇⣴⣴⣄⣀⣀⠈⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣷⣦⡄⠀⠀⢀⣴⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣿⣧⡽⠧⠀⣀⠀⠠⢽⣀⣄ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⠇⢰⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⢠⣦⣴⣿⣿⣿⣿⣷⡀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢏⣿⡟⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⢀⣾⣹⣿⣿⣿⣿⣿⣿⣿⣿⣟⣟⣹⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠿⠹⡿ ⡇⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⡿⠉⣠⣿⣿⣿⣿⣿⣿⡟⢸⣿⠁⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡧⠀⠀⠀⢃⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣭⣿⣿⣿⣿⣿⣿⣿⣧⠤⠤⠤⠠⠤⠤⠤⠤ ⠁⠀⠀⠀⠀⣾⣿⣿⣿⣿⡟⣠⣮⣿⣿⣿⣿⣿⣿⡟⠁⠈⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡌⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⢠⣤⠀⠀ ⠀⠀⠀⢠⣾⣿⣿⣿⣿⢫⠞⠛⠛⠻⠿⠿⠿⠿⠛⠀⠀⠀⠀⠀⠀⠻⡿⠛⠿⠟⠻⠿⠿⠿⠛⠻⠃⠀⠀⠀⠘⠛⠛⠛⠛⠛⠛⠛⠛⠛⠻⢿⣿⡿⠀⠉⠛⠻⠿⢿⣿⠻⠿⠿⢿⣿⠿⣿⣿⣿⣿⡀⠀⠀⠀⠉⠀⠀ ⠀⠀⢀⣾⣿⡿⢻⠟⠁⠀⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣧⣿⣿⣾⣷⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠈⣴⡟⣷⢸⣿⣆⠏⠸⠀⣾⣿⣷⢸⣿⠿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀ ⠀⠀⣼⣿⠟⠁⠁⠀⠀⠀⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⢃⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀ ⠀⠀⠘⠇⠀⠀⠀⠀⠀⠀⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⠃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⣼⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⣀⣈⡙⠷⣀⣀⣉⣉⣉⣉⡉⣀⣀⣀⣀⣀⡀⣀⣀⡈⠁⣀⣀⣀⢀⣀⣀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣉⣁⡹⢿⠟⣛⡻⢛⡉⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢸⣿⣾⡟⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⢹⡗⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⠀⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⢀⠙⣿⡏⣿⡇⠀⠀⠀⢀⣾ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣺⡇⠀⢿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣸⡇⣶⣹⣿⠀⢸⣿⠀⢿⣇⣿⠇⠀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠀⢠⣾⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⢈⠉⠈⠉⣠⣤⣩⣥⣭⣩⣤⣶⣬⣭⣥⣤⣭⣭⣤⠉⠉⠉⠉⠉⣡⣭⣭⣥⣶⣌⡉⢤⠌⠉⠉⠀⠀⠉⠉⠁⠉⠁⠉⣭⣵⣬⣭⣬⠉⠈⠉⠀⠀⠉⠁⠉⠁⠀⢠⣾⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠀⠀⠀⠻⠿⠿⠿⠿⠿⣿⣭⣙⣛⣿⢿⣿⣿⣿⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⠓⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿ ⠀⠸⠏⠹⢨⡅⠿⠿⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣴⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣤⣤⣬⣀⣀⣀⣀⣀⣈⣉⣉⣛⣛⠛⠓⠀⠀⠀⠀⠀⠀⠀⠀⠘⠣⠾⠿⠿⠿⠿⣿⣇⣀⠀⠀⠀⠀⠀⠀⢀⣸⣿⣿⣿⣿⣿ ⠛⠛⠛⠉⠛⠛⠛⠛⠋⠉⠉⠋⠙⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⣿⣿⣿⣿⣿⣿⣿⢫⣷⣶⣖⣀⣹⣿⣿⣿⣥⣞⣻⡯⢿⣿⠀⢸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠏ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡿⡯⣿⣿⣿⣿⣿⣿⣵⣧⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⢹⠃⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⡇⠀⠀⢀⡾⢋⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⡟⠛⢉⣽⣿⣿⢸⣿⠀ ⠶⠦⠴⠤⠤⠤⠤⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠙⣹⣿⣿⠛⠛⣿⣿⣿⣿⡋⠀⠙⢳⠎⣤⣼⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣶⡌⣷⠀⠀⢀⣿⣿⡿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣏⣿⣿⣿⠿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⡇⠀⠀⢁⣿⣿⣿⣇⡀⢷⣶⣾⣿⣿⣿⣿⢸⣿⡀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣤⠸⣷⣿⣧⠀⣸⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣋⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⣩⣽⠁⣽⣤⣤⢠⡄⣽⣿⣿⡟⠉⠈⠉⢹⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣦⢹⣿⣿⣦⣿⡇⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⢀⣼⡏⡟⠀⠀⠀⠀⣾⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣷⠀⠱⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣏⣿⠿⠟⠿⠿⠿⠿⠿⠿⠿⠿⠿⠻⣿⣿⣿⡿⠿⠟⠻⠿⠟⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⡀⠀⠀⢺⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣿⣯⣿⣿⣀⣀⣀⣄⣄⡀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⢀⣀⠀⣘ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣷⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣴⣦⣶⣤⣼⡿⢿⣿⠀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⡏⠁⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢫⠟⣿⣿⣿⣿⣿⣭⣽⣯⣿⣭⠝⢉⣉⠉⣩⣍⣽⠁⠀⠨⣿⣧⠬⠿⡿⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣷⣺⣿⣿⣿⣿⣿⣿⣷⠀⠈⠿⣿⣿⣿⣿⣿⣇⡈⠉⠙⠛⠛⠛⠉⠡⢶⡏⠀⢸⣿⣿⡿⠛⣿⣿⣿⣿⣿⣦⣴⣄⠠⠠⢿⠇⠀⠁⢀⠐⣶⠀⢰⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢃⠀⠀⠀⢌⠉⠉⠉⠙⠋⠁⠀⠀⠀⠀⠀⠀⢸⣧⡀⠀⠉⠋⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣤⣼⣀⣄⣠⣼⠀⠘⠂⠈⢣⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⢤⣤⣤⣤⢤⣤⣤⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣮⣀⣄⣀⠀⠑⢄⠀⠀⠀⠀⠀⠀⠀⢀⣴⣷⣾⣿⣟⠀⠀⠀⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡽⠧⠀⣀⠀⠠⢽⣀⣠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⣿⡿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠈⠂⠀⠀⠀⢀⣤⣴⣿⣿⣿⣿⣿⣿⣦⣄⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⠁⠈⠏⢰⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣩⣽⣿⣿⣿⣿⣿⡿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⡿⡿⠹⢿ ⡇⠀⠀⠀⠀⠀⢀⣴⣿⣿⣿⣿⡿⠛⣹⣿⣿⣿⣿⣿⡿⠃⢸⠁⡀⠀⠂⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⢼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣿⣿⣿⣿⣿⣿⣿⣦⠤⠀⠀⠠⠤⠤⠤ ⠁⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⠟⢁⡐⢹⣿⣿⣿⣿⡟⠁⠀⠈⠀⠂⠨⠂⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⢠⣤⠀⠀ ⠀⠀⠀⠀⣴⣿⣿⣿⣿⡿⠋⠚⠛⠙⠛⠛⠛⠿⠛⠀⠀⠀⠀⠀⠀⠀⠒⠛⠛⠛⠛⠿⠿⠿⠛⠻⠇⠀⠀⠀⠘⠛⠻⠛⠛⠛⠛⠛⠻⠿⠿⢿⣿⡿⠟⠀⠈⠙⠻⠻⣿⣿⠟⠻⢿⡿⠿⢿⣿⣿⣿⣿⡄⠀⠀⠁⠀⠀ ⠀⠀⠀⢸⣿⣿⠟⠧⠋⠀⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢰⣿⣷⣿⣿⣾⣷⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠈⣴⡟⣷⢸⣿⣆⠏⠸⠁⣾⣿⣷⢸⣿⠿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀ ⠀⠀⠀⣿⠿⠃⠀⠀⠀⠀⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⢃⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀ ⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⠃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⢸⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⣀⣀⡉⠏⣉⣉⣉⣉⣉⣉⡉⣀⣀⣀⣀⣀⡀⣀⣀⡈⠃⣀⣀⣀⢀⣀⣀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣉⡹⠻⠟⣋⡻⢛⡛⢿⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢸⣿⣾⡟⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣿⣷⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⠀⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠀⠀⠀⢀⣿ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣿⡟⠀⢿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣸⡇⣶⣹⣿⠀⢸⣿⠀⢿⣇⣿⠇⠀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⠀⢠⣿⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⢉⠈⠉⠀⠀⠉⠁⢉⣩⣤⣶⣬⣭⣥⣤⣭⣍⣤⠉⠉⠉⠉⠉⣥⣭⣭⣥⣴⣬⡉⡄⣈⠉⠉⠀⠀⠉⠉⠁⠉⢁⠉⣭⣵⣮⣭⣮⡭⠈⠉⠀⠀⠉⠁⠉⠁⠀⣠⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠽⠾⢟⣛⣛⠿⠿⣿⣿⣿⣿⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣼⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿ ⠀⠸⠏⠹⢨⡇⠿⠿⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣤⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣤⣤⣬⣀⣀⣀⣀⣀⣉⣉⣙⣛⣛⡛⠛⠂⠀⠀⠀⠀⠀⠀⠀⠀⠂⠿⠿⠿⠿⠿⢿⣿⣃⡀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠻⣿⣿⣿⣿⣿⣿⣿⣏⣷⣾⣖⣀⣨⣿⣿⣿⣥⣞⣻⡿⢻⣿⠀⢸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠇ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣷⢿⡯⣿⣿⣿⣿⣿⣿⣵⣧⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠹⠋⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠱⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⡇⠀⠀⢀⡾⢋⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⡟⠛⢉⣽⣿⣿⢸⣿⠀ ⠶⠶⠤⠤⠤⠤⠤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣤⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠙⣽⣿⣿⠛⠛⣿⣿⣿⣿⡋⠀⠙⢳⠎⣥⣼⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⡟⣿⣿⣿⡿⡿⠿⠿⢿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⡇⠀⠀⢈⣿⣿⣿⣇⣀⢷⣶⣾⣿⣿⣿⣿⢸⣿⡆ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠰⣤⣠⡀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢒⣛⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠉⠀⢀⣿⣿⣦⣠⣄⣽⣿⣿⡟⠉⠈⠉⢹⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢷⣄⣿⣿⣿⠀⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⢹⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠹⢿⣿⣿⣷⣤⠳⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⢿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠛⠛⢿⣿⣿⡿⠿⠿⠿⠿⠟⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢨⣿⣿⣿⣿⡄⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣰⠖⣾⣿⣿⣿⣟⣁⣀⢀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⡀⡀⠀⡙ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣧⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣴⣤⣴⣴⣼⡟⢿⣿⠀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡙⠛⠛⠛⠛⣩⡟⢫⣿⣿⡟⢸⣿⣿⣿⣿⣭⣿⣥⠝⠉⣍⡉⣭⣭⣽⠁⠉⠨⣿⣷⠼⠿⡷⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⡃⠘⠿⣿⣿⣿⣿⣿⣇⡀⠉⠉⠛⠛⠛⠉⠡⠖⣿⣿⠁⠁⠀⣿⣿⡿⠻⣿⣿⣿⣶⣶⣆⣀⠠⢿⠇⠀⠁⢀⠀⣷⠀⢰⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣇⡝⠁⠀⠀⠀⠊⢍⠉⠉⠉⠋⠁⠀⠀⠀⠀⠀⠀⢸⣿⣿⣄⠀⠀⠀⠀⠀⢀⣘⣿⣿⣿⣿⣿⣿⣦⣼⣀⣄⣠⣼⠀⠘⠇⠈⢳⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⠤⣤⣤⣤⣤⣤⣤⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢹⣿⡿⣿⣷⣦⣤⣤⣄⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⣶⣿⣿⣿⣇⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡽⠧⠀⣀⠀⠠⢽⣀⣤ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⣿⡟⣽⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⣠⣤⣾⣿⣿⣿⣿⣿⣿⣿⣶⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣾⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣯⣿⣿⣿⣿⠇⢀⣿⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣷⣿⣿⣿⣿⣿⣿⣛⡿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠹⡿ ⡇⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⠟⢉⣾⣿⣿⣿⣿⡿⢻⡏⢀⣾⡏⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡤⠤⠤⠤⠤⠤⠤ ⠁⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⡿⢋⣴⣿⣿⣿⣿⣿⣿⠃⠈⠀⠘⢹⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⢠⣤⠀⠀ ⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⡿⠋⠑⠛⠛⠛⠛⠻⠿⠿⠃⠀⠀⠀⠀⠘⠟⠛⠛⠛⠻⠿⠿⠿⠛⠻⠏⠀⠀⠀⠀⠛⠻⠛⠛⠛⠛⠛⠛⠛⠛⠻⢿⡿⠿⠛⠀⠀⠀⠙⢻⣿⠿⠛⠛⠿⠿⢿⣿⣿⣿⣿⣷⡄⠀⠉⠀⠀ ⠀⠀⠀⠀⣼⣿⣿⡟⡛⠏⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢰⣿⣧⣿⣿⣾⣷⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠸⠀⣾⣿⣷⢸⣿⠿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀ ⠀⠀⠀⠠⣿⠿⠋⠀⠀⠀⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⠃⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀ ⠀⠀⠀⠀⠹⠂⠀⠀⠀⠀⠀⠛⠛⠘⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⠃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⣼⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⣀⣀⡉⠏⣉⣉⣉⡉⣉⣉⡉⣉⣀⣀⣀⣀⡀⣀⣀⡉⠀⣀⣀⣀⢀⣀⣀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠻⠏⣉⡛⢛⡛⣿⣿⠀⠀⢀ ⠀⠀⠀⠀⠀⢸⣿⣾⡟⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⢽⣇⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⠀⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⢸⡏⠀⣠⣿ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣼⡏⠀⢿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣸⡇⣶⣹⣿⢀⢸⣿⠀⢿⣇⣿⠇⠀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠈⠀⣰⣿⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⢉⡈⠉⠀⠀⠉⠁⠉⠉⣤⣦⣬⣭⣥⣤⣭⣭⣠⡍⠉⠉⠉⠉⢡⣭⣭⣥⣾⣮⣭⣤⣌⡉⠉⠀⠀⠉⠉⠁⠉⠁⠉⢉⣥⣮⣭⣮⣭⠈⠉⠀⠀⠉⠁⠉⠁⠀⣴⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⠿⢿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⣆⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿ ⠀⠸⠏⠹⢨⡅⠿⠿⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣤⣶⣶⣶⣶⣤⣤⣤⣤⣤⣤⣤⣤⣤⣅⣀⣀⣀⣀⣈⣛⣛⣛⣛⣛⠛⠛⠛⠛⠀⠀⠀⠀⠀⠀⠀⠰⠿⠿⠿⠿⢿⣿⣇⡀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠉⠋⠙⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠿⣿⣿⣿⣿⣿⣿⣿⣯⣷⣾⣖⣀⣩⣿⣿⣿⣅⣞⣻⡿⢿⣿⠀⠸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠏ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⢹⠋⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⢳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⢋⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⡟⠛⢉⣽⣿⣿⢸⣿⠀ ⠶⠶⢶⠤⠤⠤⢤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣯⠉⣹⣿⣿⠛⠛⣿⣿⣿⣿⡋⠀⠙⢻⠎⣥⣼⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⡿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⡿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⣇⡀⢀⢀⣿⣿⣿⣇⣀⢷⣶⣾⣿⣿⣿⣿⢸⣿⣆ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣦⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣛⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠉⠀⢀⣿⣿⣿⣿⣄⣽⣿⣿⡟⠉⠈⠉⢻⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣷⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⢻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⠀⢠⣿⣿⣿⣿⣷⣿⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⣸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠿⣿⣷⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠻⢿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠛⠛⣿⣿⣿⡿⠿⠿⠿⠿⠟⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣰⣄⡔⠿⠿⣿⣿⣿⣟⡀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⢀⠀⡀⠀⡙ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠁⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣶⣴⣤⣶⣼⣼⡟⢿⣿⡀⠘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣤⣶⣦⣬⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢫⣿⣿⣟⠟⣿⡟⠘⣿⣿⣿⣏⠟⢉⣍⡉⣩⣩⣽⢁⠀⠨⣿⣧⡬⠿⡧⠮⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣅⡈⠉⠉⠛⠛⠛⠉⠡⠖⠁⣿⣿⣿⡀⠈⠀⠀⠻⠿⢿⣿⣿⣿⣦⣄⠰⢿⠇⠀⠁⠀⠀⣷⠀⢰⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⠀⠀⠀⠈⠙⠉⠉⠉⠋⠁⠀⠀⠀⠀⠀⠀⢀⣠⣿⣿⣿⣷⣄⡀⠀⠀⠀⢀⣠⣽⣿⣿⣿⣷⣿⣠⣄⣠⡬⠀⠘⠇⠈⢳⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⠤⣤⣤⣤⣤⣤⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣧⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣷⣿⣿⣿⣿⣿⣧⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣧⡼⠧⠀⣀⠀⠠⢼⣀⣠ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣻⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢼⣯⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⡿⡿⠹⡿ ⡇⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⡿⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠆⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⠤⠤⠤⠤⠤ ⠁⠀⠀⠀⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣿⣿⣿⠋⣠⣾⣿⣿⣿⣿⡏⠁⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⢸⣿⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣠⣤⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⠿⠿⠛⠟⠋⠁⠛⠿⠻⠿⠿⠟⠋⠐⠀⠻⠟⠻⠟⠿⠿⠿⡿⠿⠿⡿⠿⠃⠀⠀⠀⠘⠿⠻⠿⠟⠛⠛⠛⠛⠻⠿⠁⠀⠈⠁⠀⠁⠀⠀⠀⠀⠚⠻⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀ ⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣷⣿⣿⣾⣿⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠀⠀⣾⣿⣷⢸⣿⠿⣹⣿⣿⣿⣿⣿⣿⣿⣦⠀ ⠀⠀⠀⠀⠀⠀⣿⣿⡿⠟⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⠃⠘⠻⣿⣿⣿⣿⣿⣿⣿⡆ ⠀⠀⠀⠀⠀⠀⢹⡋⠁⢐⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⢃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣇ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣈⣉⣀⡀⠀⠀⣀⡀⣀⣀⡀⠀⣀⣉⣉⣉⣉⣉⡉⣉⣉⣁⣀⣀⡀⣀⣈⡙⠟⣉⣉⣉⢉⣉⣉⠙⢁⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⢉⡉⢿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⢸⣿⣾⡿⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣿⣷⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⣴⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣿⡟⠀⣿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣸⡇⣶⣹⣿⢸⢸⣿⠀⢿⣇⣿⢇⡀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⣸⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⠉⠈⣉⡀⠀⠉⠁⠉⠉⠀⢠⣬⣉⣥⣤⣭⣭⣤⣭⣭⡍⠉⠉⠁⠉⢩⣵⣿⣯⣭⣶⣮⣭⣭⣾⣷⣭⣭⣥⡉⠁⠉⠉⢡⣬⣭⣮⡍⠈⠉⠀⠀⠉⠁⠉⠁⢠⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠶⠟⠂⠀⠀⠀⠀⠀⠈⠙⠿⠿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣠⣴⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿ ⠀⠸⠏⠹⢨⡅⠿⠿⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣤⣶⣶⣶⣦⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣨⣁⣀⣀⣀⣀⣘⣛⣛⣛⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠿⠿⠿⣿⣆⡀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠉⠛⠙⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡿⣿⣿⣿⣿⣿⣿⡿⣯⣷⣾⣖⣀⣹⣿⣿⣿⣥⣞⣻⡿⢻⣿⠀⢸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠏ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⢹⠋⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⠳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣇⠀⠀⢠⡾⢋⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⡟⠛⢉⣽⣿⣿⢸⣿⠀ ⠶⠶⢶⠶⠤⠤⢤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣷⣶⣤⣵⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠙⣽⣿⣿⠛⠛⣿⣿⣿⣿⡏⠀⠙⢳⠎⣥⣼⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⡿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⣇⡀⢀⢀⣿⣿⣿⣇⡀⢷⣶⣾⣿⣿⣿⣿⢸⣿⣆ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣦⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣛⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠉⠀⢀⣽⣿⣿⣿⣄⣽⣿⣿⡟⠉⠈⠉⢻⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣷⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⢻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⠀⢠⣿⣿⣿⣿⣷⣿⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠿⣿⣷⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠻⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠻⢿⣿⣿⣿⠿⠿⠿⠿⠟⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣰⣆⡐⠛⡿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⣀⡀⠀⣸ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠺⠁⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⢹⣿⣿⣿⣿⣿⣿⣶⣦⣤⣴⣶⣼⡟⢿⣿⠀⠘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣧⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢻⣿⣿⣟⠻⣿⡟⠘⣿⣿⣿⣍⠟⢉⣉⡉⣹⣭⣽⢁⠈⠨⢿⣷⠼⠿⡯⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣆⡈⠉⠉⠛⠛⠛⠉⠡⠖⠁⣿⣿⣿⠀⠈⠀⠀⠹⠿⢿⣿⣿⣿⣦⣄⠰⢿⠇⠀⠁⢀⠀⡷⠀⢰⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⠀⠀⠀⠈⠙⠉⠉⠉⠋⠁⠀⠀⠀⠀⠀⠀⢀⣰⣿⣿⣿⣷⣄⡀⠀⠀⠀⢀⣠⣽⣿⣿⣿⣷⣿⣠⣄⣠⣬⠀⠘⠆⠘⢳⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⠤⣤⣤⢤⣤⣤⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣧⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣷⣿⣿⣿⣿⣿⣧⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣧⡽⠧⠀⣀⠀⠠⢽⣀⣤ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣻⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢺⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⢿⠿⠽⡿ ⡇⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⠿⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠅⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⡀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⠤⠤⠤⠤⠤ ⠁⠀⠀⠀⠀⠀⠀⠀⣤⣾⣿⣿⣿⣿⣿⣿⣿⠋⣠⣾⣿⣿⣿⣿⡟⠑⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⢸⣿⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣠⣤⠀⠀ ⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⠿⠿⠛⠟⠋⠁⠛⠿⠿⠿⠿⠟⠋⠀⠀⠻⠟⠛⠿⠿⠿⠿⡿⠿⠿⡿⠿⠃⠀⠀⠀⠐⠿⠻⠟⠟⠻⠛⠛⠛⠻⠟⠁⠀⠈⠁⠀⠁⠀⠀⠀⠀⠘⠻⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀ ⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣷⣿⣿⣾⣿⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠀⣴⡟⣷⢸⣿⣆⠏⠀⠀⣾⣿⣷⢸⣿⠿⢸⣿⣿⣿⣿⣿⣿⣿⣦⠀ ⠀⠀⠀⠀⠀⠀⣿⣿⡿⠟⠀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⠃⠘⠛⣿⣿⣿⣿⣿⣿⣿⡄ ⠀⠀⠀⠀⠀⠀⢹⡏⠁⢀⠀⠛⠛⠙⠛⠃⠛⠛⠃⠀⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⢃⠛⠛⠛⠛⠚⠛⠀⠚⠛⠒⠀⠸⠙⠛⠃⠀⠛⠿⠛⠘⠛⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣇ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣀⡀⣀⣀⡀⣀⣉⣈⣉⣀⡀⠀⠀⣀⡀⣀⣀⡀⠀⣀⣈⣉⣉⣉⣉⡉⣉⣉⣉⣀⣀⡀⣀⣈⡙⠟⣉⣉⣉⢉⣉⣉⠙⢁⣀⢀⣀⣀⡀⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⢉⡉⢿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⢸⣿⣾⡿⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣿⣷⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⣴⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠸⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣿⡟⠀⣿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣸⡇⣶⣹⣿⢸⢸⣿⠀⢿⣇⣿⢇⡀⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⣸⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⠉⠈⣉⡀⠀⠉⠁⠉⠉⠀⢠⣬⣉⣥⣤⣭⣭⣤⣭⣭⡍⠉⠉⠁⠉⢩⣵⣿⣯⣭⣶⣮⣭⣭⣾⣷⣭⣭⣥⡉⠁⠉⠉⢡⣬⣭⣮⡍⠈⠉⠀⠀⠉⠁⠉⠁⢠⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠰⠞⠟⠂⠀⠀⠀⠀⠀⠀⠉⠿⠿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣢⣴⣾⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿ ⠀⠸⠏⠹⢨⡇⠿⠿⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⢀⣠⣤⣶⣶⣶⣦⣤⣤⣤⣤⣤⣤⣤⣤⣥⣤⣬⣁⣀⣀⣀⣀⣘⣛⣛⣛⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⠿⠿⠿⠿⣿⣆⡀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠉⠉⠙⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⢛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡿⣿⣿⣿⣿⣿⣿⣿⣏⣿⣾⣖⣀⣨⣿⣿⣿⣥⣞⣻⡿⢿⣿⠀⢸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠏ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣻⠿⡯⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠹⠃⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⡙⢳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⢋⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⡟⠛⢉⣽⣿⣿⢸⣿⠀ ⠶⠶⢶⠤⠤⠤⢤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣠⣶⣿⠙⣿⣿⣿⠛⠛⣿⣿⣿⣿⡋⠀⠙⢻⠎⣥⣼⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⠿⡿⠿⠿⢿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣾⡇⠀⠀⢈⣿⣿⣿⣇⣀⢷⣶⣾⣿⣿⣿⣿⢸⣿⣄ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣋⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠉⠁⠀⡽⣤⣤⣤⣤⣿⣿⣿⡟⠉⠈⠉⢹⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⢠⣤⣾⣿⣿⣿⣿⣿⣷⠀⠀⠀⣾⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠿⢿⣷⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠻⠿⠿⢿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠿⣿⣿⣿⡿⠿⠿⠿⠻⠟⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣮⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣐⣀⣄⣀⣰⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⣀⢀⣀⣸ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠜⠁⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣵⣶⣴⣤⣶⣾⡿⢿⣿⠀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣴⣶⣿⡇⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣫⡟⢫⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⣉⡉⣩⣍⣽⠁⡀⠨⣿⣷⡼⠿⡷⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣰⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⡈⠉⠉⠛⠛⠛⠉⠡⠶⠋⠀⣿⣿⣿⣿⠀⠀⠉⠉⠁⠿⠿⣿⢧⣄⠰⣿⠇⠀⠁⢀⠀⣿⠀⢰⡏⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣯⣿⣿⣿⣿⣿⣿⡟⠁⠀⠈⠉⠙⠉⠉⠋⠁⠀⠀⠀⠀⠀⠀⠀⢀⢾⣿⣿⣿⣿⣷⣤⡀⠀⠀⠀⠀⢈⣨⣫⣷⣿⣠⣄⣠⡼⠀⠘⠇⠈⢳⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⢤⣤⣤⣤⣤⣤⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣏⣾⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⣾⣿⣿⣿⣿⣿⣦⡽⠧⠀⣀⠀⠠⢹⣄⣤ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣤⡀⠀⠀⠀⠀⠀⢀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣿⣦⠀⢙⣿⣿⣿⣿⣿⣿⣿⣷⣶⣾⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣷⡈⠻⣿⣿⣿⣿⣿⣿⣯⣻⣿⣿⣿⠿⠿⠽⣿ ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣻⣿⣿⣿⣿⡟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣺⣿⠆⣿⣿⠀⠀⠘⠿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠠⠤⠤⠤ ⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢯⣵⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⠀⠀⠙⠛⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣷⣤⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⡿⠿⠿⠿⠿⠿⠿⠿⠿⠛⠽⠿⠿⠿⠿⠟⠃⠘⠿⠛⠿⠿⠿⡿⠿⠿⡿⠿⠿⣿⠃⠀⠀⠀⠀⠿⠿⠿⠿⠿⠿⢿⣿⡿⠛⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢻⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣷⣿⣿⣿⣿⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠉⣴⡟⣷⢸⣿⣆⠏⠀⠀⣾⣿⣷⢸⣿⠿⣹⣿⣻⣿⣿⣿⣿⣿⣿⣷ ⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢿⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠀⢀⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⠃⢬⣽⣧⠻⠟⣿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⡇⠛⠛⠙⠛⠃⠛⠛⢃⣤⠛⠛⠃⠛⠛⠃⠘⠛⠛⠓⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⢃⠛⠛⠛⠛⠚⢛⣤⠚⠛⠒⠀⠼⠙⠛⠃⠀⠛⠿⠛⠘⠛⠀⠀⠘⠒⠄⠀⠙⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⢀⣀⢀⣈⣉⡀⣀⣉⡉⣉⣉⣉⣉⣉⡹⠋⠀⣀⡀⣀⣀⡀⠀⣀⣀⣀⣀⣈⣉⡉⣉⣉⣉⣉⣈⡁⣀⣀⡀⠀⣉⣉⣉⢋⣉⣙⠿⢏⣉⢉⣉⣉⡁⣀⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⢀⡀⠀⢻⣿⣿⣿ ⠀⠀⠀⠀⠀⢸⣿⣾⡿⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣿⣷⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⠀⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠀⠀⣼⣿⣿ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣿⡟⠀⣿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣹⡇⣶⣹⣿⠀⢸⣿⠀⢿⣇⣿⢇⡄⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⣾⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⠉⠈⢉⣠⣤⠉⠁⠉⠉⠀⠀⢈⣉⣡⣤⣭⣭⣤⣭⣭⣭⣭⣭⡅⠉⠉⠁⠀⢨⣭⣶⣮⣭⣭⣾⣷⣭⣭⣥⣭⣵⣭⣭⣅⠈⣩⣌⠉⠈⠉⠀⠀⠉⠁⠉⠁⣴⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠞⠿⠏⠳⠀⠀⠀⠀⠀⠈⠛⠿⣿⢿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿ ⠀⠸⠏⠹⢨⡅⠿⠿⡥⠣⠨⠅⠭⠻⠇⠇⠀⠀⠀⣀⣠⣤⣶⣶⣶⣦⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣭⣄⣀⣀⣀⣀⣀⣀⣘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⢿⡇⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿ ⠛⠛⠛⠛⠛⠛⠛⠛⠋⠉⠉⠉⠉⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡿⣿⣿⣿⣿⣿⣿⡿⣏⣷⣾⣖⣀⣹⣿⣿⣿⣅⣞⣻⡯⢿⣿⠀⠸⣿⣿⡿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠃ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⣿⣿⣿⣿⣿⣿⣵⣯⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⢹⠋⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡙⢳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⣇⠀⠀⢀⡾⢋⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣿⡝⠛⢉⣽⣿⣿⢸⣿⠀ ⠶⠶⣶⠦⠤⠤⠤⠤⠤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣷⣶⣤⣥⣾⣷⠹⣿⣿⣿⡀⠀⣨⣶⣿⠉⣹⣿⣿⠛⠛⣿⣿⣿⣿⡋⠀⠙⢻⠎⣥⣼⣿⣿⢸⣿⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⡿⡿⠿⠿⣿⡇⣿⣿⣿⡇⠀⠉⠉⣿⣾⣷⣿⡇⠀⠀⢈⣿⣿⣿⣇⡀⢷⣶⣾⣿⣿⣿⣿⢸⣿⡄ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⢐⣛⣋⣩⣄⠀⣿⣿⣿⣿⣧⠀⠀⠀⠉⠀⢀⣹⣤⣤⣤⣄⣽⣿⣿⡟⠉⠈⠉⢻⣿⣿⣿⣿⢸⣿⣷ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⡄⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠻⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⢠⣿⣷⣿⣿⣿⣿⣿⣷⠀⠀⠀⣼⣿⣿⣿⣿⣸⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⢿⣷⣷⢀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠿⠿⠛⢿⣿⣿⡿⠿⠿⠿⠿⠟⢿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠈⠙⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡻⢿⣿⣿⣿⣿⣿⣿⣠⣄⣄⣰⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⢸⣿⣿⣿⠀⢀⣀⣀⣀⣼ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢾⡣⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣩⣿⣿⣿⣿⣿⣿⣿⣴⣵⣮⣶⣾⣿⢿⣿⡀⢘⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣾⣿⣶⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⡛⠛⠛⠛⠛⣩⡟⢫⣿⣿⣿⣿⣿⡿⣿⣿⣿⢸⣿⣿⣯⣉⡉⣭⣍⣽⠁⡐⠨⣿⣷⡼⠿⡷⠬⡭ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⡈⠉⠉⠛⠛⠛⠉⠡⠶⠋⠀⣿⣿⣄⡋⠉⠹⠟⠋⠙⣿⣿⣿⡅⡀⠨⢿⡇⠀⠁⢀⠀⣿⠀⢰⡇⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠈⠉⠙⠉⠉⠋⠁⠀⠀⠀⠀⠀⠀⠀⢀⢼⣿⣿⣿⣿⣤⣀⠀⠀⠀⠀⠀⠀⣸⣙⣤⣟⣠⣀⣠⡼⠀⠘⠆⠈⢳⠀⠀ ⠀⠠⠤⠤⠤⠤⠤⠤⠤⣤⣤⣤⣤⣤⣤⣾⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣴⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣏⣾⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⣶⣿⣿⣿⣿⣿⣥⣽⠧⠀⣀⠀⠠⢹⣀⣤ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀⠀⣀⣴⣼⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣦⠀⠒⣿⣿⣿⣿⣿⣿⣿⣶⣶⣺⣿⣿⣿⣿⣿⣿ ⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⡟⣿⣷⡄⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⡿⠸⡿ ⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣨⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢸⡿⠇⣿⣿⠇⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠠⠤⠤⠤ ⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣱⣿⣿⣿⣿⣿⣞⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠈⠛⠀⠀⠀⠀⠉⢻⣿⣿⣿⣿⣿⣿⣿⣷⣤⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⠿⠿⠿⠿⠿⠿⠿⠿⠿⠛⠹⠿⠿⠿⢿⡿⠋⠛⠟⠻⠿⠿⡿⠿⠿⡿⠿⠿⣿⡿⠀⠀⠀⠀⠸⠿⠿⠿⠿⠿⣿⣿⡿⠟⠛⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠘⣿⢸⣿⢸⡟⣿⡿⢿⡿⣿⢸⣿⣿⡿⠇⢸⣿⣧⣿⣿⣾⣿⣼⡟⣷⣼⣿⢿⡆⣾⣿⡇⠿⣿⡿⣿⡿⢿⣿⢻⣶⠉⣴⡟⣷⢸⣿⣆⠏⠀⠀⣾⣿⣷⢸⣿⠿⣈⣿⣟⣿⣿⣿⣿⣿⣿⣷ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡀⣿⣾⣿⣿⡇⣿⡟⠃⠀⣿⣿⡟⣿⡟⠃⢸⣿⣿⣿⣿⣿⣿⣿⡷⣶⣾⣿⢻⡇⣿⣹⣧⠀⣿⡇⣿⡟⢻⣿⢸⣿⠸⢂⣼⠟⠘⢛⣿⣶⡆⠀⣿⣿⣿⢸⣿⠃⠤⣭⣿⠙⡿⢿⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣇⠛⠛⠙⠛⠃⠛⠛⢃⣤⠛⠛⠃⠛⠛⠃⠘⠛⠛⠛⠛⠛⠛⠙⠷⠛⠛⠛⠚⠓⠛⠙⠛⠀⠛⠃⠛⠛⠛⠛⠚⢛⣤⠚⠛⠒⢀⠼⠙⠛⠃⠀⠛⠿⠛⠘⠛⠀⠀⠀⠐⠦⠑⠈⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⢀⣀⢀⣀⣈⡉⣀⣀⡉⣉⣉⣉⣉⣉⡙⡿⠋⣀⡀⣀⣀⡀⠀⣀⣀⣀⣁⣀⣉⡉⣉⣉⣉⣉⣉⡈⣀⣀⡀⠀⣀⣉⣉⢋⣉⣙⠿⢟⣉⢋⣉⣉⡉⣁⣀⡀⣀⣀⣀⣀⣀⡀⠀⠀⣀⡀⢀⡀⠀⠘⣿⣿⣿ ⠀⠀⠀⠀⠀⢸⣿⣾⡿⣿⡇⣿⣜⡃⢹⣿⠉⣿⣿⣇⠀⠉⣿⣿⣿⣿⣷⠀⣿⣿⣿⡿⣿⣝⠃⣿⣏⢸⣿⣽⠇⣿⣞⡛⠀⢹⣿⠉⣿⡇⣿⡇⠸⣿⣸⡿⣿⡿⣿⣜⡃⢹⣿⠉⣿⢿⡇⠀⠙⣿⡏⣿⡇⠀⠀⣸⣿⣿ ⠀⠀⠀⠀⠀⠀⣿⣿⡇⣿⡇⣶⣹⡿⢸⣿⠀⣿⢿⣿⠀⠀⣿⡿⣿⣿⡟⠀⣿⣿⣿⢷⣶⣻⡇⣿⣧⣸⣿⣸⡇⣶⣹⣿⠀⢸⣿⠀⢿⣇⣿⢇⡄⣿⣿⡇⣿⡷⣶⣹⡷⢸⣿⢀⣿⢾⣿⠀⠀⣿⡇⣿⡇⠀⣾⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⠉⠉⠁⠉⠁⠉⠉⠁⠈⠉⠈⠉⠈⣉⣠⣤⡍⠁⠉⠉⠀⠀⢈⣉⣡⣤⣭⣭⣤⣭⣭⣭⣭⣭⣥⡍⠉⠁⠀⠈⢩⣶⣮⣭⣥⣾⣷⣭⣭⣵⣭⣵⣭⣭⣥⠈⣭⡌⠉⠈⠉⠀⠀⠉⠁⠉⠁⣴⣿⣿⣿⣿ ⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠨⠿⠿⠿⠻⠄⠀⠀⠀⠀⠈⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿ ⠀⠸⠏⠹⢨⡅⠿⠷⡥⠣⠨⠅⠭⠛⠇⠇⠀⠀⠀⣀⣠⣤⣶⣶⣶⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣬⣭⣭⣅⣘⣁⣀⣀⣀⡀⢈⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⢿⡀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿ ䷩ 𝚕𝚒𝚗𝚎 1445 ╒═══════════════════ 𝐃𝐀𝐈𝐋𝐘 𝐋𝐈𝐍𝐊𝐒 ═════════════════════════════════════════════╕ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.27.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Links_27/1/2022:_Archinstall_2.3.1_and_Nix_2.6.0⠀✐ Posted in News_Roundup at 2:48 pm by Dr. Roy Schestowitz 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇GNOME bluefish⦈ § Contents⠀➾ * GNU/Linux o Distributions o Devices/Embedded * Free_Software/Open_Source * Leftovers * § GNU/Linux⠀➾ o ⚓ Meet_The_Incredible_$15_Linux_Computer⠀⇛ Brian Benchoff is an embedded engineer who has graced us with unique, whimsical devices like the RGB Gaming Coaster and the Zip Drive Tower. Now he’s back with a decidedly more practical design: a fully-functional Linux computer — screen and keyboard included — that costs a mere $15. Well, sort of. . . The self-described “Linux Swiss Army Knife” PC packs a surprising amount of functionality. With its 2.5-inch IPS display and 47-key silicone membrane keyboard (which feels like an older TV remote control), you can bust it out and run scripts, compile code, or even transform it into a crypto wallet. o § Desktop/Laptop⠀➾ # ⚓ Mars_15_Laptop_Full_Specification_–_Linux_Powered_Laptop⠀⇛ Mars 15 is the latest Linux-powered laptop from Juno Computers. Featuring AMD Ryzen 5000X series of processors, a 15.6-inch Full HD (1920x1080p) matte display with 240Hz refresh rate, the Mars 15 notebook is powered by the Ubuntu operating system. Mars 15 can be ordered right now from Juno Computers’ website. o § Audiocasts/Shows⠀➾ # ⚓ Linux_Action_News_225⠀⇛ The big disruption that looks like a bust, a security issue you need to pay attention to, and some great news for the Steam Deck. # ⚓ The_Linux_Link_Tech_Show_Episode_940⠀⇛ Joel and his raccoon buddies eat walleye. # ⚓ BSDNow_439:_Browser_Tab_Unix⠀⇛ ACM: It takes a community, Don’t use discord for OSS projects, Unix in a browser tab, OpenIndiana Hipster 2021.10 available, Omni OS CE v11 is out, and more. o § Kernel Space⠀➾ # ⚓ PipeWire_0.3.44_Released_With_Latency_Improvements,_Minimal PW_Server_Support_–_Phoronix⠀⇛ This will hopefully be the year that PipeWire becomes commonplace on the Linux desktop across all major distributions for audio/video stream management. But for as good as PipeWire is already, frequent point releases continue evolving the functionality and ironing out compatibility improvements for existing JACK and PulseAudio integration. PipeWire 0.3.44 is out today as another step in the right direction. # ⚓ Linux_5.16.3⠀⇛ I'm announcing the release of the 5.16.3 kernel. All users of the 5.16 kernel series must upgrade. The updated 5.16.y git tree can be found at: git://git.kernel.org/pub/scm/linux/kernel/git/ stable/linux-stable.git linux-5.16.y and can be browsed at the normal kernel.org git web browser: https://git.kernel.org/?p=linux/kernel/git/stable/ linux-s... thanks, greg k-h # ⚓ Linux_5.15.17⠀⇛ # ⚓ Linux_5.10.94⠀⇛ # ⚓ Linux_5.4.174⠀⇛ # ⚓ Linux_4.19.226⠀⇛ # ⚓ Linux_4.14.263⠀⇛ # ⚓ Linux_4.9.298⠀⇛ # ⚓ Linux_4.4.300⠀⇛ # ⚓ The_Freezing_of_tasks_in_the_Linux_kernel_and_how_it’s_used by_Ksplice⠀⇛ # § Graphics Stack⠀➾ # ⚓ DirectFB2_Aims_To_Resurrect_DirectFB_For_Embedded Systems⠀⇛ The DirectFB library had been a popular option for embedded systems in running off the Linux frame-buffer to avoid the full overhead of an X11 server. But a number of years ago DirectFB disappeared and ultimately stopped being maintained. Meanwhile Wayland has been making lots of inroads into mobile/ embedded and areas once popular for DirectFB use. But now it turns out DirectFB2 is in development as a fork of the original DirectFB. [...] Some of the early changes made to DirectFB2 has been making use of the Meson build system, limiting DirectFB2 to being a pure C implementation, and modularizing the existing source code. DirectFB2 also supports interfacing with DRM/KMS directly rather than just frame-buffer devices. Not only is OpenGL working with DirectFB2, but Vulkan is also possible per the FOSDEM abstract though seemingly limited to CPU- based acceleration using SwiftShader. o § Intel⠀➾ # ⚓ Intel_Core_i9_12900K_P-State_Governor_Performance_On_Linux Review⠀⇛ Since Intel’s Alder Lake launch one of the test requests to come in a few times has been about the Intel P-State CPU frequency scaling driver and how its performance differs with the various governor choices available for altering the CPU frequency scaling behavior. Now that Linux 5.16 stable is out and running in good shape on Alder Lake, here are some Core i9 12900K benchmarks looking at various CPU frequency scaling choices and their impact on raw performance as well as CPU thermals and power consumption. With Alder Lake having seen fixes in Linux 5.16 as well as ADL-S graphics being enabled by default on this new kernel, it’s a good target for carrying out the P-State testing. The main reader inquiry has obviously been about how how well these new Intel hybrid processors perform if moving from P- State “powersave” as is often the default governor on most distributions to instead using the “performance” governor that tends to keep the CPU in its higher performance states more aggressively than powersave. # ⚓ Alder_Lake_system_features_DDR5,_six_GbE_ports,_and_20Gbps USB_3.2_Gen2X2⠀⇛ Neousys unveiled two embedded PCs based on Intel’s 12th Gen S-series with up to 64GB DDR5-4800: The “Nuvo-9000” has up to 6x GbE with optional PoE+, 5x USB 3.2 Gen2 (including a 2×2 port), M.2 with PCIe Gen4, and up to 2x PCIe x16. There is also a smaller, fanless “Nuvo-9531.” Neousys has announced two of the first embedded computers based on Intel’s 7nm 12th Gen Alder Lake processors. Both the PCIe x16 equipped Nuvo-9000 and more compact Nuvo-9531 use the high-end Alder Lake S-series processors. # ⚓ Intel_Alder_Lake_N_Support_Introduced_For_Mesa_22.0_– Phoronix⠀⇛ In addition to this week seeing Raptor Lake S support added for Mesa 22.0, the Alder Lake N additions have also been merged for this quarter’s Mesa update. Given the insignificant changes from the driver perspective for the existing Alder Lake (S) support, the Alder Lake N support is namely just adding new PCI IDs and identifying them as Alder Lake family while having “Display13″ for the display capabilities. # ⚓ Intel_releases_patch_for_Alder_Lake’s_Thread_Director_Linux support_to_increase_performance_and_energy_efficiency⠀⇛ With the release of Intel’s 12th Gen Core Alder Lake series of CPUs, it was discovered that performance for the new CPUs was more efficient in Microsoft Windows 11 than in the Linux operating system. This is due to Linux not having adequate support for Intel’s Thread Director technology that allows for the operating system to access high- performing Golden Cove cores and the energy- efficient Gracemont cores properly. Intel’s Thread Director is created from the Enhanced Hardware Feedback Interface or HFI. o § Applications⠀➾ # ⚓ 6_Best_Free_and_Open_Source_Stock_Market_Investment_Tools⠀⇛ We have all read stories about people who have experimented living without spending any money whatsoever. By growing their own food, washing in the river, using a solar panel to provide electricity, and bartering for certain goods and services, these adventures have met with limited success. However, for us mere mortals the simple fact is that we need money. Money to buy food, to purchase clothes, to pay our bills, as well as indulging in our other infinite wants and desires. While it can be a struggle to make ends meet, it is possible to make life easier through better money management. Financial management is about planning income and expenditure and making informed decisions that enable you to survive financially. # ⚓ Why_universities_choose_open_source_collaboration software⠀⇛ Higher education institutions are actively looking for ways to adapt to rapidly improving technology and enable students to use advances in computing to study, collaborate, and learn in new ways. Many institutions have been using open source software to exchange knowledge more easily, ensure a better learning experience, and handle administration with fewer worries. Demand for open source software in higher education is drastically increasing especially as the need for remote learning grows. Universities usually have complex and unique systems. From a technological point of view, this makes it harder for universities to adopt technologies not built with their specific requirements in mind. # ⚓ 5_Best_Linux_Programs_for_Students_and_Teachers⠀⇛ Linux should be the first choice for students and teachers as a free alternative to the commercialised Operating Systems. But, useful programs that are widely available on Mac and Windows often isn’t to be found on Linux. We have addressed 5 such software that are already replacing your favourite program on Linux, and which is replacing traditional homework. o § Instructionals/Technical⠀➾ # ⚓ How_to_install_Docker_Engine_on_CentOS⠀⇛ Docker Engine is an open containerization program for Linux and other platforms. Docker Engine manages self-contained “containers” that operate similar to virtual machines. In this guide, we’ll go over how to install Docker Engine on CentOS. Docker Engine only supports CentOS 7 and 8. Therefore, if you are using an older release of the operating system, you must upgrade before attempting to install Docker on your CentOS system. # ⚓ How_to_Use_the_Terraform_Command_Line_Interface_(CLI)_on Ubuntu⠀⇛ Terraform is a framework for building and configuring infrastructure as code, with a command- line interface and DSL language. Terraform can manage existing and popular service providers as well as custom in-house solutions to build and configure complete distributed data centers. The Terraform Command Line Interface (CLI) lets you use Terraform without having to write any code or configuration files. It’s an ideal way to prototype infrastructure changes with your team before writing code, deploying configurations locally on your machine, or pushing them into production. The CLI builds off of the terraformspec file format that was created for this purpose by third parties such as HashiCorp Nomad CLI Toolkit. The CLI toolkit implements a JavaScript DSL to define the infrastructure and uses the same configuration format in both Terraform and the CLI. The CLI toolkit also provides commands to generate infrastructure templates, compose infrastructure components into complete solutions, and manage changes. The entire Terraform workflow is driven by stateless functions that are defined in code and executed by Terraform every time you make a change. This allows you to think about your infrastructure as a single design that can be easily modified at runtime without reloading your configuration or modifying your codebase. A number of IT professionals and companies use the Terraform command-line interface to manage and even create new infrastructure or new cloud infrastructures. The terraform command-line interface can provide a more robust method for automating changes that would take too long to perform by hand. It is a powerful tool for managing infrastructure. # ⚓ How_to_bring_all_your_chats_into_one_with_Ferdi⠀⇛ Are you tired of installing Slack, Discord, and many other productivity tools on your Linux system? Do you wish they could all be combined into one easy-to-use program? If so, you must check out Ferdi. Ferdi is a helpful tool for Linux, Mac OS, and Windows. It consolidates programs like Slack, Discord, Twitter, Google Calendar, and many other apps. Here’s how to get Ferdi working on Linux. # ⚓ Let’s_Manage_Remote_Machine_With_NoMachine⠀⇛ Here we go again! Today we will see how to install Nomachine to manage remote machines. With the help of NX Technology, the remote service enables fast remote access. The service gives an experience which you have never had before. Admins can connect any OS-based remote machine fast, and highest quality speed with no lagging. Specifically during this pandemic situation where IT Admins are supposed to provide support for end-users as well to manager servers. Sometimes users are not having a good internet speed, in such cased lightweight remote access utility can help a lot. Above all The utility is not only your own server but ensures secure remote access too. And Yes! that utility is totally free. # ⚓ Find_Related_Domains_and_Subdomains_with_assetfinder_– blackMORE_Ops⠀⇛ assetfinder is a Go-based tool to find related domains and subdomains that are potentially related to a given domain from a variety of sources including Facebook, ThreatCrowd, Virustotal and more. # ⚓ Getting_Started_With_Docker_Containers:_Beginners_Guide_– Front_Page_Linux⠀⇛ Container technology is not exactly new, but it is a big topic in IT. Many enterprise Linux distributions do their best to let you know that they also have all the tools for you to be successful with container technology. If you want official description and documentation, please see the Reference Articles at the end of this tutorial. I will use my own words to give you a brief description of Docker containers. Also, I will be focusing on the basics of Docker and Docker-Compose here, not going into the more enterprise tools such as Kubernetes. [...] Now that we had a quick look at the PROs and CONs, it is time to move on and see what the common questions about Docker might be. I had a few when I started, so I took down some notes and I am going to go through the very same questions, hoping that by now I have found a decent answer to those. # ⚓ Safety_RAM:_Protecting_memory_section_with_checksum_|_SUSE Communities⠀⇛ This particular blog post is not going to be about Linux memory managements and its safety or how to write a safety critical software but will touch on the topic that all safety critical software must address properly. This topic is Freedom From Interference (FFI). # ⚓ How_to_Install_and_Uninstall_.deb_Files_on_Ubuntu_22.04⠀⇛ All Debian-based distributions. like Debian, Ubuntu and Linux-Mint utilize the Deb installation package format. Thousands of deb packages are available in the Ubuntu repository, that can be installed via Ubuntu Software Center or the apt and apt-get programs from the command line. Unfortunately, not all applications are available through Ubuntu or third-party repositories. Those applications must be manually downloaded and installed from the developer’s websites. You should especially be cautious when installing deb packages from unauthorized sources to avoid cyber threats. In this article, you will learn all the different ways you can install the deb packages on your Ubuntu system. # ⚓ How_To_Install_Terraform_On_Ubuntu_/_Rocky_Linux_&_Fedora_| Tips_On_UNIX⠀⇛ Terraform is an open-source Infrastructure as a code software tool developed by HashiCorp.it allows you to manage your infrastructure by Codifying APIs into declarative configuration files. This tutorial will be helpful for beginners to download terraform and install Terraform on Ubuntu 20.04 LTS, Ubuntu 18.04, Debian 10, Fedora 35, and Rocky Linux 8. # ⚓ How_to_Install_Gitlab_on_Ubuntu_20.04_LTS_Focal_fossa_Linux 2022_Tip_–_Bollyinside⠀⇛ This tutorial is about the How to Install Gitlab on Ubuntu 20.04 LTS Focal fossa Linux. We will try our best so that you understand this guide. I hope you like this blog How to Install Gitlab on Ubuntu 20.04 LTS Focal fossa Linux. If your answer is yes then please do share after reading this. # ⚓ Transfer_Files_Between_Dropbox_And_Google_Drive_With_Rclone –_OSTechNix⠀⇛ Rclone has a wealth of features. Generally, Rclone is used to copy files from the local drive to a cloud storage provider like Dropbox or Google Drive and vice versa. How about copying files between two different cloud providers? Yes, It is also possible! In this brief guide, we will see how to transfer files between Dropbox and Google Drive with Rclone in Linux. As you may already aware, Rclone doesn’t use the local drive while synchronizing files between two different cloud providers. Rclone employs server- side transfers to minimize the local bandwidth use and transfers the data from one provider to another without using local disk. Hence, it reduces disk writes and local network bandwidth significantly. # ⚓ How_To_Install_Putty_SSH_Client_on_Debian_11_–_idroot⠀⇛ In this tutorial, we will show you how to install Putty SSH Client on Debian 11. For those of you who didn’t know, PuTTY is an open-source, lightweight, and free (MIT license) terminal emulator, serial console, and network file transfer application. It supports various protocols including SSH, telnet, SCP, rlogin, etc. This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you through the step-by- step installation of the Putty SSH Client on a Debian 11 (Bullseye). # ⚓ 3_Ways_to_Install_Discord_Messenger_App_on_Ubuntu_–_VITUX⠀⇛ Discord is a well-known communication (messenger) program. Discord can be used to communicate via text, images, video, and audio. It was created with gamers in mind, but the service has grown in popularity among non-gamers to the point where it is now regarded as a Slack alternative for team and community collaboration. Chat rooms and voice chat platforms make servers in Discord. Various open-source projects use Discord to communicate with users and project members. Discord runs on a variety of platforms, including desktop Linux. This tutorial shows three different ways to install Discord on Ubuntu 20.04 and newer: Discord Installation on the command-line, Discord Installation via Ubuntu Desktop GUI, and finally Discord Installation via SNAP package manager. # ⚓ Grafana_Weather_Dashboard_using_InfluxDB_and_an_ESP32_–_In- Depth_Tutorial_–_The_DIY_Life⠀⇛ Following one of my previous projects where I built a weather station dashboard using InfluxDB and Grafana on the reTerminal, I had quite a few requests to do a more in-depth tutorial on how to get each part set up and running. So in this tutorial, I’m going to be going through each part of the process, step-by-step, so that you can get a similar setup running on your Raspberry Pi. In this example, we’re going to use an ESP32 as our data collection node to collect temperature, humidity and pressure readings from some attached sensors. It’ll then post these readings to an InfluxDB database and we’ll then use Grafana to visualise the data. Don’t worry if you don’t understand what these are or how they work together just yet, I’ll explain them each in more detail as we work through them. # ⚓ Slackware_Cloud_Server_Series,_Episode_2:_Identity_and Access_Management_(IAM)⠀⇛ This is the second episode in a series of articles I am writing about using Slackware as your private/ personal ‘cloud server’ while we are waiting for the release of Slackware 15.0. Below is a list of past, present and future episodes in the series. If the article has already been written you’ll be able to access it by clicking on its subject. The first episode also contains an introduction with some more detail about what you can expect from these articles. # ⚓ Using_PIV_Smartcard_in_FreeIPA⠀⇛ Personal Identity Verification (PIV) is a standard proposed by the US government for identification and now is supported by various smart cards and USB secure tokens. FreeIPA have supported authenticating with PIV certificate but is not enabled by default. In this article, I’ll cover how to use PIV authenticate from user perspective with an existing FreeIPA that enabled the corresponding support. In this article, I’m using a CanoKey Pigeon with the ykman command from Yubico. It should work exactly the same with Yubikey (just omit the - r canokeys from all my following commands). If you use other secure token for storing your certificate, you should consult your token provider. # ⚓ User_interfaces_with_dialog._Bash_scripting(IV)_–_Unix_/ Linux_the_admins_Tutorials⠀⇛ This is the last article of a series focused in Gnu Bash scripting. On the first article we’ve just created a simple script with commands, one after another. We also saw some variables use. The second article covered some bash control structures. The third one covered redirections, pipes, and command substitution. On this last (for now) one, I will show how to create user interfaces with dialog in our scripts. o § Games⠀➾ # ⚓ Pocket-Sized_Doom_Is_Actually_Playable_|_Hackaday⠀⇛ It used to be that you needed a well-equipped expensive new beige-box PC if you wanted to play Doom at all. Now, you can do so in a form factor with a footprint smaller than a credit card, as demonstrated by this nifty little build from Adafruit. The build relies on the Retro-Go firmware for ESP32 devices, which can emulate a range of machines, from the Nintendo NES and Game Boy to the NEC PC Engine, Atari Lynx, and, yes, Doom itself. It can even run Doom mods, via the WAD architecture used by the game. # ⚓ Valve_Confirms_Steam_Deck_Will_Launch_Feb_25th_2022_– Boiling_Steam⠀⇛ So Valve has decided to break the silence and has announced that the Steam Deck will officially release on Feb 25th for consumers. On that day, if you were one of the first pre-orders, you will receive an email from Valve to complete your payment and you will have three days to act on it. If you complete your order, the first unit will ship on the 28th and be a few days later in the hands of the first happy gamer. # ⚓ X4:_Foundations_5.00_gets_a_Beta_with_AMD_FidelityFX_Super Resolution_(FSR)_|_GamingOnLinux⠀⇛ Egosoft continue upgrading their space sim X4: Foundations with the big 5.00 version now in Beta, readying up for the new X4: Tides of Avarice expansion. This free update should release in full with the expansion, and further advances their game engine to provide a better space travel experience. For some of what to expect in the free update you will see a series of new big capital ships, improved ship models and the big one for fans of performance is the introduction of AMD FidelityFX Super Resolution (FSR). New game mechanics will also come along including ship salvaging and recycling, plus an overhaul to your headquarters. That’s just a small slice of what to expect (there’s plenty more). Want to test it early? You can! Find out how on their official forum. # ⚓ The_great_cartoony_adventure_Zniw_Adventure_is_now_on_GOG_| GamingOnLinux⠀⇛ For those of you who stick to GOG.com, you can now grab another quality cartoony point and click adventure game with Zniw Adventure now available. A good excuse to remind you of this absolute little gem. Inspired by adventure games and edutainment titles from the 90′s, Zniw Adventure is a 2D point and click title full of cartoon dinosaurs. It features a comic book-esque art style, frame-by-frame animation, and unlockable goodies like concept art and minigames. The in-game encyclopedia fills as you encounter prehistoric creatures allowing you to read more about them. Enjoy the prehistoric world in an unique cartoony style. # ⚓ SDL_2.0.22_will_default_to_Wayland_on_Linux_| GamingOnLinux⠀⇛ Simple DirectMedia Layer (SDL) is one of the most important pieces of open source for Linux gamers, as it’s the tech used by various game engines and games. It’s also about to continue changing the game for the Linux desktop in the upcoming version. What does it actually do? It’s a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware. # ⚓ A_look_at_Steam’s_top_releases_of_December_2021_on_Linux and_Steam_Deck_|_GamingOnLinux⠀⇛ The latest report is out from Valve on what was popular and sold well during December 2021. Let’s take a look at what to expect from the list in terms of basic compatibility on Linux and the Steam Deck. Each month Valve goes over the previous month to show off games doing well, with it including titles across different genres and both Early Access titles and full releases. As usual, it’s a mix between native Linux games and those that require running the Windows version through Steam Play Proton. # ⚓ Free_Software_game_“0_A.D.:Empires_Ascendant”_with Stanislas_Dolcini⠀⇛ The upcoming “I Love Free Software Day” will focus on Free Software Games. One of the most famous Free Software Games is “0 A.D.: Empires Ascendant”. In this Episode Bonnie Mehring talks with Stanislas Dolcini, the project leader of 0 A.D. about the game itself, the project, as well has how the game became Free Software. This podcast episode takes you on a journey through the games development and it’s history of becoming one of the most famous Free Software games. You can also learn about how to participate and contribute to 0 A.D. Discover together with Stanislas and Bonnie how the community behind one of the best known Free Software games works, where support is needed, and the different types of developers and contributors. Bonnie and Stanislas also tell the success story of releasing 0 A.D. under a Free Software licensed and talk about the positive side of developing a Free Software game. o § Desktop Environments/WMs⠀➾ # § K Desktop Environment/KDE SC/Qt⠀➾ # ⚓ Release_Manager_Gives_Community_Update_On_Desktop Environment⠀⇛ The openSUSE community received cheerful news today after Leap release manager Luboš Kocman updated the community on the desktop environment expected for the next minor release. Leap 15.4, which is in the alpha phase of the software release cycle, is planned to have updated desktop environments. Kocman’s email “KDE Plasma 5.24 LTS will be in Leap 15.4” informed contributors on the Project’s Factory mailing list that all the “dependencies are already submitted” to SUSE Linux Enterprise. Leap is built with the same source code and exact same binary packages as SLE. # § GNOME Desktop/GTK⠀➾ # ⚓ GNOME_Shell_is_Getting_Redesigned_Volume/Brightness Pop_Ups⠀⇛ Right now, OSD bubbles in GNOME Shell look a lot like this… Although macOS uses big boxy pop-ups when a user bashes the volume, brightness, etc key both Windows 11 and ChromeOS use modestly sized on-screen indicators, as do most mobile OSes. Those are just as useful as GNOME’s current toasts but don’t obscure as much of the screen. With some mockups in hand, GNOME devs got to work on creating a set of subtler OSDs. Now a merge request opened by Florian Müllner that contributes the code needed to implement them. He shares a screenshot of design changes in his merge request, which you can see below… o § Distributions⠀➾ # ⚓ 8_Best_Rolling_Release_Linux_Distros_to_try_in_2022⠀⇛ Well, before hopping into the list of Linux distros, let’s first understand what exactly is the rolling-release distribution. It is a distribution that releases the updates of each of the programs that it includes at the moment that it is proven that the program is in a stable version. To clear it, let’s take the example of Arch and Ubuntu. Arch is a rolling release Linux distro because its developers offer the latest upgrade & updates of kernel and software as soon as their least stable versions are available. # § New Releases⠀➾ # ⚓ Nix_2.6.0_released⠀⇛ Nix 2.6.0 has been released! Nix is a tool that takes a unique approach to package management and system configuration. Learn how to make reproducible, declarative and reliable systems. # § SUSE/OpenSUSE⠀➾ # ⚓ IDG_study_“Cloud_Native_2022”:_Where_do_European companies_stand_in_their_digital_transformation? [Ed: IDG as corporate propaganda platform, hardly even hiding it anymore]⠀⇛ The modernisation of IT infrastructure is picking up speed, but most companies still see a lot of room for improvement in their digital transformation. This is the conclusion of a recent study conducted by IDG Research Services in collaboration with SUSE. Even if in some cases the extent of implementation differs significantly, the companies surveyed from Germany, France and the UK agree on one point: the time to deploy cloud-native technologies is now. # ⚓ openSUSE_Conference_Design_Contest_Begins_–_openSUSE News⠀⇛ openSUSE begins an image design contest for the openSUSE Conference 2022 today. The design will be used for the conference poster and t-shirt. Submitted images must meet certain requirements listed below and on the contest wiki page. Designers are encouraged to use open-source graphic editing software like Inkscape, Gimp or Krita. Submitted designs should be licensed under CC-BY-SA 4.0 and allow everyone to use it without attribution. Designs submitted must be original and should not include any third party materials conflicting with CC-BY-SA 4.0. # ⚓ The_Evolution_of_Linux:_a_success_story_from_Fujitsu and_SUSE_|_SUSE_Communities [Ed: Revisionism that omits GNU]⠀⇛ Technological innovations are often considered to be ideas and solutions that take off immediately. But the evolution of Linux tells a different story: From humble beginnings in the 1990s, Linux has grown slowly and steadily to become a leading operating system in the business world, and now a business-critical operating system to run SAP. During this time, Fujitsu and SUSE have continued to innovate together, helping businesses everywhere to realize the benefits of Linux by running their SAP applications on it. I caught up with Jürgen Ellwanger and Martin Werner at the Global Fujitsu SAP Competence Centre to find out more about how Fujitsu and SUSE supported the evolution of Linux through a partnership of collaboration and innovation. # § Arch Family⠀➾ # ⚓ Archinstall_2.3.1_Released_With_PipeWire_App_Profile Added,_Btrfs_Install_Improvements_–_Phoronix⠀⇛ Archinstall as the quick and easy-to-use installer for the Arch Linux distribution is out with a new point release delivering a few worthwhile enhancements to the text-based OS installer. Over the past year Archinstall has evolved into a great option found on the Arch Linux install media for providing a timely and somewhat default configuration (at least easily reproducible) of an Arch Linux installation. Archinstall is great for quickly deploying an Arch Linux install without the hassles or without resorting to the various desktop-focused Arch downstreams like Manjaro and EndeavourOS. # ⚓ Arch_Linux’s_Guided_Installer_Archinstall_2.3.1_Comes With_Improved_BTRFS_and_Pipewire_Support_–_It’s_FOSS News⠀⇛ In April last year, Arch Linux started including a command line based guided installer called Archinstall. If you think that’s not much when compared to the graphical installer of Ubuntu, Manjaro or other distributions, you are right. But you should also know that something is better than nothing. Before the inclusion of Archinstall, you were totally on your own for installing Arch Linux and that’s not pretty if you don’t refer to a guide. Archinstall makes things a bit easier by suggesting the installation steps even though it is completely command line based. It’s just a script after all. # § IBM/Red Hat/Fedora⠀➾ # ⚓ DevSecOps:_Why_you_should_care_and_how_to_get_started |_Red_Hat_Developer⠀⇛ The increasing popularity of DevOps software development methodologies has led to shorter and more agile life cycles, in which software is released and deployed in minutes or hours rather than the days, weeks, or even months required under traditional practices. However, many development teams still experience delays in getting releases into production due to the security considerations that are traditionally brought to bear at the end of the life cycle. To address this, organizations are more and more frequently adopting a DevSecOps approach. # ⚓ Let’s_try_to_do_marketing_as_a_team_again!⠀⇛ I’ve announced in the Mindshare, Design and Ambassadors mailing lists that I will try to revive the Marketing team. Previously the marketing team was in charge of several tasks related to how the Fedora Project displays information to the public, working closely with Design, that produces assets, and Ambassadors, who attend events promoting Fedora Linux and the Fedora Project. The work of the team mostly focused on communicating the changes and new features in each release as bullet points that Ambassadors could use in their events. # ⚓ Discover_and_remediate_security_vulnerabilities faster_with_Red_Hat_Insights⠀⇛ I woke up this morning and heard about the latest vulnerability in my news feed. Today it was polkit/pwnkit, a couple weeks ago it was something else. (And another will be along shortly, no doubt.) When these come out the impact on IT teams are huge and for anyone responsible for managing systems, one of your first thoughts is “am I exposed and to what extent?” If you are using Red Hat Enterprise Linux (RHEL), you can use Red Hat Insights to find out what systems are exposed, and to what extent. # ⚓ What’s_new_for_developers_in_Java_18⠀⇛ In exciting news for Java developers, Java 18 forked off from the main line at the end of last year and has entered Rampdown Phase Two. This article highlights some of the features that developers can look for in the upcoming Java 18 release, including the new simple web server module, a more sophisticated way to annotate your Javadocs, and the –finalization=disabled option, which lets you test how a Java application will behave when finalization is removed in a future release. See the end of the article for where to download Java 18 in early access builds. # ⚓ IT_leadership:_3_practices_to_let_go_of_in_2022⠀⇛ While many organizations’ IT teams have toiled away in obscurity for years, the last two decades have increasingly shined a spotlight on the critical role they play. IT has become a zeitgeist in the business world, especially since the pandemic. An increase in remote workers over the last two decades and the pandemic have accelerated greater demand for faster, better, more secure IT practices and infrastructure. Today, employers and employees alike have lofty and varied expectations for their organizations’ technology. o § Devices/Embedded⠀➾ # ⚓ BTT_SKR_Pico_–_A_Raspberry_Pi_RP2040_based_3D_printer control_board⠀⇛ BigTreeTech BTT SKR Pico V1.0 is a 3D printer controller board based on Raspberry Pi RP2040 MCU, compatible with Raspberry Pi Linux SBC’s, and specially designed for the compact Voron 0 3D printer, but also working with other models. The board comes with four TMC2209 motor drivers covered by a heatsink for cooling, as well as interfaces for temperature sensors, and a USB Type- C port to connect to the host computer, usually a Raspberry Pi board running Linux. # ⚓ Vu_Premium_TV_32-inch_with_Bezel-Less_Design,_Linux_OS Launched_in_India:_Price,_Specifications_–_MySmartPrice⠀⇛ Vu, India’s popular online smart TV brand has announced a new TV under the Premium series. The company has unveiled the Vu Premium TV 32-inch in India today. Previously, the company had announced Vu QLED Premium TV in India with Android 11, Dolby Vision, and 40W speakers. The newly launched Premium TV 32-inch comes with features like a premium bezel-less design, Linux OS, and more for under Rs 15,000. # § Open Hardware/Modding⠀➾ # ⚓ PIR_Motion_Sensor_with_Arduino_Uno:_hc-sr501_Wiring, Setup,_and_Coding_–_peppe8o⠀⇛ Detecting motion inside a monitoring area, such as security area or home restricted place, requires monitoring all the object moves within thas perimeter. The PIR sensor (HC-SR501) with Arduino is a good and cheap option, as it has ability to measure up to 7 meters # ⚓ This_dad_converted_a_Power_Wheels_into_a_DIY_fire truck_toy,_complete_with_a_siren_and_lights_|_Arduino Blog⠀⇛ After searching everywhere for an affordable ride-on fire truck toy for his daughter this past Christmas season YouTuber Jason Altice (AKA CodeMakesItGo) had nearly given up, but luckily enough was able to locate a free Grave Digger Power Wheels that he could modify into one. In its current condition, the vehicle was in bad shape so it had to first be almost completely disassembled, which led to the discovery of a bad switch that was causing the troubles. Upon removing each panel and meticulously painting it with coats of primer and bright red paint, Altice moved onto the next step of including a loud siren and some lights for additional realism. He took an Arduino Nano, loaded some sounds in the form of tone melodies, and then ran the outputted signal from the digital pin to an amplifier and onwards to the horn. # ⚓ This_Arduino_monitor_helps_prevent_bedridden_patients from_getting_pressure_sores_and_more_|_Arduino_Blog⠀⇛ For people who are recovering from a major surgery or those who have a disability, ensuring proper posture while lying down for extended periods of time is vital for reducing joint pain and other ailments that come about from a lack of movement, including pressure sores. Rodrigo Mejiasz’s project aims to solve the issue by using a small device that monitors how long a patient has been lying down in one position and alerts a caregiver when it’s time to adjust them. # ⚓ Monitor_For_Bedridden_Patients_Aims_To_Improve_Care_| Hackaday⠀⇛ One of the joys of being a Maker and Hacker is solving problems and filling needs. When you can do both, well, that’s something special. [rodrigo.mejiasz]’s project surely fits into that special category of solving a problem and filling a dire need with his Bedridden Patient Monitor. While [Rodrigo]’s project page does not specify his motivation for creating this project, one only needs to look as far as their local hospital ward or senior care facility to understand why this device is so wonderful. Healthcare workers and caregivers are stretched paper thin, and their attention is being constantly interrupted. # § Mobile Systems/Mobile Applications⠀➾ # ⚓ Android_updates:_Features_aren’t_the_problem, security_is_–_9to5Google⠀⇛ # ⚓ Widespread_FluBot_and_TeaBot_Malware_Campaigns Targeting_Android_Devices⠀⇛ # ⚓ Samsung:_Android_updates_even_faster_in_the_future?_| NextPit⠀⇛ # ⚓ Full_Android_on_a_smartwatch:_ridiculous_or_awesome? –_PhoneArena⠀⇛ # ⚓ 8_of_the_best_Android_Auto_apps_available_in_2022⠀⇛ # ⚓ Realme_Pad_will_get_Android_12_&_3_years_of_security updates_–_9to5Google⠀⇛ # ⚓ Shield_TV_will_get_Android_11_bug_fixes_soon_– 9to5Google⠀⇛ # ⚓ How_to_enable,_disable,_and_schedule_dark_mode_on Android_–_Phandroid⠀⇛ # ⚓ No,_our_Android_app_doesn’t_contain_a_virus._It’s_a false_positive_from_AVG._–_GSMArena.com_news⠀⇛ # ⚓ Why_Is_Android_Named_“Android?”⠀⇛ # ⚓ Sigfox_is_in_financial_trouble_–_CNX_Software⠀⇛ # ⚓ Samsung_Galaxy_A52s_5G_Getting_One_UI_4.0_Update Based_on_Android_12_in_India_and_Europe:_Report_| Technology_News⠀⇛ # ⚓ Magisk_v24.0_adds_Android_12_support,_debuts_Zygisk, plus_more_–_9to5Google⠀⇛ # ⚓ Latest_Tap,_Tap_update_brings_Android_12_‘Columbus’ gesture_code_implementation,_Material_You_theming,_and more⠀⇛ # ⚓ Xiaomi_Redmi_Note_11:_Budget_smartphone_announced globally_for_US$179_with_a_Snapdragon_680_SoC,_Android 11_and_MIUI_13_–_NotebookCheck.net_News⠀⇛ # ⚓ OnePlus_9_gets_LineageOS_18.1_based_on_Android_11_– Gizchina.com⠀⇛ # ⚓ Tecno_Pop_5X_debuts_with_Android_10_Go,_Unisoc chipset_–_GSMArena.com_news⠀⇛ # ⚓ Samsung_may_speed_up_its_Android_updates_in_Europe_– GSMArena.com_news⠀⇛ # ⚓ Huawei_is_back!_Exciting_new_phones_launching_soon but_Android_fans_will_be_disappointed_|_Express.co.uk⠀⇛ # ⚓ Micromax_In_Note_2_Review:_Cleanest_Android Experience_‘In’_This_Segment⠀⇛ # ⚓ Watch_The_Super_Bowl_On_The_65-inch_Sony_X85J_Android TV_For_Only_$798⠀⇛ o § Free, Libre, and Open Source Software⠀➾ # § Events⠀➾ # ⚓ The_FSFE_at_FOSDEM_2022_–_FSFE⠀⇛ This year’s edition will be kicked off by a talk of Masafumi Ohta, teaching on Free Software license and compliances at the University of Electro-Communications in Japan at 13:00 CET. In his talk, Ohta addresses the issue on “How to teach OSS licenses and compliances at a university”. At 13:30 CET, Italo Vignoli, a well-known Free Software advocate and a marketing and public relations consultant, gives a presentation on “Why the pandemic could help FOSS, but was a win for proprietary software”. # ⚓ FOSDEM_2022_schedule_with_embedded_Linux,_IoT, automotive…_sessions_–_CNX_Software⠀⇛ While typically taking place in Brussels, Belgium, FOSDEM 2022 will take place online just like FOSDEM 2021 due to COVID-19 restrictions. The good news is that it means anybody can attend it live from anywhere in the world, and makes it more like “FOSDIM”, replacing European with International, in “Free and Open Source Developers’ European Meeting”. FOSDEM 2022 will take place on February 5- 6 with 637 speakers, 718 events, and 103 tracks. I’ve made my own little virtual schedule below mostly with sessions from the Embedded, Mobile and Automotive devroom, but also other devrooms including “Computer Aided Modeling and Design”, “FOSS on Mobile Devices”, “Libre-Open VLSI and FPGA”, and others. # ⚓ Talking_digital_with_Brian_Kernighan_| Opensource.com⠀⇛ Brian Kernighan has written many popular books about programming, computers, and technology. My own bookshelf includes several books authored or co-authored by Kernighan, including The C Programming Language, Unix: A History and A Memoir, The AWK Programming Language, and others. I just added another book by Kernighan, Understanding the Digital World: What You Need to Know about Computers, the Internet, Privacy, and Security, Second Edition, published in 2021 by Princeton University Press. # ⚓ Australia/NZ_Linux_Meetings_«_etbe_–_Russell_Coker⠀⇛ I am going to start a new Linux focused FOSS online meeting for people in Australia and nearby areas. People can join from anywhere but the aim will be to support people in nearby areas. To cover the time zone range for Australia this requires a meeting on a weekend, I’m thinking of the first Saturday of the month at 1PM Melbourne/Sydney time, that would be 10AM in WA and 3PM in NZ. We may have corner cases of daylight savings starting and ending on different days, but that shouldn’t be a big deal as I think those times can vary by an hour either way without being too inconvenient for anyone. Note that I describe the meeting as Linux focused because my plans include having a meeting dedicated to different versions of BSD Unix and a meeting dedicated to the HURD. But those meetings will be mainly for Linux people to learn about other Unix-like OSs. # § Web Browsers⠀➾ # § Mozilla⠀➾ # ⚓ Thunderbird_–_Hotkeys_Shortcuts_Cheatsheet⠀⇛ # ⚓ Another_Step_in_Automating_the_Pageload Recordings⠀⇛ In a previous article, Kimberly Sereduck told us about Updates to Warm Page Load Tests and how we are continuously working to make our tests more representative of real user behavior. Besides that, we are working on automating the process of recording the website’s page load. # ⚓ Practicing_lean_data_is_a_journey_that_can start_anywhere_–_Open_Policy_&_Advocacy⠀⇛ “It’s not about the destination, but about the journey.” I’m sure data and privacy are the furthest from your mind when you hear this popular saying. However, after a year of virtually sharing Mozilla’s Lean Data Practices (LDP), I’ve realized this quote perfectly describes privacy, LDP, and the process that stakeholders work through as they apply the principles to their projects, products, and policies. [...] There is an appetite to understand how we as consumers can hold companies accountable. One of the biggest surprises for me came when I would field questions at the end of a presentation, and people would ask about their rights as consumers and how they can hold companies accountable. For example, people wanted to understand their rights and recourse options if companies contacted them without permission, didn’t honor their unsubscribe requests, or did something else frustrating. I teach LDP for individuals to apply it in a business context, but we are all also consumers and customers. LDP can help us better understand how our own data should be handled and improve our understanding of what organizations are doing. We can then remember how we feel about certain situations and then ensure we are doing things in a more consumer-friendly way within our organizations. Lean Data Practices is a journey. For many there won’t be an ultimate destination because it is an iterative process. If you try to apply all the principles across your entire organization at once, you will find yourself overwhelmed and likely unsuccessful. To maximize your chance of success, my advice — which is the same advice we give when we present — is to just start somewhere. Choose one aspect of your business and focus on that, one pillar at a time. Once you’ve successfully applied the principles, go to a different business unit and do the same. Remember to review and adapt as products and business needs (or data!) change as well. You may likely never reach your destination, but you will see your company improve in its practices along the way. # ⚓ Tor_vs._VPN:_Is_One_Better_than_the_Other?⠀⇛ Tor and VPN have unique ways to ensure user privacy on the Internet. They’re fundamentally very different yet have many similar aims. Due to the overlap in features, you may be weighing the pros and cons of using one over the other. Or maybe they can be treated equally but with separate purposes. This guide digs into everything you need to know about which software should be used for more Internet anonymity. # ⚓ New_Alpha_Release:_Tor_Browser_11.5a2_(Windows, macOS,_Linux)⠀⇛ Tor Browser 11.5a2 is now available from the Tor Browser download page and also from our distribution directory. This version includes important security updates to Firefox. # § Content Management Systems (CMS)⠀➾ # ⚓ WordPress_5.9_Goes_Live_with_Full_Site_Editing_ (FSE)⠀⇛ WordPress 5.9 marks the introduction of the next generation of themes that allows greater customization and simpler building. Every year, everyone is waiting to see what the next version of the most popular CMS on the planet is going to bring. WordPress 5.9 “Josephine” is the first WordPress release of 2022. It is named in honor of Josephine Baker, an international jazz singer. The new version brings improvements to WordPress that will change the way many people build their websites. # § Programming/Development⠀➾ # ⚓ A_deeper_look_into_the_Genesis_GV60_digital_cockpit⠀⇛ We announced in 2021 that Hyundai Motor Company has selected Qt as their key HMI technology partner for all Hyundai, Kia, and Genesis brands. Since then, they have released their new electric luxury SUV Genesis GV60, and we love it! # ⚓ Dirk_Eddelbuettel:_td_0.0.6_on_CRAN:_Minor_Bugfix⠀⇛ The td package for accessing the twelvedata API for financial data has been updated once more on CRAN and is now at version 0.0.6. The release comes in response to an email from CRAN who noticed (via r-devel) that I was sloppy (in one spot, it turns out) with a logical expression resulting in an expression of length greather than one. Fixed by wrapping an all() around it—and the package was back at CRAN minutes later thanks to automated processing over their end. # ⚓ Dirk_Eddelbuettel:_RcppArmadillo_0.10.8.1.0_on_CRAN: Upstream_Updates⠀⇛ Armadillo is a powerful and expressive C++ template library for linear algebra aiming towards a good balance between speed and ease of use with a syntax deliberately close to a Matlab. RcppArmadillo integrates this library with the R environment and language–and is widely used by (currently) 950 other packages on CRAN, downloaded over 22.9 million times (per the partial logs from the cloud mirrors of CRAN), and the CSDA paper (preprint/ vignette) by Conrad and myself has been cited 451 times according to Google Scholar. This release brings another upstream update 10.8.0, and first bug fix release 10.8.1. As updates by Conrad can come a little quicker than the desired monthly cadence CRAN aims for, we skipped the 10.8.0 release for CRAN only but of course generally provide them via the Rcpp drat repo as well as via general updates to the repo, and full reverse dependency testing (for which results are always logged here). # § Rust⠀➾ # ⚓ This_Week_In_Rust:_This_Week_in_Rust_427⠀⇛ * § Leftovers⠀➾ o ⚓ An_Appreciation_of_a_Modern-Day_Troubadour⠀⇛ The stage name? Meat Loaf. For Crying Out Loud. OK. How’s this for a pitch in 1977 to record companies for the breakthrough hit, Bat Out Of Hell? It’s a song about a guy on a motorbike crashing, dying, with his heart leaving his body like a bat. That song will give the album its title, then we’ll have a song about a guy rejecting his girl by telling her there ain’t no way I’m ever going to love you and another about a man who wants to end the relationship and is praying for the end of time so I can end my time with you. What record producer in their right mind would consider such an outlandish proposal? Remember, this was the late seventies. The Carter presidency. Music was polarized. In the blue corner, disco. In the red, punk. Bruce Springsteen and Queen were fighting the good fight but the dross seemed overwhelming.  Rudely flapping its wings along comes the Bat Out of Hell album with its Wagnerian overtones and sense of Gotterdammerung and an overweight singer named after a dish not known for its gastronomic appeal. T-bone steak, roast lamb, leg of pork, roast potatoes maybe, but Meat Loaf? After a slow burn, something happened, word of mouth and radio play resurrected it and soon, say 1978, no high school or college dance was complete without a track or two, especially Two Out of Three Ain’t Bad. This was before MTV. It’s still appealing to young and not-so- young romantics with global sales in excess of 40 million and the album sales hit 200,00 a year. o ⚓ A_Theory_About_Conspiracy_Theories⠀⇛ Move forward to the year 1920, and none other than Winston Churchill gave us a more modern conspiracy theory when saying, “the movement among the Jews … this worldwide conspiracy [is] for the overthrow of civilization [it] has been steadily growing.” During the 1930s, Churchill’s antisemitism was, of course, out- gunned by German Nazism inventing the scientific hallucination of a Jewish Race.It sought to legitimize the Holocaust. In the 1950s, US Senator Joe McCarthy believed, “this government [will] deliver us to disaster … this must be a product of a great conspiracy.” Conspiracy theories are more like fantasies. They are not theories in our scientific understanding. In short, a theory is an explanation of an aspect of the natural or social world that has been repeatedly tested, and verified in accordance with scientific methods relying on accepted protocols of observations, measurement, and a critical evaluation of the findings produced. None of this is the case when it comes to conspiracy theories. o ⚓ Boxed_In⠀⇛ Shortly after the spectacular collapse of Lehman Brothers in 2008 and the global recession that came tumbling after it, an Italian playwright named Stefano Massini began working on a fictionalized account of the men who’d founded the eponymous firm a century and a half earlier. I Capitoli del Crollo, or Chapters of the Fall, saw its first productions in 2010 on Italian stages, followed by performances on national radio. And then the play took off in various translations across Europe, drawing acclaim throughout the 2010s in France, Germany, Spain, and elsewhere. Despite its title, the play is mostly about the rise of Lehman Brothers; it follows three generations of Lehman men to tell a giddy tale about the growth of their bank and, by extension, rapacious American capitalism. In 2016, Massini published a 760- page expanded version, Qualcosa sui Lehman (Something About the Lehmans), which was billed as a novel and, like the playscript, was written in a sort of Homeric free verse befitting the epic ambitions of the project. No doubt, part of the appeal of Massini’s work for directors was the open-ended nature of the play. Written in the third person, with no lines assigned to particular characters, it left theater artists free to shape their productions as they wished, even as they hewed to Massini’s script. Some European stagings used seven actors to play the Lehman men across the 164-year saga, as well as the dozens of other people they encountered; others used four or as many as 12. o ⚓ The_Tonga_Volcanic_Eruption_was_So_Intense_It_Caused_the Atmosphere_to_Ring_Like_a_Bell⠀⇛ The atmospheric wave pattern close to the eruption was quite complicated, but thousands of miles away it appeared as an isolated wave front traveling horizontally at over 650 miles an hour as it spread outward. NASA’s James Garvin, chief scientist at the Goddard Space Flight Center, told NPR the space agency estimated the blast was around 10 megatons of TNT equivalent, about 500 times as powerful as the bomb dropped on Hiroshima, Japan, during World Word II. From satellites watching with infrared sensors above, the wave looked like a ripple produced by dropping a stone in a pond. o § Science⠀➾ # ⚓ SHERLOC_And_The_Search_For_Life_On_Mars_|_Hackaday⠀⇛ Humanity has been wondering about whether life exists beyond our little backwater planet for so long that we’ve developed a kind of cultural bias as to how the answer to this central question will be revealed. Most of us probably imagine that NASA or some other space agency will schedule a press conference, an assembled panel of scientific luminaries will announce the findings, and newspapers around the world will blare “WE ARE NOT ALONE!” headlines. We’ve all seen that movie before, so that’s the way it has to be, right? Probably not. Short of an improbable event like an alien spacecraft landing while a Google Street View car was driving by or receiving an unambiguously intelligent radio message from the stars, the conclusion that life exists now or once did outside our particular gravity well is likely to be reached in a piecewise process, an accretion of evidence built up over a long time until on balance, the only reasonable conclusion is that we are not alone. And that’s exactly what the announcement at the end of last year that the Mars rover Perseverance had discovered evidence of organic molecules in the rocks of Jezero crater was — another piece of the puzzle, and another step toward answering the fundamental question of the uniqueness of life. o § Health/Nutrition⠀➾ # ⚓ From_Raincoats_to_Napkins,_Toxic_‘Forever_Chemicals’_Found in_Everyday_Products⠀⇛ Despite the existence of safer alternatives, toxic “forever chemicals” linked to a wide range of health problems are found in most products labeled stain- or water-resistant, from rain jackets and hiking pants to mattress pads, comforters, napkins, and tablecloths. “We need urgent action at the state and federal levels to solve the PFAS crisis, including by quickly stopping its use in products we wear and use in our homes.” # ⚓ Covidian_Musings⠀⇛ By the time he was assassinated, he (and the movement) were calling for an end to the barbarous war against the people of Vietnam, a universal guaranteed annual income, with  public housing and healthcare as an economic right for everybody. Feel free to check. In 1967, a year before he was struck down in Memphis supporting the striking “sanitation workers” and organizing for the Poor People’s Campaign, he gave a speech at New York’s Riverside Church: “Beyond Vietnam: A Time to Break Silence.” He announced, “I am convinced that if we are to get on the right side of the world revolution, we as a nation must undergo a radical revolution of values. We must rapidly begin to shift from a ‘thing- oriented’ society to a ‘people-oriented’ society. When machines and computers, profit motives and property rights are considered more important than people, the giant triplets of racism, materialism, and militarism are incapable of being conquered.” He named the United States as “the greatest purveyor of violence in the world today.” # ⚓ Opinion_|_Biden_Must_Take_on_Big_Pharma_Over_Cancer_Drug That_Costs_$189,000_Per_Year⠀⇛ What if we told you American taxpayers funded the invention of a highly successful prostate cancer medication, but if they need it, American prostate cancer patients are forced to pay far more than people living in similar nations? # ⚓ Dems_Sound_Alarm_as_Key_US_Vaccine_Agency_‘Running_Out_of Money’⠀⇛ As the House Democratic leadership prepared to fast-track a vote to provide $500 million in additional military aid to Ukraine, a small contingent of congressional Democrats argued that the federal government’s immediate attention should be on the United States’ flagging pandemic response—particularly on the global stage. In a letter to President Joe Biden on Tuesday, nine Democratic lawmakers warned that the United States Agency for International Development (USAID) is “a little over a month away from running out of money” to finance its global vaccination efforts as coronavirus cases, hospitalizations, and deaths remain elevated worldwide. # ⚓ “Takeover”:_Young_Lords’_Juan_González_on_Hospital_Protest Doc._Shortlisted_for_Academy_Award⠀⇛ The documentary “Takeover,” which chronicles the radical actions of the Young Lords, was recently shortlisted for an Academy Award. In 1970, the Puerto Rican collective took over a condemned hospital in the South Bronx to demand the construction of a new hospital, free healthcare for all, and more. “I’m still amazed there’s been so much interest in what we did as youngsters more than 50 years ago,” says Democracy Now! co-host and Young Lords founding member Juan González. “I hope that some of the lessons of what we did right and what we did wrong will resonate with younger people these days.” # ⚓ College_Students_Struggle_to_Address_a_Mental_Health Crisis⠀⇛ Around 11:30 am on December 15, a Northeastern University student was found unresponsive in Snell Library, one of the main libraries on campus. Boston Fire and EMS arrived on the scene. Just a few hours later, the Northeastern University Police Department gave the library an “all clear.” The student was pronounced dead in an apparent suicide. The university administration’s response? Sending an e-mail to all students that read, “The university is making counseling and other mental health services available to everyone in the university community who needs support.” Finals week proceeded as normal, and students began shuffling into the library again. This story was produced for Student Nation, a program of the Nation Fund for Independent Journalism, which is dedicated to highlighting the best of student journalism. For more Student Nation, check out our archive or learn more about the program here. StudentNation is made possible through generous funding from The Puffin Foundation. If you’re a student and you have an article idea, please send pitches and questions to [email protected]. # ⚓ Africa_CDC_Director:_Vaccine_Inequity_Prolongs_the Pandemic._Global_Cooperation_Can_Stop_New_Variants.⠀⇛ As new cases of the highly infectious Omicron variant continue to climb in undervaccinated parts of the world, we speak to the head of the Africa Centers for Disease Control and Prevention about how vaccine inequity could lead to even more variants of the coronavirus. Dr. John Nkengasong says only 10% of the population is fully immunized in Africa, a continent of 1.3 billion people, and millions of vaccines donated by COVAX went unused because of their short shelf life. Meanwhile, several countries in Africa have begun manufacturing their own vaccines. “We have to shift our focus to vaccinating — that is, making sure that vaccines that are arriving at the airport actually get into the arm of the people,” says Dr. Nkengasong. o § Integrity/Availability⠀➾ # § Proprietary⠀➾ # § Security⠀➾ # ⚓ Easily_Exploitable_Linux_Flaw_Exposes_All Distributions:_Qualys_|_eSecurityPlanet⠀⇛ An easily exploited flaw in a program found in every major Linux distribution is the latest serious security issue that has arisen in the open-source space in recent weeks. Researchers at cybersecurity vendor Qualys this week disclosed the memory corruption vulnerability in polkit’s pkexec, which if exploited by a bad actor can enable an unprivileged user to gain full root privileges on a system, giving the unprivileged user administrative rights. The vulnerability, tracked as CVE-2021- 4034, has “been hiding in plain sight” for more than 12 years and infects all versions of polkit’s pkexec since it was first developed in 2009, Bharat Jogi, director of vulnerability and threat research at Qualys, wrote in a blog post. Polkit’s (formerly PolicyKit) pkexec is a component used to control system-wide privileges in Unix-like operating systems, enabling non-privileged processes to communicate with privileged processes in an organized fashion. It also can be used to execute commands with elevated privileges using the command pkexec followed by the command intended to be executed with root permission. # ⚓ Serious_PwnKit_flaw_in_default_Linux installations_requires_urgent_patching [Ed: Local privilege escalation in systemd spun as doom for "Linux"]⠀⇛ # ⚓ PolKit_vulnerability_can_give_attackers_root_on many_Linux_distros_(CVE-2021-4034)⠀⇛ # ⚓ Linux_Bug_in_All_Major_Distros:_‘An_Attacker’s Dream_Come_True’⠀⇛ # ⚓ Local_privilege_escalation_vulnerability_found on_‘polkit’_program_found_on_every_Linux variant⠀⇛ # ⚓ Linux_version_of_LockBit_ransomware_targets VMware_ESXi_servers [Ed: Lawrence Abrams, a Microsoft booster, framing a VMware issue as "Linux"]⠀⇛ LockBit is the latest ransomware gang whose Linux encryptor has been discovered to be focusing on the encryption of VMware ESXi virtual machines. [...] While ESXi is not strictly Linux, it does share many of its characteristics, including the ability to run ELF64 Linux executables. # ⚓ Malware_Log_Analysis:_Don’t_Let_the_HTTP_Code Fool_You_–_ISPProtect⠀⇛ An essential component of the analysis and cleanup of websites infected with malware is viewing and evaluating the log files. However, even here there are things to consider that might seem odd at first glance. # ⚓ Security_updates_for_Thursday_[LWN.net]⠀⇛ Security updates have been issued by CentOS (polkit), Debian (uriparser), Fedora (cryptsetup, flatpak, flatpak- builder, and polkit), Gentoo (polkit), Mageia (virtualbox), Red Hat (httpd24- httpd, httpd:2.4, and parfait:0.5), SUSE (clamav, log4j, python-numpy, and strongswan), and Ubuntu (vim). # ⚓ FBI_Releases_PIN_on_Iranian_Cyber_Group_Emennet Pasargad⠀⇛ The Federal Bureau of Investigation (FBI) has released a Private Industry Notification (PIN) that provides a historical overview of Iran-based cyber company Emennet Pasargad’s tactics, techniques, and procedures to enable readers to identify and defend against the group’s malicious cyber activities. # ⚓ [Slackware]_Security_updates_for_glibc_and chromium⠀⇛ Two reminders about security related package updates in my repositories. # ⚓ Enterprise_Linux_Security_Episode_16_–_Library Poisoning_–_Invidious⠀⇛ We’ve discussed supply-chain attacks in the past, and now it’s time to see an actual example that happened recently. However, this particular incident is especially unique as the libraries in question were allegedly poisoned by the actual developer. In this episode, Joao and Jay discuss the recent sabotage regarding two very popular NPM libraries. # § Privacy/Surveillance⠀➾ # ⚓ 9th_Circuit_to_review_secrecy_of_CRS- based_travel_surveillance⠀⇛ May court records related to orders requiring a travel reservations company to provide real-time updates to the U.S. government whenever a “person of interest” makes reservations for flights or other travel  be kept secret from the public, the press, and other travel companies including the airlines on which the target plans to travel? That issue is now before the 9th Circuit Court of Appeals in the case of Forbes Media and Thomas Brewster vs. the United States (Court of Appeals Docket #21- 35612). The legal question before the 9th Circuit is whether courts can keep their own actions secret. That’s important, but the the underlying facts raise other issues as well. o § Defence/Aggression⠀➾ # ⚓ Democrats_Urge_Biden_to_Abandon_Dangerous_Trump_Policies_on Nuclear_Weapons⠀⇛ Ahead of the release of a key document laying out the administration’s nuclear doctrine, President Joe Biden is facing a fresh call from Democrats in Congress to firmly reject what they see as former President Donald Trump’s misguided and dangerous policies on atomic weapons. “It is your best chance to take bold steps that reduce our reliance on nuclear weapons, elevate arms control, and, retire President Trump’s new, unnecessary warfighting nuclear weapons.” # ⚓ ‘There_Is_No_Military_Solution’:_Jayapal,_Lee_Demand Diplomacy_on_Ukraine⠀⇛ Democratic Reps. Pramila Jayapal and Barbara Lee, two top members of the Congressional Progressive Caucus, implored the Biden administration on Wednesday to urgently pursue a diplomatic outcome in Ukraine, warning that “there is no military solution” to surging tensions with Russia. “Diplomacy needs to be the focus,” Jayapal (D- Wash.), the chair of the CPC, and Lee (D-Calif.), the head of the caucus’ Peace and Security Taskforce, said in a statement. # ⚓ Gun-Maker_Slammed_for_‘Children’s_Assault_Rifles’_Based_on AR-15⠀⇛ Gun control advocates on Wednesday sharply condemned an Illinois-based company for recently unveiling the JR-15, a long rifle inspired by the AR-15 but marketed for children. “The marketing of children’s assault rifles… can only increase the threat of gun death and injury to children.” # ⚓ Dems_Demand_Biden_Stop_Maintaining_Saudi_Jets_Causing ‘Untold_Suffering’_in_Yemen⠀⇛ A group of 12 House Democrats is urging President Joe Biden to suspend a contract that keeps Saudi warplanes maintained and able to cause “untold suffering” on the people of Yemen. The letter to Biden, led by Rep. Tom Malinowski (D- N.J.), comes amid an escalation in the Saudi-led coalition’s bombing of Yemen and on the same day United Nations officials warned that the civilian death toll from the bombing campaign could break records this month. # ⚓ Despite_Rights_Abuses,_Biden_Approves_$2.5_Billion_Arms Sale_to_Egypt⠀⇛ The U.S. State Department on Tuesday approved a sprawling $2.5 billion arms sale to Egypt even as the Biden administration continues to withhold a far smaller sum of military aid—$130 million—over expressed concerns about human rights abuses by the government of President Abdel Fattah al-Sisi, a disconnect that critics said makes a mockery of U.S. leaders’ rhetoric. Authorized on the 11th anniversary of the 2011 Egyptian revolution, the weapons sale includes 12 Super Hercules C-130 transport aircraft as well as $355 million worth of air defense radar systems. # ⚓ Britain’s_Forces_Eye_Australia⠀⇛ With the AUKUS arrangements being firmed up, US and UK sailors, personnel and miscellaneous staff are being readied for more time Down Under, ensuring that Australia becomes a staging ground for future forward military operations.  Canberra has relinquished much say in this; the song sheets and blueprints are coming from elsewhere. The UK, reprising its long history of using Australia for its own military adventurism, is keen to massage the recently minted AUKUS agreement.  Last week, the UK Secretary of Defence Ben Wallace and Foreign Secretary Liz Truss met Dutton and Australian Foreign Affairs Minister Marise Payne in Sydney for annual AUKMIN talks.  The meeting had a distinctly nostalgic note to it: maternal Britannia, dropping in to see its rather (territorially) large offspring. # ⚓ Truckloads_of_Guns⠀⇛ Incredibly, even long before this most recent tragedy, the majority of police surveyed were in favor of people carrying guns legally (“Police Gun Control Survey: Are legally-armed citizens the best solution to gun violence?” Police1, April 8, 2013). The line of reasoning in the arming of civilians is that armed people will stop armed criminals, or act as a deterrent to potentially armed wrongdoers. This discussion will not review the number of police shootings of mostly people of color in the US that is a well-documented issue. The insanity of guns in the US always returns to the Second Amendment and its underpinnings in the wild west and colonial history. The Second Amendment to the Constitution gave citizens the right to bear arms and the right to form militias and is about as useful today as someone planning to travel across the US by Conestoga wagon. Part of the Second Amendment also became a means to enforce racism throughout US history. Segregation and racism were targeted through the barrel of a gun as civil rights workers found out in Mississippi in 1964. Black leaders such as Martin Luther King, Jr. and Malcolm X were treated similarly. Medgar Evers was summarily sentenced to death at the end of a rifle for his work with the NAACP, and teenager Emmett Till was tortured and gunned down before being cast into a river. The list is endless! # ⚓ Ukraine_as_Game_Board⠀⇛ The world watches as the squabble between US and Russia heats up.  Russia moves troops around its territory. Washington insists Moscow has no right to move those troops near Russia’s border with Ukraine.  The Pentagon is moving some of its forces closer to Russia’s borders: into Poland, Latvia, Lithuania among others.  Meanwhile, Kyiv continues to take its orders from Washington—which helped create the current political reality there when it openly intervened in the electoral process in 2014 as part of its expansion eastward via NATO after the dissolution of the Soviet Union.  The US conveniently insists that Cold War-style regions of influence are a relic of the past and that countries should be able to choose their own alliances. In other words, the US should be able to expand its empire wherever it wishes.  Moscow, for obvious reasons, disagrees.  The current debate over Ukraine is not about freedom for the Ukrainian people, but also about Moscow expanding its influence into Europe at Washington’s expense.  A prime example of this struggle is the Nordeast 2 natural gas line that enables Russian energy firms to transport and sell their resource to Germany and other European nations at a much cheaper rate than US energy firms can sell their product in the same markets. Then there’s NATO.  The fact of its continued existence reveals much about its true intent. NATO is a tool of US empire; a military means to keep the nations in the alliance under D.C.’s dominion.  Like the Monroe Doctrine is unofficially to Latin America, NATO is to Europe.  Masquerading as a benevolent protector and equal alliance of nations, its true purpose is to engage other capitalist nations in Washington’s pursuit of hegemony.  While Washington continues to pretend that NATO exists to defend freedoms that only the United States can dispense, NATO continues to be part of the US empire’s armed wing.  This is truer now than at any time since the 1980s, when the Reagan White House moved nuclear missiles into Europe despite massive protests. # ⚓ U.S/Russian_Negotiations_and_Getting_to_Yes⠀⇛ But isn’t presenting your position on what is non- negotiable part of negotiations? Just as 100,000 Russian troops on the eastern border of Ukraine are part of the negotiations, Blinken’s statement about non-starters is part of the general negotiating process. The meeting in Geneva was part of a classic negotiation at the highest levels with much at stake. Ever since Roger Fisher, William Ury, and Bruce Patton published Getting to Yes in 1981 after establishing the Harvard Negotiating Project, negotiating has become a big international business. The book has been translated into 35 languages. Paul Meerts of the Clingendael Institute and the Swiss Robert Weibel among others spent years training diplomats in negotiation in the newly independent countries following the fall of the Berlin Wall. Negotiation simulations regularly take place in the private sector as well. # ⚓ A_Very_Long_War⠀⇛ Granted, during the years of schooling that preceded my deployment there, I had amassed all sorts of facts, some of them at least marginally relevant to the matter at hand. Yet despite the earnest efforts of some excellent teachers, I had managed to avoid acquiring anything that could be dignified with the term education. Now, however haltingly, that began to change. A year later, when my tour of duty ended, I carried home from Vietnam the barest inkling of a question: How had this massive cockup occurred and what did it signify? Since that question implied rendering judgment on a war in which I had (however inconsequentially) participated, it wasn’t one that I welcomed. Even so, the question dogged me. During the ensuing decades, while expending considerable effort reflecting on America’s war in Vietnam, I never quite arrived at a fully satisfactory answer. At some level, the entire episode remained incomprehensible to me. # ⚓ San_Jose_Passes_First-of-Its-Kind_Insurance_Requirement_for Gun_Owners⠀⇛ # ⚓ San_José_Set_to_Pass_First-in-Nation_Gun_Liability Insurance_Law⠀⇛ In what one gun control advocate called “a victory for gun safety,” the San José City Council voted Tuesday to advance a measure that would make the city the first in the nation to require firearm owners to carry liability insurance and pay a yearly fee. “Whether you’re pro-guns or anti-guns, no one can argue that we have substantial injury in our community and substantial issues that need to be addressed.” # ⚓ “Gangsters_of_Capitalism”:_Jonathan_Katz_on_the_Parallels Between_Jan._6_and_1934_Anti-FDR_Coup_Plot⠀⇛ We speak to award-winning journalist Jonathan Katz about his new book “Gangsters of Capitalism: Smedley Butler, the Marines, and the Making and Breaking of America’s Empire.” The book follows the life of the Marines officer Smedley Butler and the trail of U.S. imperialism from Cuba and the Philippines to Haiti, the Dominican Republic, Nicaragua and Panama. The book also describes an effort by banking and business leaders to topple Franklin D. Roosevelt’s government in 1934 in order to establish a fascist dictatorship. The plot was exposed by Butler, who famously declared, “War is a racket.” The far-right conspiracy to overthrow liberal democracy has historical parallels to the recent January 6 insurrection, says Katz. # ⚓ Cuba:_60_Years_of_a_Brutal,_Vindictive,_and_Pointless Embargo⠀⇛ In mid-December, some 114 members of Congress sent a forceful letter to President Joe Biden calling for “immediate humanitarian actions” to lift the economic sanctions “that prevent food, medicine, and other humanitarian assistance from reaching the Cuban people.” With Cuba struggling to emerge from a dire, Covid-generated economic crisis, the congressional representatives are pushing the White House to end the restrictions imposed by the Trump administration on remittances and travel and restore the Obama-era policy of engagement with the island nation. “Engagement,” the members concluded, “is more likely to enable the political, economic, and social openings that Cubans may desire, and to ease the hardships that Cubans face today.”1 o § Environment⠀➾ # § Energy⠀➾ # ⚓ ‘Monumental_Victory’_as_Biden_Cancels_Boundary_Waters Mining_Leases⠀⇛ Environmentalists and progressives on Wednesday cheered a decision by the Biden administration to cancel a pair of mining leases in northern Minnesota that critics warned would threaten the pristine Boundary Waters Canoe Area Wilderness.  “Some places are simply too special to  mine.”  # ⚓ New_Analysis_Exposes_‘Bogus’_Job-Creation_Claims_of Fossil_Fuel_Industry⠀⇛ Although oil and gas production increased in the United States from 2010 to 2020, new research out Wednesday reveals that last decade’s boom coincided with a decline in drilling and fracking jobs—giving lie to the fossil fuel industry’s claims about its positive impact on employment. “Outlandish jobs claims have one goal: to hype the scope and impact of the oil and gas industry.” # § Wildlife/Nature⠀➾ # ⚓ This_Unsung_Aquatic_Hero_Could_Get_a_Big_Boost_From Dam_Removals⠀⇛ o § Finance⠀➾ # ⚓ Opinion_|_It’s_Time_for_a_Global_Billionaire_and Millionaire_Wealth_Tax_to_Save_Our_Living_Planet⠀⇛ Our politicians, flush from millionaire/billionaire campaign “contributions,” like to pretend that the cost of dealing with the climate and biodiversity crises is prohibitively expensive and pretend that we should wait until the cost of solutions come down before we act, but is this really true? # ⚓ 80+_Dems_Tell_Biden_to_Release_Secret_Memo_on_Student_Debt Authority⠀⇛ With the federal moratorium on student loan repayments set to end in less than 100 days, dozens of Democratic members of Congress on Wednesday implored President Joe Biden to use his executive authority to cancel at least $50,000 in student debt per borrower. “We can and must provide this relief to millions of borrowers and their families.” o § AstroTurf/Lobbying/Politics⠀➾ # ⚓ Opinion_|_No_More_Backroom_Deals—Let_the_American_People See_Who_Is_Willing_to_Fight_for_Them⠀⇛ The following is based on an email sent to supporters of Sen. Bernie Sanders (I-Vt.) on Wednesday, January 26, 2022: # ⚓ Supreme_Court_Justice_Stephen_Breyer_Is_Retiring,_Opening Seat_for_Biden_Nominee⠀⇛ # ⚓ Biden_Urged_to_Nominate_Black_Woman_to_Supreme_Court_as Breyer_Says_He’ll_Retire⠀⇛ Reports that U.S. Supreme Court Justice Stephen Breyer plans to retire prompted progressives Wednesday to urge President Joe Biden to fulfill a campaign promise and nominate a progressive Black woman who will counter the high court’s right-wing supermajority and protect democracy, human rights, and the climate.  “The status quo is failing all of us, so Biden’s choice is crucial.” # ⚓ Pelosi_Announces_Another_Run_for_Congress,_Doesn’t_Discuss Speaker_Role⠀⇛ # ⚓ Virginia’s_Republican_Governor_Youngkin:_Trump_in Sheepskins⠀⇛ Moreover, he said hardly a word about his sketchy corporate past, beyond declaring he had been a “financier” or worked in “the financial sector”. Of course these designations cover a myriad of types—from jailed junk bond kings in the 1980s, to creators of slash-and-burn “financial instruments” behind the 2008 crash (who escaped jail, how times change), to bankers who oversee the provision of microcredit for the poor. Youngkin is definitely not among the latter. Youngkin took office as Virginia’s governor on 15 January. Two days later he gave his inauguration speech. Here are some key points from Youngkin’s address: # ⚓ Opinion_|_Fox_News’_Favorite_Economic_Pundit_Ain’t_Joe Manchin._It’s_Somebody_Even_Worse⠀⇛ FOX News is exultant! Not only have they found a new Senate hero in Joe Manchin—a Democrat no less—but also in one of the Democratic party’s past policy stalwarts, Harvard Professor Larry Summers. In addition to having briefly served as President of that supposed bastion of American liberal thought, Summers has served as Secretary of The Treasury under President Clinton, and as the Chief Economist of the World Bank, which, for Trump world, is an instrument for strengthening big government globally and, God forbid, multilateralism! # ⚓ Manchin_Internationally_Reviled_Over_Climate_Obstruction⠀⇛ The threat Sen. Joe Manchin poses to the planet by refusing to back ambitious climate legislation has not gone unnoticed by people in parts of the world that are most at risk for destruction from global heating, according to new reporting. As The Guardian reported Wednesday, the right-wing Democrat who represents West Virginia has gained infamy in the Global South, including in the Marshall Islands, where 96% of the capital city of Majuro is at risk for frequent flooding due to rising sea levels. # ⚓ Nina_Turner_Announces_Run_for_Congress_in_Likely_Rematch Against_Shontel_Brown⠀⇛ # ⚓ ‘On_the_Side_of_the_People’:_Nina_Turner_Launches_New Congressional_Run_in_Ohio⠀⇛ Democrat Nina Turner announced Wednesday she’s running again to represent Greater Cleveland in U.S. Congress, bringing back an agenda of priorities like Medicare for All, a living wage, and recurring federal relief amid the ongoing pandemic, and a fresh promise to be a fighter for “a progressive future that works for all.” “Greater Cleveland needs… a leader who knows poverty is a policy choice.” o § Censorship/Free Speech⠀➾ # ⚓ The_Project_Censored_Newsletter—January_2022_–_Censored Notebook,_Newsletters⠀⇛ Project Censored has received a grant from the Free Press to support our media literacy educational programs. The grant will fund at least three new, paid summer internships, enhancements to the weekly radio show, and expansion of the Project’s Campus Affiliates Program, which includes our critical media literacy curriculum and educator development. Stay tuned for more details as we put this welcome support to work. # ⚓ Devin_Nunes,_CEO_Of_Trump’s_TRUTH_Social,_Confirms_That ‘Free_Speech’_Social_Media_Will_Be_HEAVILY_Moderated⠀⇛ It’s never been a secret that for all of the public claims about how Donald Trump’s upcoming social network “TRUTH Social” will be for “free speech” that this was never actually the plan. We noted right up front that its terms of service appeared to be way more restrictive than all the competitors it was criticizing — and even said it would be a violation of terms to “annoy” anyone working for the site. When Rep. Devin Nunes — who has a long history of suing people for criticizing and mocking him (i.e., no friend of free speech) — announced he was retiring from Congress to become CEO of Trump’s social network, we noted that he’d be quick to ban people on the site. o § Civil Rights/Policing⠀➾ # ⚓ Rights_Groups_Demand_Hearings_on_the_‘Fourth_Amendment_Is Not_For_Sale_Act’⠀⇛ More than four dozen consumer advocacy, media justice, and privacy rights groups on Wednesday urged the Senate and House Judiciary Committees to hold hearings on the Fourth Amendment Is Not For Sale Act—a bill meant to curb warrantless mass surveillance—as soon as possible. “This legislation would stop this flagrant abuse of our privacy and shut down a clandestine business sector that trades away our essential rights for profit.” # ⚓ Republicans_Tripped_Up_by_Their_Anti- Citizens Initiative Law⠀⇛ To make a long story much shorter, it’s no news to anyone that Montana and national property values have skyrocketed in the last few years. The median price for a home in the U.S. right now is $375,000. In Montana the median price is $359,678. The incredible increase in the cost of owning a home is great for the speculators, investors, and flippers who just want to make a killing and pocket the profits. But it’s not so great for those who are facing property taxes based on the sky-high prices — especially those who have been living in their homes for a long time, are elderly, on fixed incomes, and have no intention of selling them. Comes now a replay of a successful citizen’s initiative from the 1980s that capped property tax increases — but was almost immediately overturned by the Legislature. This time around, a group called Cap Montana Property Taxes wants to gather signatures for CI-121, a constitutional initiative that would amend Montana’s constitution to revert tax valuations back to 2019 levels, cap rates on residences at 1% and limit increases in assessed valuations to either 2% or the inflation rate, whichever is lower. Being a constitutional amendment, it couldn’t be overturned through legislative action. # ⚓ Cops’_New_Favorite_Junk_Science_Is_Pretending_Being Anywhere_Near_Fentanyl_Will_Literally_Cause_Them_To_Die⠀⇛ The longer we live, the more we become accustomed to cop fiction. o § Internet Policy/Net Neutrality⠀➾ # ⚓ House_Introduces_‘Innovation’_Act_That_Will_Kill Innovation⠀⇛ A few weeks ago, we warned that Congress should not include the ridiculously dangerous SHOP SAFE bill in the expected USICA bill. Unfortunately, Congress did not listen. # ⚓ Winding_Down_Our_Latest_Greenhouse_Panel:_The_Lessons Learned_From_SOPA/PIPA⠀⇛ Ten years ago a coalition of strange bedfellows came together to thwart one of the most problematic pieces of legislation in tech policy history. In the process they made history, rekindled waning optimism about the health of democratic process, forged longstanding new alliances across activism, politics, academia, and industry, and redefined what’s possible in the tech policy arena and the halls of Congress. Not bad for a day’s work. # ⚓ Kazakhstan_government,_telcos_must_put_an_end_to_internet shutdowns_–_Access_Now⠀⇛ Access Now and the #KeepItOn coalition are appalled by the internet shutdowns at the hands of authorities and telecommunications providers in the first weeks of January 2022. Through an open letter to President Kassym-Jomart Tokayev, the coalition is demanding action, and the assurance of open, accessible internet for all across Kazakhstan. “It was a disgraceful start to 2022 — shutting down the internet when people needed it most,” said Anastasiya Zhyrmont, Eastern Europe & Central Asia Regional Outreach Coordinator at Access Now. “These prolific attacks on freedom of speech and access to information must not set a precedent for the year ahead in Kazakhstan. The #KeepItOn coalition is demanding the nation set a better standard.” # ⚓ Who_should_police_social_media?_|_Social_Media_News_|_Al Jazeera⠀⇛ Twitter reports record number of government requests to remove content. # ⚓ Analysis:_the_Myanmar_junta’s_Cybersecurity_Law_would_be_a disaster_for_human_rights_–_Access_Now⠀⇛ As the one year anniversary of the military’s illegal coup in Myanmar nears, the junta’s methodical efforts to achieve ultimate control over civic space are continuing. The recently revived draft Cybersecurity Law will effectively extinguish any remaining avenues for dissent and expression against an increasingly violent regime, and must be immediately withdrawn. On January 13, leaked documents revealed the military’s attempts to reintroduce a notorious and oppressive law, previously shut down by Access Now and other civil society and industry stakeholders. The latest draft — an unofficial English version of which was shared with Access Now through partners — appears to resurrect all the major fears around suppression of freedoms that were enshrined in the original iteration. It is expected to pass as early as next week after a two-week token consultation. The latest draft confers overbroad powers to the junta to censor expression online and undermine data protection, with no prospect for independent oversight or effective remedy. Military-controlled ministries will be granted powers to implement the law — including the Ministry of Defence (Ch. 1) with its decades-long history of human rights abuses, including serious international violations amounting to crimes against humanity and genocide. If passed, this bill will enshrine in law the death of online civic space in Myanmar — throttling any remaining rights of the people of Myanmar to freedom of expression, association, information, privacy, and security. The redrafted text is designed to commandeer control of cybersecurity, electronic communications, cybercrime, data protection, and VPN services in not only an illegitimate, but also practically impossible manner. o § Monopolies⠀➾ # § Copyrights⠀➾ # ⚓ The_Kept_and_the_Killed_–_The_Public_Domain_Review⠀⇛ Of the 270,000 photographs commissioned by the US Farm Security Administration to document the Great Depression, more than a third were “killed”. Erica X Eisen examines the history behind this hole-punched archive and the unknowable void at its center. ䷩ 𝚕𝚒𝚗𝚎 4383 ╒═══════════════════ 𝐃𝐀𝐈𝐋𝐘 𝐋𝐈𝐍𝐊𝐒 ═════════════════════════════════════════════╕ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.27.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Links_28/1/2022:_GNU_Poke_2.0_and_OPNsense_22.1_Released⠀✐ Posted in News_Roundup at 9:38 pm by Dr. Roy Schestowitz 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇GNOME bluefish⦈ § Contents⠀➾ * GNU/Linux o Distributions o Devices/Embedded * Free_Software/Open_Source * Leftovers * § GNU/Linux⠀➾ o § Audiocasts/Shows⠀➾ # ⚓ Video_Editing_on_Linux_Featuring_Librem_14_–_Purism⠀⇛ Video editing is a complex topic with a wide-range of software to choose from. In this series, produced with Gardiner Bryant, we will cover some of the common video editing suites available for Linux. We will then jump into some of the other software that you can choose when producing multimedia content on Linux. Instead of just telling you about how awesome Librem 14 actually is, we thought it would be useful to show Librem 14 in action. # ⚓ Nuclear_Music_Streaming_App_For_Windows,_Mac,_Linux_– Invidious⠀⇛ Say goodbye to proprietary music players filled with ads, tracking, and profiling. # ⚓ How_to_install_OBS_Studio_on_Zorin_OS_16_–_Invidious⠀⇛ In this video, we are looking at how to install OBS Studio on Zorin OS 16. # ⚓ Linux_Easy_Anti_Cheat_Can’t_Be_Easier_Than_THIS!!_– Invidious⠀⇛ When Linux Eeasy Anti Cheat support was first announcement it had some issues that made it much harder to implement for many games that it needed to be but now there’s absolutely no way to make the EAC process o § Kernel Space⠀➾ # ⚓ Script_SNAFU_means_Linux_notification_didn’t_reach_everyone •_The_Register⠀⇛ A small SNAFU in Linux kernel land meant that a notification regarding the stable review cycle for the 5.16.3 release didn’t reach everyone it should have. For the first time in the 31-year history of the Linux kernel, there were over 999 commits to a stable version, which caused a very minor problem. Greg Kroah-Hartman, lead maintainer of the -stable branch, has a set of scripts which CC various interested parties when there’s been a new release. “Usually I split big ones out in two releases over the week,” he told The Reg. “This time, I did it all at once to see what it would stress. The ‘bug’ of not copying some people on an email is the only thing that broke that I noticed, so we did pretty well.” He told the kernel development mailing list: “Found the problem, this was the first set of -rc releases that we have over 999 commits and the script was adding the cc: to msg.000 not msg.0000. I’ll fix this up.” # ⚓ Resurrecting_fbdev_[LWN.net]⠀⇛ The Linux framebuffer device (fbdev) subsystem has long languished in something of a purgatory; it was listed as “orphaned” in the MAINTAINERS file and saw fairly minimal maintenance, mostly driven by developers working elsewhere in the kernel graphics stack. That all changed, in an eye-opening way, on January 17, when Linus Torvalds merged a change to make Helge Deller the new maintainer of the subsystem. But it turns out that the problems in fbdev run deep, at least according to much of the rest of the kernel graphics community. By seeming to take on the maintainer role in order to revert the removal of some buggy features from fbdev, Deller has created something of a controversy. Part of the concern within the graphics community is the accelerated timeline that these events played out on. Deller posted his intention to take over maintenance of the framebuffer on Friday, January 14, which received an ack from Geert Uytterhoeven later that day. Two days later, before any other responses had come in, Deller sent a pull request to Torvalds to add Deller as the fbdev maintainer, which was promptly picked up. On January 19, Deller posted reversions of two patch sets that removed scrolling acceleration from fbdev. In the meantime, those reversions had already been made in Deller’s brand new fbdev Git tree. # ⚓ The_first_half_of_the_5.17_merge_window_[LWN.net]⠀⇛ As of this writing, just short of 7,000 non-merge commits have been pulled into the mainline kernel repository for the 5.17 release. The changes pulled thus far bring new features across the kernel; read on for a summary of what has been merged during the first half of the 5.17 merge window. # ⚓ Struct_slab_comes_to_5.17_[LWN.net]⠀⇛ The page structure is at the core of the memory- management subsystem. One of these structures exists for every page of physical memory in the system; they are used to track the status of memory as it is used (and reused) during the lifetime of the system. Physical pages can adopt a number of different identities over time; they can hold user- space data, kernel data structures, DMA buffers, and so on. Regardless of how a page is used, struct page is the data structure that tracks its state. These structures are stored in a discontiguous array known as the system memory map. There are a few problems that have arisen with this arrangement. The page structure was significantly reorganized for 4.18, but the definition of struct page is still a complicated mess of #ifdefs and unions with no mechanisms to ensure that the right fields are used at any given time. The unlucky developer who needs to find more space in this structure will be hard put to understand which bits might be safe to use. Subsystems are normally designed to hide their internal data structures, but struct page is heavily used throughout the kernel, making any memory-management changes more complicated. One possible change — reducing the amount of memory consumed by page structures by getting rid of the need for a structure for every page — is just a distant dream under the current organization. So there are a lot of good reasons to remove information from struct page and hide what remains within the memory-management subsystem. One of the outcomes from the folio discussions has been a renewed desire to get a handle on struct page, but that is not a job for the faint of heart — or for the impatient. Many steps will be required to reach that goal. The merging of the initial folio patches for 5.16 was one such step; the advent of struct slab in 5.17 is another. # § Graphics Stack⠀➾ # ⚓ Intel’s_Vulkan_1.3_Support_All_Ready_For_Mesa_22.0_– Phoronix⠀⇛ As expected, Intel’s open-source “ANV” driver is ready to go with Vulkan 1.3 for Mesa 22.0. On Tuesday was The Khronos Group’s announcement of the Vulkan 1.3 specification. Both Intel and Radeon (RADV) had launch-day driver patches ready with the merge requests timed for the embargo lift. This was great timing and showing the successes these days of the open-source Linux GPU drivers compared to the OpenGL API support delays experienced years ago. RADV managed to mainline its patches that same day while the Intel ANV patches were pending a bit longer as they were merging the Vulkan dynamic rendering support as required by Vulkan 1.3. # ⚓ Writing_an_open_source_GPU_driver_–_without_the hardware⠀⇛ After six months of reverse-engineering, the new Arm “Valhall” GPUs (Mali-G57, Mali-G78) are getting free and open source Panfrost drivers. With a new compiler, driver patches, and some kernel hacking, these new GPUs are almost ready for upstream. In 2021, there were no Valhall devices running mainline Linux. While a lack of devices poses an obvious obstacle to device driver development, there is no better time to write drivers than before hardware reaches end-users. Developing and distributing production-quality drivers takes time, and we don’t want users to be reliant on closed source blobs. If development doesn’t start until a device hits shelves, that device could reach “end-of-life” by the time there are mature open drivers. But with a head start, we can have drivers ready by the time devices reach end users. Let’s see how. # ⚓ Rosenzweig:_Writing_an_open_source_GPU_driver_– without_the_hardware⠀⇛ Here’s a war story from Alyssa Rosenzweig on the process of writing a free driver for Arm’s “Valhall” GPUs without having the hardware to test it on. # ⚓ Graphics_Driver_Changes_Begin_Lining_Up_For_Linux 5.18⠀⇛ The first set of feature updates have been submitted to DRM-Next for staging until the Linux 5.18 kernel cycle begins around the end of March. It was less than one week ago Linux 5.17-rc1 released that marked the end of the merge window for Linux 5.17. However, due to the cut-off of new DRM-Next material happening prior to the merge window, there is already a lot of new code ready to get staged in DRM- Next for the follow-on kernel cycle (5.18). Sent out today were the first of several drm- misc-next pull requests expected for Linux 5.18. The drm-misc-next area continues collecting the Direct Rendering Manager changes for the core subsystem code and smaller drivers. Expect more drm-misc-next pull requests along with the big Intel and AMD driver feature pull requests to continue coming over the next several weeks. # ⚓ In_defense_of_NIR⠀⇛ Shortly after I joined the Mesa team at Intel in the summer of 2014, I was sitting in the cube area asking Ken questions, trying to figure out how Mesa was put together, and I asked, “Why don’t you use LLVM?” Suddenly, all eyes turned towards Ken and myself and I realized I’d poked a bear. Ken calmly explained a bunch of the packaging/shipping issues around having your compiler in a different project as well as issues radeonsi had run into with apps bundling their own LLVM that didn’t work. But for the more technical question of whether or not it was a good idea, his answer was something about trade-offs and how it’s really not clear if LLVM would really gain them much. That same summer, Connor Abbott showed up as our intern and started developing NIR. By the end of the summer, he had a bunch of data structures a few mostly untested passes, and a validator. He also had most of a GLSL IR to NIR pass which mostly passed validation. Later that year, after Connor had gone off to school, I took over NIR, finished the Intel scalar back-end NIR consumer, fixed piles of bugs, and wrote out-of-SSA and a bunch of optimization passes to get it to the point where we could finally land it in the tree at the end of 2014. Initially, it was only a few Intel folks and Emma Anholt (Broadcom, at the time) who were all that interested in NIR. Today, it’s integral to the Mesa project and at the core of every driver that’s still seeing active development. Over the past seven years, we (the Mesa community) have poured thousands of man hours (probably millions of engineering dollars) into NIR and it’s gone from something only capable of handling fragment shaders to supporting full Vulkan 1.2 plus ray-tracing (task and mesh are coming) along with OpenCL 1.2 compute. Was it worth it? That’s the multi-million dollar (literally) question. 2014 was a simpler time. Compute shaders were still newish and people didn’t use them for all that much more than they would have used a fancy fragment shader for a couple years earlier. More advanced features like Vulkan’s variable pointers weren’t even on the horizon. Had I known at the time how much work we’d have to put into NIR to keep up, I may have said, “Nah, this is too much effort; let’s just use LLVM.” If I had, I think it would have made the wrong call. o § Applications⠀➾ # ⚓ Here’s_Why_Ksnip_is_My_New_Favorite_Linux_Screenshot_Tool in_2022_–_It’s_FOSS_News⠀⇛ So, I recently upgraded to a dual-monitor setup (1080p + 1440p). While I was excited about the productivity boost by getting things done faster without the need to manage/minimize active windows constantly, there were a few nuances that I came across. To my surprise, Flameshot refused to work. And, for the tutorials or articles I write, a screenshot tool that offers minor editing or annotation capabilities comes in handy. If you have a similar requirement and are confused, the GNOME Screenshot tool is an option that works with multiple screens flawlessly. However, it does not offer annotations. So, I will have to separately open the image using another image editor or Ksnip to make things work. o § Instructionals/Technical⠀➾ # ⚓ How_to_configure_Pure-FTPD_on_Ubuntu/Debian_with_Self Signed_Certificate⠀⇛ In this post, you will learn how to configure Pure- FTPD. Pure-FTPD is a free FTP server which mainly focuses on security. It can be setup really easily within five minutes and it does not take much time or effort to setup. Pure-FTPD offers many features like limiting simultaneous users, Limiting bandwidth on each user to avoid saturation of the network speed, hiding files through permissions and moderating new uploads and content. In this tutorial we will see how to easily configure Pure- FTPD server with Self Signed Certificate File Transfer Protocol (FTP) is a way to receive or transfer data from one server to another. It is a standard communication protocol that enables the transfer or receiving of data over network. For in our case, We can use SFTP protocol for linux servers to transfer files, but if we have to create a FTP server we can use Pure-FTPD # ⚓ How_to_create_and_use_a_Red_Hat_Satellite_manifest⠀⇛ In this multi-part tutorial, we cover how to provision RHEL VMs to a vSphere environment from Red Hat Satellite. Learn how to prepare the Satellite environment in this post. # ⚓ How_to_install_Redmine_on_Ubuntu_20.04_–_NextGenTips⠀⇛ In this tutorial, we are going to learn how to install Redmine on Ubuntu 20.04. Redmine is a free and open-source, web-based project management and issue tracking tool. It allows users to manage multiple projects and associated subprojects. It has project wikis and forums, time tracking, and role-based project controls. # ⚓ How_to_Install_Grafana_on_Rocky_Linux⠀⇛ Grafana is free and open-source analytics and visualization tool. It’s a multi-platform web-based application that provides customizable charts, graphs, and alerts for supported data sources. By default, Grafana supports multiple data sources like Prometheus, Graphite, InfluxDB, Elasticsearc, MySQL, PostgreSQL, Zabbix, etc. It allows you to create an interactive and beautiful dashboard for your application monitoring system. This tutorial will show you how to install Grafana with Nginx as a Reverse Proxy on the Rocky Linux system. # ⚓ How_to_Install_Lighttpd_Web_server_on_CentOS_8⠀⇛ In this post, you will learn how to Install Lighttpd on CentOS 8 Lighttpd is an open-source, secure, fast, flexible, and more optimized web server designed for speed- critical environments with less memory utilization as compared to other web servers. It can handle up to 10,000 parallel connections in one server with effective CPU-load management. Also, It comes with an advanced feature set such as FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting and many more. Lighttpd is an excellent solution for every Linux server, due to its high-speed io- infrastructure that allows us to scale several times better performance with the same hardware than with other alternative web-servers. In this article we will learn how to Install Lighttpd Web server on CentOS 8. # ⚓ How_to_install_flameshot_on_RHEL/CentOS_using_Snapcraft⠀⇛ In this post, you will learn how to install Flameshot on RHEL / CentOS Flameshot is a powerful open source screenshot and annotation tool for Linux, Flameshot has a varied set of markup tools available, which include Freehand drawing, Lines, Arrows, Boxes, Circles, Highlighting, Blur. Additionally, you can customize the color, size and/or thickness of many of these image annotation tools. Snap is a software packaging and deployment system developed by Canonical for operating systems that use the Linux kernel. The packages, called snaps, and the tool for using them, snapd, work across a range of Linux distributions and allow upstream software developers to distribute their applications directly to users. Snaps are self- contained applications running in a sandbox with mediated access to the host system. # ⚓ How_to_Convert_Ubuntu_20.04_In_Zentyal_Firewall⠀⇛ Greeting for the day! We are going to convert Ubuntu 20.04 in Zentyal today. The Server is a very popular OS among Linux admins across the planet. Though Zentyal community edition comes as dedicated os too, I was just testing what if we convert running Ubuntu Machine to the server? The verdict was clear that Servers get ready much quicker in comparison to installing dedicated OS instead. Thought to create a write-up for the same. We have categorized the article into three parts. First, a brief introduction of the server and its features. Second, how to convert Ubuntu into the Server. The third part will be having a conclusion and other views regarding the scenario. # ⚓ 5_ways_to_make_your_Ansible_modules_work_faster_|_Enable Sysadmin⠀⇛ Ansible is a powerful open source tool that helps you automate many of your IT infrastructure operations, from the smallest of tasks to the largest. Ansible has hundreds of modules to help you accomplish your configuration needs, both official and community-developed. When it comes to complex and lengthy workflows, though, you need to consider how to optimize the way you use these modules so you can speed up your playbooks. Previously, I wrote about making your Ansible playbooks run faster. Here are five ways I make my Ansible modules work faster for me. # ⚓ 1_DNS_server_container_Podman_dirty_easy⠀⇛ Linux distributions. So, what is a DNS? A DNS server is a service that helps resolve a fully qualified domain name (FQDN) into an IP address and performs a reverse translation of an IP address to a user-friendly domain name. Why is name resolution important? Computers locate services on servers using IP. However, IPs are not as user-friendly as domain names. It would be a big headache to remember each IP address associated with every domain name. So instead, a DNS server steps in and helps resolve these domain names to computer IP addresses. The DNS system is a hierarchy of replicated database servers worldwide that begin with the “root servers” for the top-level domains (.com, .net, .org, etc.). The root servers point to the “authoritative” servers located in ISPs and large companies that turn the names into IP addresses. The process is known as “name resolution.” Using our www.business.com example, COM is the domain name, and WWW is the hostname. The domain name is the organization’s identity on the Web, and the hostname is the name of the Web server within that domain. Debian DNS server setup can be found the link. # ⚓ Deploy_a_Kubernetes_Cluster_based_on_Calico_and_openSUSE Kubic_–_Hollow_Man’s_Blog⠀⇛ openSUSE Kubic is a certified Kubernetes Distribution based on openSUSE MicroOS. Calico is an open-source project that can be used by Kubernetes to deploy a pod network to the cluster. In this blog, I will show you how to deploy a Kubernetes Cluster based on Calico and openSUSE Kubic by a Virtual Machine. We are going to deploy a cluster that has a master and a worker. I was intended to use Oracle VM VirtualBox. However, it turned out that on my machine, when I tried to run kubeadm at openSUSE Kubic in VirtualBox, it always stuck at watchdog: BUG: soft lockup – CPU#? stuck for xxs! with CPU usage around 100%. As a result, I switched to VMware Workstation Pro and the issue got solved. Guess it’s caused by some bugs of VirtualBox. # ⚓ Qemu_backup_on_Debian_Bullseye_–_Michael_Ablassmeier_–_..⠀⇛ In my last article i showed how to use the new features included in Debian Bullseye to easily create backups of your libvirt managed domains. A few years ago as this topic came to my interest, i also implemented a rather small utility (POC) to create full and incremental backups from standalone qemu processes: qmpbackup The workflow for this is a little bit different from the approach i have taken with virtnbdbackup. While with libvirt managed virtual machines, the libvirt API provides all necessary API calls to create backups, a running qemu process only provides the QMP protocol socket to get things going. o § Games⠀➾ # ⚓ Steam’s_latest_crazy_indie_hit_Vampire_Survivors_is_coming to_Linux_|_GamingOnLinux⠀⇛ The developer of Vampire Survivors, an absolute smash-hit on Steam has confirmed that a Linux version is in the works. Their latest update post mentioned it might be available by the end of the month, if all goes well. Developed by poncle, it arrived on Steam in Early Access for Windows on December 17 – 2021 and suddenly on January 6 – 2022 it starting gathering thousands of players. More arrived each day, and this game of complete chaos suddenly managed to be a total hit with an all-time peak player count of 37,075 and that was only hit yesterday so it’s continuing to grow all the time. On Steam, it’s managed to hit an Overwhelmingly Positive rating too. # ⚓ Prison_Architect:_Perfect_Storm_DLC_and_The_Tower_update get_a_surprise_release_|_GamingOnLinux⠀⇛ Today Paradox Interactive and Double Eleven have done a surprise launch of the Prison Architect: Perfect Storm expansion. Plus, as always for Paradox, there’s a free update out now too called The Tower. So not only do you have to worry about what the inmates have smuggled around but you now also need to look to the skies. No one wants to sit in a freezing cold cell, or have wild rats running across their feet. # ⚓ Steam_Lunar_New_Year_Sale_2022_is_now_live_| GamingOnLinux⠀⇛ Do you feel the need for some new games? Perhaps to continue building up a collection for the upcoming Steam Deck? Now is yet another chance for you with the Steam Lunar New Year Sale 2022. Not only is there a big sale but if you head over to the Points Shop, you’ll also get a new sticker each day too. # ⚓ Gaming_Chromebooks_Running_Steam_Are_Reportedly_On_the Way⠀⇛ Don’t worry, gamers, there will be plenty of RGB lighting. # ⚓ Open_3D_Game_Engine_2111.2_Released_–_Phoronix⠀⇛ In addition to closing in on the Godot 4.0 release, another equally exciting effort in the open-source game engine space is the Open 3D Engine originally from the Amazon Lumberyard code and backed by the Linux Foundation and other organizations. Open 3D Engine 2111.2 is out today as the newest stable point release for this less than one year old open- source game engine effort. Back in December saw the release of O3DE 21.11 as the first major release of this open-source game engine under the Apache 2.0 license. O3DE 2111.2 is the latest in that stable lineage for this game engine. a # ⚓ Release_Notes_for_Open_3D_Engine_2111.2_–_Open_3D_Engine⠀⇛ Open 3D Engine release 2111.2 is a maintenance and quality of life improvement release based on 2111.1. This release is bugfix-only and contains no new features. # ⚓ An_Up-To-Date_Development_Environment_For_The_Nokia_N-Gage |_Hackaday⠀⇛ One of the brave but unsuccessful plays from Nokia during their glory years was the N-Gage, an attempt to merge a Symbian smartphone and a handheld game console. It may not have managed to dethrone the Game Boy Advance but it still has a band of enthusiasts, and among them is [Michael Fitzmayer] who has produced a CMake-based toolchain for the original Symbian SDK. This is intended to ease development on the devices by making them more accessible to the tools of the 2020s, and may serve to bring a new generation of applications to those old Nokias still lying forgotten in dusty drawers. o § Desktop Environments/WMs⠀➾ # § K Desktop Environment/KDE SC/Qt⠀➾ # ⚓ Beginning_with_Season_of_KDE_2022_–_post_#1⠀⇛ I usually learn something between semesters when I have holidays. During September – October 2021, I tried learning some Qt and looking around codebase for KDE apps. But something just didn’t work out. I suspect my leaning style wasn’t correct. # ⚓ KDE_Gear_22.04_release_schedule_finalized⠀⇛ It is available at the usual place https:// community.kde.org/Schedules/ KDE_Gear_22.04_Schedule Dependency freeze is in six weeks (March 10) and Feature Freeze a week after that, make sure you start finishing your stuff! # § GNOME Desktop/GTK⠀➾ # ⚓ ‘Burn_My_Windows’_Added_Some_More_Cool_Animations_on App_Close⠀⇛ Want some cool desktop animations? the ‘Burn My Windows’ extension added some more animation effects for Ubuntu 20.04+, Fedora workstation, and other Linux with GNOME 3.36+. Previously when user clicks to close an app window, the extension applies a burning window down effect. [...] See the short videos for new effects when closing app windows: energizea energizeb Matrix T-Rex-Attack tv- close wisps There’s also new “Broken Glass” effect in upcoming release to shatter your windows into a shower sharp shards! For each animation, there’s a setting page to change the animation speed, scale, color, etc. o § Distributions⠀➾ # ⚓ PETget_now_PKGget⠀⇛ The traditional package manager in Puppy Linux is the “Puppy Package Manager”, often just known as the “PPM”. EasyOS has a derivative of the PPM, named “PETget”. However, I have never been entirely happy with that name, as the package manager can install virtually any type of package — .deb, .rpm. .tgz, .tar.zst, .tar.xz, etc., as well as .pet packages. # ⚓ What_to_expect_in_the_next_release_of_EasyOS⠀⇛ I am posting these thoughts while filling in time. Right now, my main desktop PC is doing a complete recompile in OpenEmbedded. This is now “revision 7″, and the binary packages created will have “-r7″ in their names. # § BSD⠀➾ # ⚓ OPNsense_22.1_released⠀⇛ For more than 7 years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi- language support, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing. 22.1, nicknamed "Observant Owl", features the upgrade to FreeBSD 13, switch to logging supporting RFC 5424 with severity filtering, improved tunable sysctl value integration, faster boot sequence and interface initiation and dynamic IPv6 host alias support amongst others. On the flip side major operating system changes bear risk for regression and feature removal, e.g. no longer supporting insecure cryptography in the kernel for IPsec and switching the Realtek vendor driver back to its FreeBSD counterpart which does not yet support the newer 2.5G models. Circular logging support has also been removed. Make sure to read the known issues and limitations below before attempting to upgrade. Download links, an installation guide[1] and the checksums for the images can be found below as well. # ⚓ OPNsense_22.1_Released_With_This_Open-Source_Firewall Now_Powered_By_FreeBSD_13⠀⇛ OPNsense, the FreeBSD-based firewall/router software stack forked from pfSense, is out with its first major release of 2022. OPNsense has now been going on seven years strong and with OPNsense 22.1 is another big step forward for the BSD router/firewall OS project. OPNsense 22.1 shifts the base package set to the excellent FreeBSD 13. OPNsense 22.1 also features logging improvements, better sysctl tuning integration, faster booting/start-up, and a range of other enhancements. # § IBM/Red Hat/Fedora⠀➾ # ⚓ IBM_Sales_Surge._The_Company’s_Turnaround_May_Be Taking_Hold. [Ed: This is a lie. IBM is collapsing and it offloaded some units to fake growth while laying_off staff. This writer (Eric J. Savitz) has lied for Microsoft too for over a decade [1, 2]. IBM gets fake news published, then links_to_it.]⠀⇛ IBM posted strong results Monday for its fourth quarter, with its best sales growth in more than a decade. The results suggest that CEO Arvind Krishna’s strategy for returning the legacy tech giant to growth is beginning to pay off. # ⚓ When_to_Use_API_Management_and_Service_Mesh_Together –_DevOps.com⠀⇛ I recently chatted with Mark Cheshire, director of product, Red Hat, to discuss the nuances between API management and service mesh. According to Cheshire, API management and service mesh can work quite well side-by- side for particular use cases. For example, a large organization using service mesh could benefit from applying API management that wraps microservices in a usable contract for internal departments. Or, API management could help a company expose specific APIs from the mesh to outside partners. # ⚓ Adopting_open-source_platforms_to_modernize_citizen services_–_StateScoop⠀⇛ States like Tennessee are modernizing their legacy, siloed and on-premises systems to a more integrated and agile infrastructure to keep pace with the digital demands of customers. In an exclusive StateScoop interview, KPMG managing director, advisory Mark Calem, Red Hat chief technologist, North America public sector David Egts and Tennessee Department of Human Services chief information officer Wayne Glaus discuss how states can use open- source platforms to engage with constituents more fully and to improve the digital services they deliver. # ⚓ BU_and_Red_Hat_Announce_First_Research_Incubation Awards_|_BU_Today_|_Boston_University⠀⇛ For almost five years, Boston University and Red Hat, a leading provider of open-source computer software solutions, have collaborated to drive innovative research and education in open-source technology. Now that partnership has announced the first recipients of the Red Hat Collaboratory Research Incubation Awards. (Open source means that the original source code is made available for use or modification by users and developers.) The awards are administered through BU’s Red Hat Collaboratory, housed within the Rafik B. Hariri Institute for Computing and Computational Science & Engineering, and Red Hat Research. “This collaborative model gives us the opportunity to increase the diversity and richness of open engineering and operations projects we undertake together, and also allows us to pursue fundamental research under one umbrella,” says Heidi Picher Dempsey, Red Hat research director, Northeast United States. # ⚓ What_a_C++,_C,_Go_or_Rust_developer_should_know_about RHEL_9⠀⇛ The purpose of this blog is to explain to system developers some of the new C++, C, Go or Rust features in Red Hat Enterprise Linux (RHEL) 9. # ⚓ How_open_managers_can_talk_to_neurodivergent teammates_about_performance⠀⇛ I’ve had many conversations recently that have me looking at a crucial question that impacts neurodivergent corporate employees and their managers: how do we understand, encourage, measure, nurture, and assess the career development of neurodivergent people? Development opportunities, and how managers assess performance, are critical aspects of career growth, financial compensation, morale, feelings of self worth, happiness, employee retention, and the ability of individuals and companies to achieve their goals. And yet, I believe it is something that can be subjective, underappreciated, and under-invested in. As a late-diagnosed autistic person who has had significant anxiety, social phobia, and other mental health conditions for my entire career, and as someone who has been in senior leadership roles, leading hundreds of employees, I’ve thought about this quite a bit. # § Debian Family⠀➾ # ⚓ Gunnar_Wolf•_Progvis_—_Now_in_Debian_proper!_ (unstable)⠀⇛ Progvis finally made it into Debian! What is it, you ask? It is a great tool to teach about memory management and concurrency. # § Canonical/Ubuntu Family⠀➾ # ⚓ Telco_workloads_orchestration_in_multi-clouds environments_–_focus_for_Open_Source_MANO_release ELEVEN_|_Ubuntu⠀⇛ Open source MANO release ELEVEN is here with another set of exciting features for the telco world!! # ⚓ Vanilla’s_accessibility_documentation_process_| Ubuntu⠀⇛ Following on from our previous post about accessibility by design, we’d like to share our accessibility documentation process here in the Web & Design team. In the Vanilla squad, we work hard to make sure the Vanilla framework is as accessible as possible. We don’t claim to be perfect, but accessibility is a real priority to us and we’re continuously trying to improve. We’ve recently started writing some accessibility docs to go alongside our components. They outline how the components work, and any important accessibility considerations to note in implementation. # ⚓ SD_Times_news_digest:_Canonical_announces_Charmed Kubeflow_updates;_CodeLogic_unveils_new_plugin_for JetBrains’_IntelliJ_IDEA;_First_preview_of_.NET Community_Toolkit_v8.0.0_–_SD_Times⠀⇛ The team at Canonical, the provider of Ubuntu, today announced the release of the MLOps platform, Charmed Kubeflow 1.4. With this, data science teams are empowered to collaborate on AI/ML innovation from concept to production on any cloud. The solution is free to use and can be deployed in any environment without constraints, paywall, or restrictive features. This release brings users a centralized, browser-based MLOps platform that runs effectively on any conformant Kubernetes. o § Devices/Embedded⠀➾ # ⚓ Allwinner_F1C100s_handheld_computer_should_cost_$15_to manufacture⠀⇛ Brian Benchoff’s “minimum viable computer’” is a Linux handheld computer powered by an Allwinner F1C100s ARM9 processor that could fit into your pocket and should cost about $15 (BoM cost) to manufacture in quantity. The open-source hardware Linux “computer” comes with 32MB or 64MB RAM, a 2.3-inch color display, a 48-key keyboard, a USB port, and is powered by two AAA batteries. Don’t expect a desktop environment, but it can run a terminal to execute scripts, or even run Doom. # ⚓ India’s_government_may_foster_home-grown_mobile_OS_•_The Register⠀⇛ India’s minister of state for Electronics and IT Rajeev Chandrasekhar has revealed the nation’s government intends to develop a policy that will encourage development of an “indigenous mobile operating system”. Speaking at the launch of a policy vision for Indian tech manufacturing, Chandrasekhar said India’s Ministry of Electronics and Information Technology believes the market could benefit from an alternative to Android and iOS and could “even create a new handset operating system” to improve competition, according to the Press Trust of India. “We are talking to people. We are looking at a policy for that,” Chandrasekhar told local media, adding that start-ups and academia are being considered as likely sources of talent and expertise to build the OS. “If there is some real capability then we will be very much interested in developing that area because that will create an alternative to iOS and Android which then an Indian brand can grow,” he added. The minister offered no timeframe for a decision on whether to proceed with the policy, nor the level of assistance India’s government might provide. Nor did he say much to suggest he knows that past attempts to create alternative mobile operating systems, or national operating systems, have cratered. Even Microsoft, famously, failed to make an impact with Windows Phone despite throwing billions at the OS and acquiring Nokia to ensure supply of handsets to run it. Mozilla’s Firefox OS was discontinued after efforts to crack India’s mobile market with low-cost devices failed. The Linux Foundation’s Tizen hasn’t found a lot of love. # ⚓ Reverse_engineering_an_’80s_NeXT_keyboard_|_Arduino_Blog⠀⇛ Working with vintage computer technology can feel a bit like the digital equivalent of archeology. Documentation is often limited or altogether absent today — if it was ever even public in the first place. So you end up reverse engineering a device’s functionality through meticulous inspection and analysis. Spencer Nelson has a vintage NeXT keyboard from the ’80s and wanted to get it working with modern computers via USB. To make that happen, he reverse engineered the protocol and used an Arduino as an adapter. NeXT was a computer company founded by Steve Jobs in the ’80s, in the period after he left Apple. A little over ten years later, Apple bought NeXT and Jobs rejoined the company. NeXT only released a few computers, but they are noteworthy and desirable to collectors. This particular keyboard is from 1988 and worked with the first generation NeXT Computer. Unlike modern keyboards that share the USB protocol, keyboards from this era utilized proprietary protocols. This particular model had an enigmatic protocol that Nelson became obsessed with deciphering. # ⚓ Reverse_Engineering_The_NeXT_Computer_Keyboard_Protocol_| Hackaday⠀⇛ The NeXT computer was introduced in 1988, with the high-end machine finding favor with universities and financial institutions during its short time in the marketplace. [Spencer Nelson] came across a keyboard from one of these machines, and with little experience, set about figuring out how it worked. The keyboard features a type of DIN connector and speaks a non-ADB protocol to the machine, but [Spencer] wanted to get it speaking USB for use with modern computers. First attempts at using pre- baked software found online to get the keyboard working proved to be unreliable. [Spencer] suspected that the code, designed to read 50 microsecond pulses from the keyboard, was miscalibrated. # ⚓ [Older]_Device_neutrality_coming_to_Europe?_|_Stop_at_Zona- M⠀⇛ The EU Parliament, says FSFE, missed the chance to introduce strong requirements for interoperability based on Open Standards: “This is a lost chance to leverage competition with accessible and non- discriminatory technical specifications [that would allow] market actors to innovate on top of technical specification standards and build their own services”. However, things look better than they did before for digital and consumer rights in EU, and let’s hope, as FSFE puts it, that getting Device Neutrality in european legislations does become the first step towards real digital interoperability of digital products and services. I mean, we have already endured too much idiocy likke this around non-interoperable electronic components like, haven’t we? # ⚓ The_SHA2017_Badge_Just_Keeps_On_Giving,_This_Time_It’s_A Solar_Monitor_|_Hackaday⠀⇛ The SHA badge used an ESP32 as its processor, and paired it with a touch keypad and an e-ink screen. Its then novel approach of having a firmware that could load MicroPython apps laid the groundwork for the successful open source badge.team firmware project, meaning that it remains versatile and useful to this day. # ⚓ Recreating_MS_Paint_For_The_ESP32⠀⇛ Microsoft Paint was one of the first creative outlets for many children when they first laid hands on a computer in the 1990s. Now, [Volos Projects] has brought the joy of this simple application to a more compact format on the ESP32! # ⚓ Apollo_Lake_edge_AI_mini-PCIe_offers_up_to_two_Myriad_X VPUs⠀⇛ Nexcom’s Linux-ready “AIEdge-X 100-VPU” edge AI mini-PC combines an Apollo Lake SoC with up to 2x Myriad X VPUs. Key specs include 2x GbE, 2x HDMI 2.0, 2x USB 3.0, and an M.2 M-key slot. The fanless, 179.5 x 106 x 37mm AIEdge-X 100-VPU, which follows other AIEdge-X systems such as Nexcom’s larger, 9th Gen Coffee Lake powered AIEdge-X 300, is primarily designed for smart retail applications such as smart signage, automated checkout machines, QSRs (Quick Service Restaurants), drive-thru kiosks, and endless aisles, which refers to online shopping from a brick-and-mortar store. Other applications include license plate recognition, body temperature checking, transit kiosks, and other smart city and edge AI tasks. # ⚓ Coreboot_Merges_Support_For_Intel’s_Arm-Based_PSE_Offload Engine_–_Phoronix⠀⇛ As of yesterday Intel’s contributed Programmable Services Engine “PSE” support has been merged into mainline Coreboot for supporting this Arm-based dedicated offload engine found within select Intel processors. # ⚓ Turn_On_Sarcasm_With_the_Flip_Of_a_Switch⠀⇛ Sarcasm is notoriously difficult to distinguish in online communities. So much, in fact, that a famous internet rule called Poe’s Law is named after the phenomenon. To adapt, users have adopted several methods for indicating implied sarcasm such as the /s tag, but more recently a more obvious sarcasm indicator has appeared that involves random capitalization througout the sarcastic phrase. While this looks much more satisfying than other methods, it is a little cumbersome to type unless you have this sarcasm converter for your keyboard. The device, built by [Ben S], is based around two Raspberry Pi Pico development boards and sits between a computer and any standard USB keyboard. The first Pi accepts the USB connection from the keyboard and reads all of the inputs before sending what it reads to the second Pi over UART. If the “SaRcAsM” button is pressed, the input text stream is converted to sarcasm by toggling the caps lock key after every keystroke. # ⚓ Reject_Modernity;_Return_To_Tamagotchi_|_Hackaday⠀⇛ Browsing through the recent projects on Hackaday.io, we’ve found this entry by [NanoCodeBug]: a single-PCB low-power trinket reviving the “pocket pet” concept while having some fun in the process! Some serious thought was put into making this device be as low-power as possible – with a gorgeous Sharp memory LCD and a low-power- friendly SAMD21, it can run for two weeks on a pair of mere AAA batteries, and possibly more given a sufficiently polished firmware. The hardware has some serious potential, with the gadget’s platform lending itself equally well to Arduino or CircuitPython environments, the LCD being overclock-able to 30 FPS, mass storage support to enable pet transfer and other PC integrations, a buzzer for all of your sound needs, and an assortment of buttons to help you create mini-games never seen before. [NanoCodeBug] has been working on the hardware diligently for the past month, having gone through a fair few revisions – this is shaping up to be a very polished gadget! # ⚓ Remoticon_2021_//_Voja_Antonic_Makes_You_A_Digital_Designer |_Hackaday⠀⇛ [Voja Antonic] has been building digital computers since before many of us were born. He designed with the Z80 when it was new, and has decades of freelance embedded experience, so when he takes the time to present a talk for us, it’s worth paying attention. For his Remoticon 2022 presentation, he will attempt to teach us how to become a hardware expert in under forty minutes. Well, mostly the digital stuff, but that’s enough for one session if you ask us. [Voja] takes us from the very basics of logic gates, through combinatorial circuits, sequential circuits, finally culminating in the description of a general-purpose microprocessor. # ⚓ Robotic_Xylophone_Makes_Music_with_MIDI_Magic⠀⇛ The MIDI format has long been used to create some banging electronic music, so it’s refreshing to see how [John P. Miller] applied the standard in his decidedly analog self-playing robotic xylophone. Framed inside a fetching Red Oak enclosure, the 25- key instrument uses individual solenoids for each key, meaning that it has no problem striking multiple bars simultaneously. This extra fidelity really helps in reproducing the familiar melodies via the MIDI format. The tracks themselves can be loaded onto the device via SD card, and selected for playback with character LCD and rotary knob. The software transposes the full MIDI music spectrum of a particular track into a 25-note version compatible with the xylophone. Considering that a piano typically has 88 keys, some musical concessions are needed to produce a recognizable playback, but overall it’s an enjoyable musical experience. # ⚓ The_Eclipse_Oniro_Project_aims_to_deliver_consumer_&_IoT software_that_works_across_multiple_operating_systems_–_CNX Software⠀⇛ So basically I understand Oniro aims to provide a vendor-agnostic platform to develop software that runs on various operating systems and hardware in order to reduce fragmentation in the consumer and IoT device industry. I will not insert an xkcd meme here, but you know what I mean. Right now, Oniro relies on the Poky/Yocto Project build system and supports three operating systems with Linux, ZephyrOS, and FreeRTOS allowing it to be used in application processors and microcontrollers. o § Free, Libre, and Open Source Software⠀➾ # ⚓ Libre_Arts_–_Weekly-ish_recap_—_26_January_2021⠀⇛ Highlights: new releases of Scribus, Flameshot, Surge, ZynAddSubFX, Zrythm, Giada; Audacity resurrects real-time effects, Ardour gets cue markers. # § Events⠀➾ # ⚓ Brian_Kernighan_on_the_origins_of_Unix⠀⇛ Once again, the COVID pandemic has forced linux.conf.au to go virtual, thus depriving your editor of a couple of 24-hour, economy- class, middle-seat experiences. This naturally leads to a set of mixed feelings. LCA has always put a priority on interesting keynote talks, and that has carried over into the online event; the opening keynote for LCA 2022 was given by Brian Kernighan. Despite being seen as a founder of our community, Kernighan is rarely seen at Linux events; he used his LCA keynote to reminisce for a while on where Unix came from and what its legacy is. He began by introducing Bell Labs, which was formed by US telecommunications giant AT&T to carry out research on how to improve telephone services. A lot of inventions came out of Bell Labs, including the transistor, the laser, and fiber optics. Such was the concentration of talent there that, at one point, Claude Shannon and Richard Hamming shared an office. Kernighan joined Bell Labs in 1967, when there were about 25 people engaged in computer-science research. Early on, Bell Labs joined up with MIT and General Electric to work on a time-sharing operating system known as Multics. As one might have predicted, the attempted collaboration between a research lab, a university, and a profit-making company did not work all that well; Multics slipped later and later, and Bell Labs eventually pulled out of the project. That left two researchers who had been working on Multics — Ken Thompson and Dennis Ritchie — without a project to work on. After searching for a machine to work on, Thompson eventually found an old PDP-7, which was already obsolete at that time, to do some work on filesystem design. The first Unix- like system was, in essence, a test harness to measure filesystem throughput. But he and Ritchie later concluded that it was something close to the sort of timesharing system they had been trying to build before. This system helped them to convince the lab to buy them a PDP-11/20 for further development. [Brian Kernighan] The initial plan was to create a system for document processing, with an initial focus of, inevitably, preparing patent applications. The result was “recognizably Unix” and was used to get real work done. # § SaaS/Back End/Databases⠀➾ # ⚓ Top_10_features_of_MongoDB_Atlas_|_FOSS_Linux⠀⇛ MongoDB is a NoSQL general-purpose document- oriented database that is free to use. It is a scalable, versatile NoSQL document database platform built to overcome the constraints of previous NoSQL solutions and the approach of relational databases. It helps the user store and deals with an enormous amount of data. MongoDB’s horizontal scaling and load balancing capabilities have given application developers unprecedented flexibility and scalability. There are different MongoDB editions; however, we will focus on MongoDB Atlas in this article. MongoDB Atlas is a multi-cloud database service created by the MongoDB team. Atlas makes it easy to deploy and manage databases while also giving users the flexibility they need to develop scalable, high-performance global applications on the cloud providers of their choice. It is the world’s most popular cloud database for modern applications. Developers can use Atlas to deploy fully managed cloud databases on AWS, Azure, or Google Cloud. Developers can relax easily knowing that they have rapid access to the availability, scalability, and compliance they need for enterprise-level application development. # ⚓ Node-firebird-driver-native_version_2.4.0_has_been released_with_a_few_features_added.⠀⇛ Node-firebird-driver-native version 2.4.0 has been released with a few features added. # ⚓ Rqlite_7.0_Released_For_Distributed_Relational Database_Built_Atop_SQLite_–_Phoronix⠀⇛ Rqlite 7.0 is now available as a lightweight, distributed relational database. This open- source database system for cluster setups is built atop SQLite while aiming to be easy-to- use and fault-tolerant. # ⚓ PostgreSQL:_Announcing_the_release_of_AgensGraph 2.5⠀⇛ The AgensGraph Development Team are pleased to announce the release of AgensGraph v2.5. AgensGraph is a new generation multi-model graph database for the modern complex data environment. AgensGraph is a multi-model database, which supports the relational and graph data model at the same time that enables developers to integrate the legacy relational data model and the flexible graph data model in one database. AgensGraph supports ANSI-SQL and openCypher (http:// www.opencypher.org). SQL queries and Cypher queries can be integrated into a single query in AgensGraph. AgensGraph is based on the powerful PostgreSQL RDBMS, and is very robust, fully- featured and ready for enterprise use. AgensGraph is optimized for handling complex connected graph data and provides plenty of powerful database features essential to the enterprise database environment including ACID transactions, multi-version concurrency control, stored procedure, triggers, constraints, sophisticated monitoring and a flexible data model (JSON). Moreover, AgensGraph leverages the rich eco-systems of PostgreSQL and can be extended with many outstanding external modules, like PostGIS. For more details please see the release notes. # ⚓ PostgreSQL:_Announcing_the_release_of_Apache_AGE (incubating)_0.6.0⠀⇛ Apache AGE(incubating) is a PostgreSQL extension that provides graph database functionality. AGE is an acronym for A Graph Extension, and is inspired by Bitnine’s fork of PostgreSQL 10, AgensGraph, which is a multi-model database. The goal of the project is to create single storage that can handle both relational and graph model data so that users can use standard ANSI SQL along with openCypher, the Graph query language. # ⚓ Apache_Kafka_3.1_opens_up_data_streaming_for analytics⠀⇛ Apache Kafka is continuing to build out its event data streaming technology platform as the open source project moves forward. Apache Kafka 3.1 became generally available on Jan. 24, providing users of the open source event streaming technology with a series of new features. Organizations use Kafka to enable real-time data streams that can be used for operations, business intelligence and data analytics. Kafka is a developed by an open source community of developers that includes Confluent, an event streaming vendor that provides a commercial platform for Kafka, as well as Red Hat, which has a managed Kafka service. Gartner analyst Merv Adrian said he looks at Kafka as a data source that feeds a database. “More uses and users are moving upstream to engage with data in motion, before it comes to rest, and Kafka and its adjacent technologies are moving to capture share of that business,” Adrian said. # § Productivity Software/LibreOffice/Calligra⠀➾ # ⚓ Nibble_Stew:_Building_a_part_of_LibreOffice_on Windows_using_only_Meson_and_WrapDB⠀⇛ In earlier posts (starting from this one) I ported LibreOffice’s build system to Meson. The aim has not been to be complete, but to compile and link the main executables. On Linux this is fairly easy as you can use the package manager to install all dependencies (and there are quite a few of them). [...] It does on my machine. It probably won’t do so on yours. Some of the deps I used could not be added to WrapDB yet or are missing review. If you want to try, the code is here. The problematic (from a build system point of view) part of compiling an executable and then running it to generate source code for a different target works without problems. In theory you should be able to generate VS project files and build it with those, but I only used Ninja because it is much faster. # ⚓ Regression_fix:_Missing_lines_in_docx⠀⇛ Interoperability is a very important aspect of the LibreOffice. Today, LibreOffice can load and save various file formats from many different office applications from different companies across the world. But bugs (specially regression bugs) are inevitable parts of every software. There are situations where the application does not behave as it should, and a developer should take action and fix it, so that it will behave according to the expectation of the user. What if you encounter a bug in LibreOffice, and how does a developer fix the problem? Here we discuss the steps needed to fix a bug. In the end, we provide a test and make sure that the same problem does not happen in the future. [...] The bug reporter should carefully describe the “actual results” and why it is different from the “expected results”. This is also important because the desired software’s behavior is not always as obvious as it seems to be for the bug reporter. Let’s talk about a recently fixed regression bug: The “NISZ LibreOffice Team” reported this bug. The National Infocommunications Service Company Ltd. (NISZ) has an active team in LibreOffice development and QA. # § FSF⠀➾ # ⚓ Chile_citizens:_Support_these_constitutional proposals_for_free_software_and_user_privacy_by_Feb_1⠀⇛ Chile is in the midst of governmental changes, and with these changes comes the opportunity for the people of Chile to make their voices heard for long-term benefits to their digital rights and freedoms. Chilean activists have submitted three constitutional proposals relating to free software and user freedom, but they need signatures in order to have these proposals submitted to the constitutional debate. We encourage free software community members in Chile to have a look at these proposals, and sign those that uphold digital freedom and autonomy. The deadline for collecting signatures is February 1st. Some further explanation and other information gathered by one of our community members, Felix Freeman, is included below. The English version of Felix’s message is provided below. # § GNU Projects⠀➾ # ⚓ GNU_poke_2.0_released⠀⇛ I am happy to announce a new major release of GNU poke, version 2.0. This release is the result of a full year of development. A lot of things have changed and improved with respect to the 1.x series; we have fixed many bugs and added quite a lot of new exciting and useful features. See the complete release notes at https://jemarch.net/poke-2.0- relnotes.html for a detailed description of what is new in this release. We have had lots of fun and learned quite a lot in the process; we really wish you will have at least half of that fun using this tool! # § Programming/Development⠀➾ # ⚓ Python_sets,_frozensets,_and_literals⠀⇛ A Python “frozenset” is simply a set object that is immutable—the objects it contains are determined at initialization time and cannot be changed thereafter. Like sets, frozensets are built into the language, but unlike most of the other standard Python types, there is no way to create a literal frozenset object. Changing that, by providing a mechanism to do so, was the topic of a recent discussion on the python-ideas mailing list. [...] In the end, this “feature” would not be a big change, either in CPython, itself, or for the Python ecosystem, but it would remove a small wart that might be worth addressing. Consistency and avoiding needless work when creating a literal frozenset both seem like good reasons to consider making the change. Whether a Python Enhancement Proposal (PEP) emerges remains to be seen. If it does, no major opposition arises, and the inevitable bikeshed-o-rama over its spelling ever converges, it just might appear in an upcoming Python—perhaps even Python 3.11 in October. # ⚓ Terraform_For_Each_Loop_Examples_–_buildVirtual⠀⇛ The Teraform for each meta argument allows you to use a map or a set of strings to deploy multiple similar objects (such as virtual machines) without having to define a separate resource block for each one. This is great for making our Terraform plans more efficient! Note: for_each was added in Terraform 0.12.6, and support for using it with Terraform modules was added in 0.13. Let’s go straight into looking at some examples of how to use Terraform for each loops. # ⚓ Strange_Computer_Languages:_A_Hacker’s_Field_Guide_| Hackaday⠀⇛ Why do we build radios or clocks when you can buy them? Why do we make LEDs blink for no apparent purpose? Why do we try to squeeze one extra frame out of our video cards? We don’t know why, but we do. That might be the same attitude most people would have when learning about esolangs — esoteric programming languages — we don’t know why people create them or use them, but they do. We aren’t talking about mainstream languages that annoy people like Lisp, Forth, or VBA. We aren’t talking about older languages that seem cryptic today like APL or Prolog. We are talking about languages that are made to be… well… strange. # § Perl/Raku⠀➾ # ⚓ Perl_Weekly_Challenge_149:_Fibonacci_Digit_Sum and_Largest_Square⠀⇛ # ⚓ My_Favorite_Warnings:_precedence_|_Tom_Wyant_ [blogs.perl.org]⠀⇛ Perl possesses a rich and expressive set of operators. So rich, in fact, that other adjectives can come to mind, such as prolix, or even Byzantine. Requests for help navigating Perl’s operator space appear repeatedly on outlets such as PerlMonks. These seem to me to involve two sorts of confusion: precedence (discussed here) and functionality (string versus numeric — maybe another blog post). The precedence warnings category has some help here, though as of Perl 5.34 there are only two diagnostics under it: # § Rust⠀➾ # ⚓ Niko_Matsakis:_Panics_vs_cancellation,_part_1⠀⇛ One of the things people often complain about when doing Async Rust is cancellation. This has always been a bit confusing to me, because it seems to me that async cancellation should feel a lot like panics in practice, and people don’t complain about panics very often (though they do sometimes). This post is the start of a short series comparing panics and cancellation, seeking after the answer to the question “Why is async cancellation a pain point and what should we do about it?” This post focuses on explaining Rust’s panic philosophy and explaining why I see panics and cancellation as being quite analogous to one another. * § Leftovers⠀➾ o ⚓ Building_Switching_Points_For_A_Backyard_Railway_|_Hackaday⠀⇛ A home-built railway is one of the greatest things you could possibly use to shift loads around your farm. [Tim] and [Sandra] of YouTube channel [Way Out West] have just such a setup, but they needed some switching points to help direct carriages from one set of rails to another. Fabrication ensued! o § Science⠀➾ # ⚓ Study_gives_more_evidence_that_certain_high-tech_utopias are_utopias_|_Stop_at_Zona-M⠀⇛ In standardized accountings of trade, money and materials flow in opposite directions. But when embodied resources are considered, net flows of money and resources goes in the same direction. The overall result is that “Rich nations accomplish a net appropriation of materials, energy, land, and labor”. And what is really interesting (not because it is new, but because how it is backed and quantified by data) is the final implication: [Regardless of moral and ethics issues] “we cannot all grow. Since this growth-based model of development requires the appropriation of resources from poorer regions, it seems illusory for all poorer nations to be able to catch-up”, and if those countries must develop, the richer ones have to give up something. # ⚓ Jukebox_Electromechanical_Automation_Explained_|_Hackaday⠀⇛ If you ever been curious how old-school jukeboxes work, it’s all electromechanical and no computers. In a pair of videos, [Technology Connections] takes us through a detailed dive into the operation of a 1970 Wurlitzer Statesman model 3400 that he bought with his allowance when he was in middle school. This box can play records at either 33-1/3 or 45 RPM from a carousel of 100 discs, therefore having a selection of 200 songs. This would have been one of the later models, as Wurlitzer’s jukebox business was in decline and they sold the business in 1973. [...] External appearances aside, it’s the innards of this mechanical wonder that steal the show. The mechanism is known as the Wurlamatic, invented by Frank B. Lumney and Ronald P. Eberhardt in 1967. Check out the patent US3690680A document for some wonderful diagrams and schematics that are artwork unto themselves. o § Hardware⠀➾ # ⚓ Upgrading_A_Soviet_Calculator_With_A_Modern_CPU_| Hackaday⠀⇛ Today’s supply chain issues can make it hard to buy microcontrollers, or really any kind of semiconductor. But for those keeping retrocomputers alive, this problem has always existed: ancient components might have been out of production for decades, with a dwindling supply of second-hand parts or “new old stock” as the only option. If a rare CPU breaks, you might have no option but to replace the entire computer. [Piotr Patek] ran into this issue when he obtained an Elektronika MK-85 programmable calculator with a broken CPU. Unable to find a replacement, he decided instead to build a pin-compatible CPU unit based on an STM32 microcontroller. Of course no modern CPU is pin-compatible with a Soviet design from the 1980s, so [Piotr] had to design a small interposer PCB to match the original pinout. This also gave him enough space to add an efficient DC/ DC converter chip that generates the 2.5 V supply for the STM32. o § Health/Nutrition/Agriculture⠀➾ # ⚓ Better_Farming_Through_Electricity_|_Hackaday⠀⇛ Chinese researchers are reporting that applying an electric field to pea plants increased yields. This process — known as electroculture — has been tested multiple times, but in each case there are irregularities in the scientific process, so there is still an opportunity for controlled research to produce meaningful data. This recent research used two plots of peas planted from the same pods. The plants were tended identically except one plot was stimulated by an electric field. The yield on the stimulated plot was about 20% more than the control plot. o § Integrity/Availability⠀➾ # § Proprietary⠀➾ # § Pseudo-Open Source⠀➾ # § Privatisation/Privateering⠀➾ # § Linux Foundation and OSI⠀➾ # ⚓ Why_you_want_labels_for_software, just_like_for_food⠀⇛ Here is my own synthesis, as simple as possible, of a much geekier post about a very geeky concept that, in an age where so much depends on how software is used AROUND you, becomes every year more important for everybody. A Software Bill of Materials (SBOM) is becoming an increasingly expected requirement from software releases. Reading through blog posts and social media, there still seems that some confusion persists about what an SBOM can/could do for your project. # ⚓ The_Linux_Foundation_makes_record progress_in_addressing_talent shortages⠀⇛ The Linux Foundation summarises the progress made in 2021 towards its goal of ensuring anyone can start an open-source technology career. # ⚓ EV_charging_software_goes_open source_with_Project_Everest [Ed: There is no such this as "the Linux open-source foundation"; this is greenwashing and openwashing all-in- one]⠀⇛ The development and expansion of the EV charging software ecosystem is a critical component to the mainstream adoption of electric vehicles. However, the industry has become complex and fragmented, with multiple isolated solutions and inconsistent technology standards. This slows and threatens the adoption of EVs. In response, PIONIX has developed a project called EVerest, an open-source software stack designed to establish a common base layer for a unified EV charging ecosystem. EVerest has gained some serious cred in the developer world, with its biggest support LF Energy (the Linux open-source foundation for the power systems sector). I spoke to the project’s brainchild, Dr. Marco Möller, managing director of PIONIX, to find out more. # ⚓ Spotlight_on_Libre_Space Foundation,_OSI_Associate_Member⠀⇛ Did you know that one of OSI’s members is leading the effort to take open source to infinity and beyond?! Libre Space Foundation (LSF) is a non- profit foundation registered in Greece whose vision is “an Open and Accessible Outer Space for all.” The organization works to promote, advance and develop free and open source technologies and knowledge for space. Recently, Libre Space Foundation, on behalf of the OpenSatCom.org activity of the European Space Agency, partnered with Inno3 to investigate open source development models in the satellite communications industry and share their findings in a report. As the authors explain, “..the SATCOM industry has been traditionally multiple vertical ecosystems and moved towards some standardization (through efforts like CCSDS, ECSS, DVB, etc.) on various of its parts. Yet it is far from an Open Ecosystem and specific actions should be taken to explore this direction for the benefit of the SATCOM industry.” # § Security⠀➾ # ⚓ Apple_Releases_Security_Updates_for_Multiple Products⠀⇛ An attacker could exploit some of these vulnerabilities to take control of an affected system. # ⚓ Why_Security_in_Kubernetes_Isn’t_the_Same_as_in Linux:_Part_1_|_MarketScreener⠀⇛ The risks of a Kubernetes (K8s) deployment are actually the same as in traditional Linux servers. # ⚓ Do_you_need_pkexec_and_polkit_on_a_WM?_NO!_CVE- 2021-4034⠀⇛ Thanks to Somewhat Reticent for being always on alert and contributing: Do you need pkexec and polkit on a WM? NO! CVE-2021-4034 Not unless you want some automated menu and icons to click on and use various user/root rights to execute a gui! Otherwise you are “safe“. Don’t think because RH is reporting this the only affected parties are RHEL users, anyone who uses their systemd elogind and polkit derivatives are equally affected. But gksu/gksudo was insecure and had to be erased from nearly every distro that is an IBM “client”. # ⚓ Bug_bounties:_finding_and_fixing_security_holes with_European_Commission_funds_–_The_Document Foundation_Blog⠀⇛ Free and open source software (FOSS) is about much more than driving costs down, in some cases even down to zero – it’s about giving control back to users, developers and even nations. With FOSS, everyone gains the freedom to study, improve and share the software – and to use it whenever and wherever they want, without being restricted by vendor lock-in strategies. FOSS has been widely used amongst government bodies and public services, so thanks to the coordination of their recently formed Open Source Programme Office (OSPO), the European Commission has started a series of hackathon and “bug bounty” programmes to help selected projects find (and potentially fix) security issues. # ⚓ CVE-2021-4034_–_Ariadne’s_Space⠀⇛ Before we get into this, I have seen a lot of people on Twitter blaming systemd for this vulnerability. It should be clarified that systemd has basically nothing to do with polkit, and has nothing at all to do with this vulnerability, systemd and polkit are separate projects largely maintained by different people. We should try to be empathetic toward software maintainers, including those from systemd and polkit, so writing inflammatory posts blaming systemd or its maintainers for polkit does not really help to fix the problems that made this a useful security vulnerability. # ⚓ Windows_ransomware_LockBit_makes_the_jump_to Linux [Ed: Pro-Windows site. Misses the point that over_90%_of_ransomware_is_a_Windows problem.]⠀⇛ First, they came for Windows. Then, for Tux. As cool as Linux is, it’s increasingly becoming a target for ransomware-friendly cyber criminals intent on ruining people’s days. # ⚓ These_critical_security_bugs_put_Linux_servers at_risk_of_attack [Ed: Attack from the inside maybe; you need to actually have an account on such machines to begin with... compare to Windows with remotely-exploitable full compromise bugs/ back doors]⠀⇛ # ⚓ Patch_Now:_A_newly_discovered_critical_Linux vulnerability_probably_affects_your_systems⠀⇛ # ⚓ Experts_Urge_Firms_to_Patch_Trivial-to-Exploit Flaw_in_Linux_PolicyKit⠀⇛ # ⚓ IoT_security_certification_group_gains_steam [Ed: Another fake security consortium? Their shoddy products might be best off avoided altogether, as there's rarely a practical need for such gimmicks.]⠀⇛ The ioXT Alliance, which offers a certification program for IoT security, announced it has certified 195 products and grown to 580 members. Meanwhile, Timesys is seeking participants for a survey on IoT security. # § Privacy/Surveillance⠀➾ # ⚓ The_best_and_the_worst_in_2022:_data protection_laws_across_the_world⠀⇛ Don’t look up. From catastrophic data breaches, to spyware attacks that haunt people with the specter of their own private communications, to the routine exploitation of our personal data for profit and political manipulation, privacy violations have become daily news. None of this will stop until we do something about it. On Data Protection Day 2022, we are urging governments around the world to take action to prevent rampant data violations. To do so, they must enact and strongly enforce data protection laws. Data protection laws are a critical tool to ensure minimum rules are in place to safeguard our personal information online and offline. The European Union was one of the first movers, establishing a data protection framework in the ‘90s, and working continuously to improve it. Other countries followed suit. Brazil and Ecuador are among the latest to pass strong, modern data protection laws. Other countries are lagging behind, and despite constant privacy scandals, some have no comprehensive data protection laws at all. Others have passed promising laws, but ignore them. Even where strong laws exist, enforcing them is proving harder than expected. Here’s a look at countries with some of the best and worst data protection laws in 2022. # ⚓ Reclaim_your_face!_Now_|_Stop_at_Zona-M⠀⇛ If you don’t, it will be used against you. Maybe already it is. There is evidence that biometric mass surveillance in EU Member States and by EU agencies has already resulted in violations of EU data protection law, and unduly restricted people’s rights including their privacy, right to free speech, right to protest and not to be discriminated against. That is why you must “reclaim your face”! o § Environment⠀➾ # ⚓ The_unsustainable_dumbness_of_“smart”_recycling_|_Stop_at Zona-M⠀⇛ Because innovation, of course. According to the Washington Post and to this summary there is a startup throwing money and human ingenuity to tackle “a flaw in our waste management systems that many people probably aren’t aware of.” Lasso Loop, the story says, is developing “a hefty home appliance machine that automatically sorts and breaks down the recyclables you toss inside it”. # § Energy⠀➾ # ⚓ There_is_only_one_problem_with_these_electrification strategies_|_Stop_at_Zona-M⠀⇛ … it’s their “Business as Usual” foundation. [...] If none of those issues existed, it would indeed become physically and geopolitically feasible to replace all the ” fossil fuel- burning machines [i.e. ALL] Power plants, cars, and trucks, HVAC systems, stoves, roofs, etc [of TODAY]” with the same number of the same things, just electric. If none of those issues existed, every owner of a car or a single-family home with disposable income left could follow advice like “make your next car electric, turn your home into a big battery”. As reality stands today, instead… first, most people who don’t fit that profile today may never become part of the mass market that certain strategies would need to function IF they were feasible. Second, I have a strong feeling that in the next years a non-negligible number of people who do fit that profile today will find advice like “move to an apartment building properly served by public transit” much more interesting, if not the only alternative still affordable, than “keep owning a car and a single-family home”. What will happen of certain strategies then? o § Finance⠀➾ # ⚓ Digital_Services_and_Tools_Fuel_Fastest_GDP_Growth_Since 1984 [Ed: Fake economy and "growth" delusion? What grew? Wall Street?]⠀⇛ Today’s GDP report showed that the U.S. economy grew by 5.7% in 2021, the most robust economic growth since 1984. The crucial role of digital technology in this rebound is not doubted. Digital services and tools empowered the recovery by giving Americans more choices than ever before to more safely get back to work, school, shopping, and leisure. New digital- enabled options like remote work, remote classes, and contactless shopping options like buy online, pickup in-store/curbside and home delivery sparked this positive growth, despite ongoing pandemic challenges. Digital services and tools have been essential to carry small and medium-sized businesses (SMBs) through the pandemic, helping them connect with both workers and customers alike. By utilizing both new and existing digital tools, businesses were able to rapidly expand contactless shopping, dining, and entertainment options. For example, retailers rapidly expanded omnichannel offerings, allowing consumers to safely shop from home and choose whether to pick up their orders curbside in front of physical stores or have their orders delivered to their homes. ䷩ 𝚕𝚒𝚗𝚎 6958 ╒═══════════════════ 𝐃𝐀𝐈𝐋𝐘 𝐋𝐈𝐍𝐊𝐒 ═════════════════════════════════════════════╕ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.27.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Links_27/1/2022:_Mabox_Linux_21.11_Herbolth_and_PipeWire_0.3.44⠀✐ Posted in News_Roundup at 6:30 am by Dr. Roy Schestowitz 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇GNOME bluefish⦈ § Contents⠀➾ * GNU/Linux o Distributions o Devices/Embedded * Free_Software/Open_Source * Leftovers * § GNU/Linux⠀➾ o ⚓ The_sorry,_sorry_state_of_Linux_packaging_|_Stop_at_Zona-M⠀⇛ On one hand yeah, sure: today there are many more programs “packaged” for Linux than twenty years ago. On the other, I feel myself longing every year more for the good old days when lots of developers limited themselves to, you know, “we don’t release Linux binary packages of our software, because Linux distros are too fragmented and we don’t know for WHICH one we should build packages.” Today, if you need ten programs not present in the default repositories of your Linux distribution, you may likely need to run almost as many separate software distribution systems, all deliberately created to simplify your life of course, all blissfully unaware of each other. Forget compiling from sources: it would just move the problem to installing the same number of separate, possibly uncompatible toolchains, most of which are much more complex to set up and use that the good old “./ configure make && make install” of yore. Oh, and of course you should be prepared to re-run all those systems every time you upgrade your Linux distribution. Not manually, of course! Without doubts, the Right Thing To Do ™ would be to handle everything with some custom-made Ansible playbooks, or some other CM system, right? To add, that is, another level of embarrassing complexity to a problem that should not exist in the first place. o § Kernel Space⠀➾ # ⚓ PipeWire_0.3.44⠀⇛ This is a bugfix release that is API and ABI compatible with previous 0.3.x releases. o § Graphics⠀➾ # ⚓ A_$1.25_Billion_Hit:_NVIDIA_Is_Apparently_Throwing_in_the Towel_When_It_Comes_to_Its_Planned_Acquisition_of_Arm Holdings⠀⇛ NVIDIA (NASDAQ:NVDA) has apparently found it impossible to surmount an ever-increasing pile of obstacles that now litter the path toward its acquisition of Arm Holdings. # ⚓ DirectFB2_project_brings_back_DirectFB_graphics_library_for Linux_embedded_systems_–_CNX_Software⠀⇛ DirectFB2 is a new open-source project that brings back DirectFB, a graphics library optimized for Linux-based embedded systems that was popular several years ago for 2D user interfaces but has since mostly faded away. DirectFB2 attempts to preserve the original DirectFB backend while adding new features such as modern 3D APIs like Vulkan and OpenGL ES. I personally used it in 2008-2009 while working with Sigma Designs media processors that relied on the DirectFB library to render the user interfaces for IPTV boxes, karaoke machines, and so on. I remember this forced me to switch from a MicroWindows + Framebuffer solution, but the DirectFB API was easy enough to use and allowed us to develop a nicer user interface. # ⚓ Intel’s_Vulkan_Linux_Driver_Lands_Dynamic_Rendering_Support –_Phoronix⠀⇛ As part of pushing it across the Vulkan 1.3 milestone, Intel’s open-source graphics driver developers have merged their VK_KHR_dynamic_rendering support to mainline. Vulkan dynamic rendering for the Intel “ANV” Vulkan driver was pending on the mailing list for the past month while on Vulkan 1.3 day it was successfully merged, with this extension being part of the core specification now. The Khronos documentation on dynamic rendering explains, “If you’re not using multiple subpasses or input attachments though, go ahead, rip those render pass objects right out! Dynamic rendering offers similar rendering performance to a single pass render pass object but with a much simpler interface on all implementations. Hopefully this extension will make writing future Vulkan renderers just a bit more enjoyable.” # ⚓ Intel’s_Linux_Graphics_Driver_Patched_For_New_Security Issue_But_Can_Impact_Performance_–_Phoronix⠀⇛ Intel’s “i915″ kernel graphics driver has been patched for a software issue that could lead to malicious user-space trigger DMAR read/write faults or worse is the possibility of user-space gaining access to random memory pages. Unfortunately, the security fix comes with performance implications. If not running with an IOMMU active, CVE-2022-0330 could lead to user-space gaining access to random memory pages. This could mean either data leaks and/or random memory corruption. The issue with the Intel graphics driver stems from a missing TLB flush when releasing memory that was backing a GPU buffer object to the system memory. # ⚓ AMDVLK_2022.Q1.2_Released_With_Vulkan_1.3_Support⠀⇛ AMDVLK as AMD’s official open-source Vulkan Linux driver derived from their Radeon Software driver sources but using the LLVM shader compiler back-end is out with a new release. AMD is ready with day- after support for the newly-launched Vulkan 1.3 specification for AMDVLK. The AMDVLK 2022.Q1.2 driver enables Vulkan 1.3 support as well as enabling SPIRV 1.6 support. The VK_EXT_provoking_vertex and VK_EXT_depth_clip_control extensions are enabled too with today’s release. o § Instructionals/Technical⠀➾ # ⚓ Gemini_Is_A_Little_Gem⠀⇛ In this brief blog post, I’ll talk about Gemini from a different point of view. Not attacking these arguments individually, but trying to talk a bit about what attracts me to the protocol and how I see it. I hope that by the end of this post, you’ll have a different approach to reasoning about Gemini. And, if you decide to write criticism about it, that you’ll take what is written here into account. # ⚓ Annotating_my_website_page_structure⠀⇛ While I was trying to figure out how to link a manifest.json file to my feed reader, I found myself looking at the source code behind Jeremy Keith’s website home page. The fact that you can see the source code behind how a page loads is an amazing feature behind the web. You can see the code that tells a browser how a web page loads. Sometimes the source code behind a site is almost or completely illegible but there are plenty of sites out there whose code you can peruse. # ⚓ CSS_Specificity_Demo⠀⇛ I built an interactive demo to illustrate how specificity in CSS works. # ⚓ Hashing_out_the_hash_command_on_Linux_|_Network_World⠀⇛ When you type “hash” on a Linux system, you could get one of two very different responses depending on the shell you are using. If you are using bash or a related shell such as ksh, you should see a list of the commands that you have used since your terminal session began, sometimes with a count of how many times each command was used. This can be more useful than using the history command if you just want to see your very recent command activity, but the hash command is not a single executable. Instead, it relies on your shell. # ⚓ Learn_About_Blender_and_Maybe_Get_a_Free_Book_–_What’s_Not to_Like?⠀⇛ The event is Blender 101, an online event from the All Things Open folks, which will feature Jason van Gumster, author of Blender for Dummies, which is popular enough to now be in its fourth edition. Better yet, some copies of the book will be given away “to randomly chosen attendees.” # ⚓ Why_must_you_use_./_to_run_your_Ubuntu_scripts?_The_meaning of_Linux’s_dot_slash_explained._–_Coffee_Talk:_Java,_News, Stories_and_Opinions⠀⇛ When you run your own executable command or shell script on Linux, you must prepend ./ to the Unix command. But why? Why must you use a dot slash to run commands in Unix? You don’t have to do that in Windows with a batch file. # ⚓ What_Is_Doas_and_How_to_Install_It⠀⇛ Doas is a privilege escalation program similar to sudo. It is designed to be as lightweight and simple as possible. It is the default privilege escalation program for OpenBSD but also available for other UNIX-like operating systems through the OpenDoas program. # ⚓ Shell_Aliases_Every_Linux_User_Needs_–_Invidious⠀⇛ One of the most common questions I get from new-to- Linux users is, “How can I become a power user?” Well, learning the terminal and the terminal commands is the best thing you can do. And big part of becoming more proficient at the command line is creating your own Bash aliases. So today, I’m taking a fresh install of Ubuntu and adding aliases to it’s bashrc. These are aliases that I think most, if not all, Ubuntu users would find helpful. o § Games⠀➾ # ⚓ Steam_Deck_Launching_February_25th⠀⇛ Hello, the day is almost here! On February 25th, we will be sending out the first batch of order emails to reservation holders. Customers will have 3 days (72 hours) from receipt of their order email to make their purchase, before their reservation is released to the next person in the queue. The first units will be on their way to customers starting the 28th, and we plan to release new order email batches on a weekly cadence. In addition, we’re sending out press units for full review shortly. Press review embargo on Steam Deck coverage will lift on February 25th, but keep an eye out for some preview coverage and impressions before that. In the meantime we’re working to tie up the last few loose ends and polish some rough edges, and are excited to get these out to you at the end of next month! # ⚓ Steam_Deck_launches_February_25,_weekly_purchase_invites planned_|_GamingOnLinux⠀⇛ The date a great many have no doubt be waiting for, Valve has today officially announced their Steam Deck handheld will launch officially on February 25. It will go by the date each user put in their reservation of course, starting off with the first lucky few who managed to dodge Valve’s server issues at the time. The first batch of order invitation emails go out on February 25, and each person has just 72 hours to make the actual purchase before it moves onto the next person in the queue. # ⚓ Valve_To_Formally_Launch_Steam_Deck_On_25_February, Shipping_Begins_28_February_–_Phoronix⠀⇛ After slipping from the original shipping target of Q4 due to component shortages, Valve is making good on their Q1’2022 shipping plans for the Steam Deck. Valve just announced the Steam Deck will indeed begin shipping by the end of February. 25 February is when they will ship the first batch of order emails to reservation holders and they will have three days to complete their orders. Steam Deck units are expected to begin shipping to customers on 28 February. Valve also confirmed that new order emails will be sent out on a weekly basis to reservation holders. Valve will send out the order emails in the same order as reservations that began last year. Valve has not confirmed the planned weekly batch sizes or how many units will be ready to ship on 28 February. # ⚓ Godot_Engine_–_Godot_OpenXR_1.1.1_Plugin_Release⠀⇛ The Godot XR contributors are delighted to release our latest version of the Godot OpenXR plugin! This release contains several updates to provide Godot XR developers access to the latest and greatest XR APIs and features. # ⚓ SDL2_On_Linux_Now_Prefers_Wayland_Over_X11_–_Phoronix⠀⇛ With today’s SDL2 Git, Wayland is now preferred over X.Org/X11 by default without having to set the SDL video driver environment variable. As of today’s Git development code for the Simple DirectMedia Layer and what will be the behavior in the upcoming SDL 2.0.22, Wayland is now preferred when present. While SDL2 has offered Wayland support for some time now, SDL2 would out-of-the- box prefer X11 (and XWayland in turn) support. The SDL_VIDEODRIVER=wayland environment variable can be used for forcing the Wayland code path while now it’s the preferred route. # ⚓ Valve_Working_On_Radeon_Dynamic_VRS_For_The_Steam_Deck_To Increase_Power_Savings_–_Phoronix⠀⇛ Yet another open-source Radeon Vulkan “RADV” driver improvement being worked on by Valve’s engineers is around better controlling variable rate shading “VRS” behavior with a focus on improving power savings for the Steam Deck. Vulkan has the VK_KHR_fragment_shading_rate extension for being able to control the shading rate depending upon the frame region being shaded. The shading at a lower resolution for less important areas of the screen can help with increasing performance as well as power-savings. One of the frequently cited examples around variable rate shading is often for the landscape within racing games. o § Desktop Environments/WMs⠀➾ # ⚓ Sway_1.7_improves_screen_capture_and_virtual_reality_in Wayland_–_itsfoss.net⠀⇛ sway 1.7 is available to continue the evolution of this Wayland composer and window manager based on or inspired by the popular i3. Despite being “just” a window manager, Sway is one of the most interesting developments when it comes to Wayland composers, and not only that, but is considered by many to be the best implementation of the protocol out there, even by comparison. on top of the GNOME Mutter. On the other hand, it has been one of the brave few to openly say “no” to NVIDIA and EGLStreams in order to narrowly defend the standards agreed upon by almost everyone around Wayland and GBM. You know, the word “standard” gives NVIDIA hives, and the exact reasons are known only to the corporation’s executives. The first notable new feature of Sway 1.7 is the remove option –my-next-gpu-wont-be-nvidia, so the ones that users will have to use from now on –unsupported-gpu instead. It’s important to note that, at least officially, the official NVIDIA driver is still not supported (Nouveau should be fine), but we assume that this is a first step towards integrating the particular GBM implementation powered by the GPU manufacturer. # § K Desktop Environment/KDE SC/Qt⠀➾ # ⚓ Season_of_KDE_Kicks_Off⠀⇛ # ⚓ Season_of_KDE_2022⠀⇛ I am Ayush Singh, a second-year student of the Indian Institute of Technology, Dhanbad, India. My application has been accepted in the Season of KDE 2022. I will be working on writing a Rust wrapper for KConfig KDE Framework. This post describes my journey with KDE and why I submitted this Project for the Season of KDE. # ⚓ Creating_Rust/QML_Project⠀⇛ For the last few months, I have been pushing Rust/QT development along. I am the author of ki18n crate and am currently in the middle of creating kconfig crate as a part of Season of KDE 2022. In this post, I will walk you through creating a new Rust/QML project using cargo- generate templates. I made these templates to encourage more people to test out Qt development with Rust. o § Distributions⠀➾ # § New Releases⠀➾ # ⚓ Mabox_Linux_21.11_Herbolth_released⠀⇛ After almost half year of development, the next major Mabox Linux 21.11 release codename Herbolth is ready for download. # § BSD⠀➾ # ⚓ Playing_with_CD-RWs_on_FreeBSD⠀⇛ It’s worth mentioning as well that CD-RWs do typically take longer to burn that a CD-R, even discounting the time taken to blank them. It’s more than an acceptable compromise for me, but don’t be surprised if the drive reports 4 for the drive speed. I did briefly have a CD burner and CD-RW media as a kid that worked at 8×, but both those are long gone. This was a fun experiment! Now I have a reliable way to generate these disc images with a few CD-RWs. # ⚓ A_proof_of_concept:_running_OpenBSD_on_the PinePhone⠀⇛ As mentioned in the piece, this comes with a bit of a warning: [...] # § Canonical/Ubuntu Family⠀➾ # ⚓ Canonical_releases_Charmed_Kubeflow_1.4_to_simplify enterprise_AI_projects⠀⇛ Canonical Ltd. on Tuesday released Charmed Kubeflow 1.4, the newest version of its platform for simplifying enterprise artificial intelligence projects. U.K.-based Canonical is the maker of Ubuntu, one of the most widely used versions of the Linux operating system. Ubuntu is especially popular in the enterprise, where it’s commonly used to power public cloud environments. The operating system is frequently deployed together with Kubernetes. A growing number of enterprises are running AI models in their Kubernetes environments to support machine learning initiatives. In 2018, Google LLC released an open-source tool called Kubeflow to simplify the task of running AI software on Kubernetes. Canonical’s newly updated AI platform, Charmed Kubeflow, is a customized version of Google’s Kubeflow designed to be easier to use. Canonical provides the software under an open-source license. In addition to Kubeflow’s core features, Charmed Kubeflow includes automation code that the company says simplifies a number of day-to-day management tasks. The software can be deployed in the public cloud, as well as on- premises. o § Devices/Embedded⠀➾ # § Open Hardware/Modding⠀➾ # ⚓ Simulating_the_IBM_360/50_mainframe_from_its microcode⠀⇛ The IBM System/360 was a groundbreaking family of mainframe computers announced on April 7, 1964. System/360 was an extremely risky “bet-the-company” project for IBM, costing over $5 billion, but the System/360 ended up as a huge success, setting the direction of the computer industry for decades. The S/360 architecture was so successful that it is still supported by IBM’s latest mainframes, almost 60 years later. I’m developing a microcode-level simulator1 for the IBM System/360 Model 50 (link to the simulator); this blog post provides background to understand the Model 50 and the simulator. o § Free, Libre, and Open Source Software⠀➾ # § FSF⠀➾ # § GNU Projects⠀➾ # ⚓ Internet_Hall_of_Famer_Dr._Richard_Stallman_to give_presentation_to_the_Jeff.pro_GNU+Linux_User Group⠀⇛ # § Programming/Development⠀➾ # ⚓ Part_1:_The_life_of_an_optimization_barrier⠀⇛ Many engineers choose Rust as their language of choice for implementing cryptographic protocols because of its robust security guarantees. Although Rust makes safe cryptographic engineering easier, there are still some challenges to be aware of. Among them is the need to preserve constant-time properties, which ensure that, regardless of the input, code will always take the same amount of time to run. These properties are important in preventing timing attacks, but they can be compromised by compiler optimizations. # ⚓ The_Qt_Company_launches_digital_advertising solution⠀⇛ The Qt Company, the leading global provider of software technology, today announces the launch of Qt Digital Advertising to help Qt users monetize UI/UX screens built with Qt. The new solution, which will significantly streamline and enhance revenue generation opportunities for mobile, desktop and embedded applications and devices, was designed to focus on monetization, productivity and disruption. For the first time ever, mobile, desktop and embedded developers can generate revenue by leveraging digital advertising directly within the Qt development framework. Users will no longer be required to implement cumbersome, costly, inefficient monetization platforms, that are not fully integrated, to generate revenue. Instead, and with the help of Qt, organizations can instantly build and monetize the right digital advertising business case for their cross-platform scenarios, from prototype to final product. The solution will also create new business cases for advertisers to run efficient marketing campaigns on embedded device UIs, capitalizing on opportunities presented by the rapidly growing IoT and connected devices industry, in addition to being a new business model for The Qt Company and its customers. # ⚓ NodeKit_Update⠀⇛ Since the initial demo of NodeKit at last week’s Small Is Beautiful, we now actually have a nodekit command, the server now does naïve restarts on route changes, and routes are now lazily loaded the first time they’re hit. * § Leftovers⠀➾ o § Science⠀➾ # ⚓ James_Webb_Space_Telescope:_When_to_expect_the_first_images from_the_state-of-the-art_observatory⠀⇛ The observatory’s permanent home is a stable point in space known as Lagrange Point 2, also referred to as L2. L2 is also a point in space where gravitational forces of the Earth and Sun are in equilibrium, allowing JWST to stay aligned with Earth. L2 will also allow JWST to have a wide, unobstructed view of the universe at any given moment, unlike telescopes closer to Earth (like Hubble) whose point of view is often obscured by the Earth itself. JWST is a once-in-a-generation space observatory poised to usher in a new chapter for astronomy by peering into distant corners of the universe, surveying the atmospheres of Earth-like exoplanets, and observing more distant stars and galaxies than its predecessors. As the Hubble Space Telescope’s successor, it is also one of the most expensive space missions (roughly $9.7 billion) in history. In other words, a lot is at stake. o § Education⠀➾ # ⚓ GOP_Is_Increasingly_Bent_on_Controlling_Schools._Glenn Youngkin_Is_a_Case_Study.⠀⇛ # ⚓ Higher_education_must_stop_covering_up_misconduct⠀⇛ Some universities even require a pre-emptive NDA to initiate a complaints process, and they commonly negotiate deals directly with perpetrators without involving the victims at all. In many university processes, complainants are not permitted to see the final decision – or they are asked to sign an NDA before they can access it. Where the complainant is a party, they are told that they “must” sign an NDA to “protect themselves”. This is neither true nor accurate – a complainant does need a one-sided confidentiality clause, but it should not come at the price of protecting the person who harmed them. o § Health/Nutrition/Agriculture⠀➾ # ⚓ Only_10_Percent_of_Africa’s_Population_Is_Fully Vaccinated⠀⇛ # ⚓ Sanders_Demands_End_to_Medicare_Premium_Hike_From Alzheimer’s_Drug⠀⇛ Building on his recent letter to U.S. President Joe Biden, Sen. Bernie Sanders on Tuesday wrote to a key government analyst to push for a swiftly ending a Medicare premium hike tied to Biogen’s pricey and potentially ineffective Alzheimer’s drug. “Alzheimer’s is a horrible disease and we must do everything possible to find a cure for the millions of seniors who suffer from it, but we cannot allow pharmaceutical companies to rip off seniors.” # ⚓ Anne_Frank:_RFK_Jr._now_versus_RFK_Jr._in_2015⠀⇛ Since writing my “preview” last Friday of the antivaccine “Defeat the Mandates” rally held on Sunday, I have been debating whether or not to write a followup post. The reason was that I just didn’t know if there was anything much to say, given that the rally went pretty much as I had predicted, with a stacked bill of antivaccine cranks old (e.g., Robert F. Kennedy, Jr. and Del Bigtree) and new (e.g., Dr. Robert Malone, Dr. Peter McCullough, and Steve Kirsch), antimaskers, and COVID-19 minimizers spewing a litany of common anti-“lockdown,” antimask, and antivaccine propaganda, all couched in rhetoric of “freedom” and “resistance to tyranny,” just as expected and the same as it ever was for antivaxxers. I was originally not going to write further about this, but leave it to RFK Jr. to give me a reason when he sullied the memory of Anne Frank: # ⚓ St._Petersburg_announces_new_restrictions_for_minors following_spike_in_coronavirus_hospitalizations⠀⇛ After noting a marked increase in the number of local children hospitalized with COVID-19, the St. Petersburg authorities have announced additional public health restrictions for minors. With the Omicron strain running rampant, Russia has recorded record-breaking daily increases in coronavirus cases over the past few days. In St. Petersburg, an increasing number of classes have been forced to switch to distance learning in order to quarantine schoolchildren with COVID-19 and other respiratory infections. The additional restrictions for minors will enter force on January 28 and remain in place until February 13. # ⚓ EPA_Takes_Action_to_Combat_Industrial_Air_Pollution⠀⇛ The Environmental Protection Agency launched sweeping changes this week to address long-standing problems brought to light by ProPublica’s reporting on industrial air pollution. Shortly after the November publication of our investigation, administrator Michael S. Regan toured some of the largest toxic hot spots identified by our analysis and said the agency was consulting ProPublica’s work as it considered reforms. On Wednesday, Regan announced the EPA’s next steps, which include a significant expansion of air monitoring in some of the most polluted neighborhoods in the country and a new wave of unannounced inspections of polluters. “We are going to keep these facilities on their toes so that they’re doing their due diligence all the time and not just when there’s a planned inspection,” he said. “Being on the ground, seeing the situation for myself, and talking directly with community members, it is startling that we got to this point.” # ⚓ Spotify_sides_with_Joe_Rogan_after_Neil_Young_ultimatum⠀⇛ Earlier this month, an open letter signed by 270 health care professionals urged Spotify to take action against COVID-19 vaccine misinformation that it said was spread on Rogan’s show, which boasts a wide reach, with an estimated 11 million listeners per episode. # ⚓ Spotify_picks_Joe_Rogan_over_Neil_Young⠀⇛ Spotify and Warner Records didn’t immediately reply to a request for comment from The Verge. In a post on his website, Young thanked his label for its support and said that Spotify has “become the home of life threatening COVID misinformation.” # ⚓ Neil_Young_Removes_Music_From_Spotify_in_Protest_of_Joe Rogan’s_Podcast⠀⇛ Spotify will remove Neil Young’s music from its platform, per his request, following his objections to Joe Rogan’s statements about the Covid-19 vaccine on his Spotify-hosted show. The music is expected to be removed later Wednesday. A rep for Spotify said in a statement to Variety: “We want all the world’s music and audio content to be available to Spotify users. With that comes great responsibility in balancing both safety for listeners and freedom for creators. We have detailed content policies in place and we’ve removed over 20,000 podcast episodes related to COVID since the start of the pandemic. We regret Neil’s decision to remove his music from Spotify, but hope to welcome him back soon.” # ⚓ Neil_Young_Pulls_Music_from_Spotify,_Blasts_It_as_the_‘Home of_Life-Threatening’_Covid_Lies⠀⇛ On Monday, Young posted a since-deleted letter on his website addressed to his management and record label demanding his music be removed from Spotify, noting that the company can have “Rogan or Young. Not both.” The Wall Street Journal first reported the news that Spotify will take down Young’s catalog. Spotify begun to remove Neil Young’s catalog Wednesday evening. In Young’s new letter, he blasts Spotify as “a very damaging force via its public misinformation and lies about Covid.” He thanked his label Warner Records for standing by his decision and noted that a majority of his streaming revenue comes from Spotify. o § Integrity/Availability⠀➾ # § Proprietary⠀➾ # ⚓ Dropbox,_Microsoft_OneDrive_send_out_warnings_to macOS_users⠀⇛ They warn that some users may have problems when attempting to open files stored in either service using another Mac application. They urge customers to update their apps once macOS 12.3 is installed. # § Security⠀➾ # ⚓ Security_updates_for_Wednesday⠀⇛ Security updates have been issued by CentOS (httpd), Debian (libxfont, lrzsz, nss, openjdk-17, policykit-1, webkit2gtk, and wpewebkit), Mageia (polkit), openSUSE (expat, json-c, kernel, polkit, qemu, rust1.55, rust1.57, thunderbird, unbound, and webkit2gtk3), Oracle (httpd:2.4, java- 11-openjdk, and polkit), Red Hat (httpd:2.4, OpenShift Container Platform 3.11.570, polkit, and Red Hat OpenStack Platform 16.1 (etcd)), Scientific Linux (polkit), Slackware (polkit), SUSE (aide, expat, firefox, json-c, kernel, polkit, qemu, rust, rust1.55, rust1.57, thunderbird, unbound, and webkit2gtk3), and Ubuntu (policykit-1 and xorg-server). # ⚓ Qualys_Research_Team_Warns_of_Significant polkit_Vulnerability_Affecting_All_Linux_Users [Ed: This headline is false. It affects systemd users. And systemd isn't Linux, it's IBM vendor lock-in which isn't even compliant with UNIX philosophy.]⠀⇛ # ⚓ Jan_26,_2022_Serious_Privilege_Escalation_Flaw in_Linux_Component_Patched_By_Dennis_Fisher⠀⇛ The bug is the result of Pkexec not validating the number of arguments passed to it. Rob Joyce, director of cybersecurity at the NSA, said on Twitter Wednesday that he’s concerned with the ease of exploitation for this vulnerability. # ⚓ 12-year-old_vulnerability_in_Linux_gives attackers_root_privileges_–_SiliconANGLE [Ed: Systemd is not Linux]⠀⇛ # ⚓ Major_Linux_PolicyKit_Security_Vulnerability Uncovered:_Pwnkit_–_SoylentNews⠀⇛ # ⚓ New_DeadBolt_ransomware_targets_QNAP_devices, asks_50_BTC_for_master_key [Ed: Why would anyone even connect a storage device to the open Internet in the fist place? "Smart" hype?]⠀⇛ A new DeadBolt ransomware group is encrypting QNAP NAS devices worldwide using what they claim is a zero-day vulnerability in the device’s software. # ⚓ New_DeadBolt_Ransomware_Targets_NAT_Devices⠀⇛ # § Privacy/Surveillance⠀➾ # ⚓ Data_privacy_laws_will_increasingly dominate_business_worldwide⠀⇛ Data privacy will continue to become a more significant consideration and it’s going to be exceedingly difficult to do business anywhere in the world without encountering data privacy laws, according to Richard Marr, General Manager, APAC, Auth0, a product unit of Okta. # ⚓ What_went_down_at_#PrivacyCamp22?⠀⇛ In this special anniversary edition of Privacy Camp 2022, we reflected on a decade of digital activism and thought together about the best ways to advance human rights in the digital age. #PrivacyCamp22 brought together close to 300 academics, activists and privacy experts who built on the lessons of the past and collectively articulated strategic ways forward for the promotion of everyone’s digital rights. # ⚓ Paying_with_cash,_old_school⠀⇛ There’s a coffee shop down the street that has a big outdoor seating area, so I feel safe sitting there for a morning brew and to prepare for WFH that day. This morning I overheard the owner shout out “old school”! in response to a customer paying with cash which made me smile. # ⚓ Google_kills_FLoC,_unveils_new_plan_to replace_tracking_cookies_—_here’s_how_it works⠀⇛ Google has ditched its planned user-profiling system, FLoC, and is instead developing a new system called Topics, the company announced today (January. 25). Topics, described by Google Senior Director of Product Ben Galbraith as “one of the most ambitious efforts we’ve ever undertaken” during a conference call with reporters, is meant to replace third-party advertising cookies in Chrome by the end of next year. But you won’t be able to use or try Topics just yet. Developer trials begin in a couple of months, and user trials are still a long way off. # ⚓ A_guide_to_getting_your_data_from WhatsApp⠀⇛ It’s important to understand how much of your data is stored in the cloud. Why? Because our research exposes that law enforcement can use cloud extraction techniques to obtain vast quantities of your data. These techniques means law enforcement can circumvent asking companies like WhatsApp for your data and avoid getting a warrant. So the use of this technology means there is no limit on what they can obtain, no transparency and no clear, accessible or effective legal safeguards to protect your data from risk of abuse and misuse. # ⚓ Proposal_for_a_European_Interoperability Framework_for_Smart_Cities_and_Communities_ (EIF4SCC)⠀⇛ The proposed Framework is initiated to support EIF at local and Regional level and was jointly managed by DG DIGIT as part of the ISA² Programme (2016- 2020), and by DG CONNECT in the framework of the Living-in.eu movement. A co-creation process with city/community administrators in the European Union was created and together with Deloitte and KU Leuven e a proposal for the European Interoperability Framework for Smart Cities/Communities (EIF4SCC) was developed. o § Defence/Aggression⠀➾ # ⚓ US’s_Support_for_Invasions_Should_Disqualify_It_From Leading_on_Russia-Ukraine⠀⇛ # ⚓ Biden_Claims_He_Wants_to_End_the_Yemen_War._His_Actions Suggest_Otherwise.⠀⇛ # ⚓ Biden_OK’s_$2.5_Billion_Arms_Sale_to_Egypt,_Disregarding Government_Oppression⠀⇛ # ⚓ United_Russia_asks_Putin_to_start_supplying_military_aid_to Donetsk_and_Luhansk_‘people’s_republics’⠀⇛ Russia’s ruling party has initiated an appeal asking the country’s leadership to start supplying military assistance to the self-proclaimed “people’s republics” in eastern Ukraine, Interfax reported on Wednesday, January 26.  # ⚓ Lock_Him_Up:_Oath_Keeper_Leader_Denied_Bail_in_Jan._6 ‘Seditious_Conspiracy’_Case⠀⇛ On Wednesday afternoon, a federal judge in Plano, Texas, ruled that Rhodes, the founder of the right- wing Oath Keepers militia, should be denied bail. Magistrate Judge Kimberly Priest Johnson announced her decision in a 17 page decision (embedded below). Johnson wrote that Rhodes’ “authoritative role in the conspiracy, access to substantial weaponry, and ability to finance any future insurrection, combined with his continued advocacy for violence against the federal government, gives rise to a credible threat that Defendant’s release might endanger others.” # ⚓ Chinese_APT_27_hackers_targeting_companies,_says_Germany [iophk: Windows TCO]⠀⇛ Germany’s domestic intelligence agency, the Federal Office for the Protection of the Constitution (BfV), said APT 27 had used a malware variant to target commercial companies. The BfV said the attackers had been exploiting vulnerabilities in commonly used software since March 2021 as a gateway for the attacks. # ⚓ Leading_Turkish_women_targeted_by_Islamists_and government⠀⇛ The jailing of prominent journalist Sedef Kabas and threats against famous pop diva Sezen Aksu are stirring controversy in Erdogan’s Turkey. It’s part of a trend that brings Islamists and government supporters together. o § Transparency/Investigative Reporting⠀➾ # ⚓ Automotive_Lobbying_Group_Abandons_the_Term_“Self- Driving”⠀⇛ While the group didn’t directly mention Tesla in its announcement, the move is likely a response to the Elon Musk-led company’s efforts to market its “Full Self-Driving” feature, a highly controversial driver assist feature that has landed the company in hot water with lawmakers on a number of occasions. o § Environment⠀➾ # ⚓ Nations_Join_Forces_To_Fight_Illegal_Fishing_In_Gulf_Of Guinea⠀⇛ Besides at-sea patrols, the countries will share information from the Regional Monitoring, Control and Surveillance Centre in Ghana, which was formed by the Fisheries Committee for the West Central Gulf of Guinea (FCWC) in 2021. Other partners include the Regional Maritime Security Centre for West Africa in Côte d’Ivoire; European Fisheries Control Agency; Multinational Maritime Coordination Centre; and Trygg Mat Tracking, a fisheries intelligence analysis company. Additional funding is supplied by the Norwegian Agency for Development Cooperation, according to SeafoodSource. # ⚓ The_Supreme_Court_vs._the_Earth⠀⇛ What’s particularly shocking about this case is that the EPA does not currently have any such rules in place. The agency tried to regulate greenhouse emissions under President Barack Obama’s Clean Power Plan, but conservative justices (of course) blocked that plan from taking effect. Then, the Trump administration came in and shoved the CPP off the edge of their flat Earth. Arguably, the D.C. Circuit has since reopened the possibility of a revised CPP, but the Biden administration has said that it will not try to reinstate the plan. Instead, it has instructed the EPA to come up with a completely different rule, a process that is underway at the agency right now. # § Energy⠀➾ # ⚓ Elon_Musk,_Threat_or_Menace_Part_2⠀⇛ Last April I wrote Elon Musk: Threat or Menace? flagging three of his externalities; the carbon footprint of his infatuation with cryptocurrencies, the environmental impact and cost of his infatuation with colonizing Mars, and the threat his infatuation with camera-only autonomy for Teslas posed to innocent bystanders. Last August I followed up with Autonowashing, detailing the incredible “depths of irresponsibility involved in Tesla’s marketing”. # ⚓ How_will_Europe_cope_if_Russia_cuts_off_its_gas?⠀⇛ But a shutdown is no longer unthinkable. Mr Gustafson now says: “I don’t think it is unlikely at all that Putin would actually reach for the gas tap over Ukraine.” Unlike his Soviet predecessors, the Russian president can afford the cost of a brief energy shock. Jaime Concha of Energy Intelligence, an industry publisher, has crunched the numbers. Not counting any penalties (for breach of contract, say) and assuming the average daily price seen in the fourth quarter of 2021, he reckons a complete cut-off of piped gas to Europe would cost Gazprom between $203m and $228m a day in lost revenues. So if such an embargo lasted three months (Mr Putin’s leverage fades in spring, when gas demand drops to just 60% of that in January), lost sales would add up to about $20bn. o § AstroTurf/Lobbying/Politics⠀➾ # ⚓ Healing⠀⇛ # ⚓ Taking_on_Your_Tweets⠀⇛ # ⚓ Can_Congress_Really_Use_Insider_Information_to_Trade Stocks?⠀⇛ Banning members of Congress from trading individual stocks is a no-brainer. Let’s get it done. # ⚓ Vague_Social_Media_Laws_Create_Fear_in_the_Middle_East._Can Encryption_Tools_Help?⠀⇛ Far from being the savior of democracy in the Middle East, four experts said Monday that social media, and government regulation of it, is beginning to hurt civil rights activists. The world is witnessing an increase in laws restricting social media access and hence regulating freedom of speech, especially in the Middle East, agreed the panelists, speaking at a Brookings Institution event. o § Misinformation/Disinformation⠀➾ # ⚓ YouTube_permanently_bans_Dan_Bongino⠀⇛ YouTube on Wednesday permanently banned conservative commentator Dan Bongino from the platform, saying he attempted to evade a previous suspension. The Fox host uploaded a video to his main channel while his secondary channel, which primarily hosted short clips from his digital radio show, was actively suspended for violating YouTube’s COVID-19 misinformation policy. o § Censorship/Free Speech⠀➾ # ⚓ EU_wants_to_build_its_own_DNS_infrastructure_with_built-in filtering_capabilities⠀⇛ The European Union is interested in building its own recursive DNS service that will be made available to EU institutions and the general public for free. The proposed service, named DNS4EU, is currently in a project planning phase, and the EU is looking for partners to help build a sprawling infrastructure to serve all its current 27 member states. EU officials said they started looking into an EU- based centrally-managed DNS service after observing consolidation in the DNS market around a small handful of non-EU operators. “The deployment of DNS4EU aims to address such consolidation of DNS resolution in the hands of few companies, which renders the resolution process itself vulnerable in case of significant events affecting one major provider,” officials said in the DNS4EU infrastructure project revealed last week. But EU officials said that other factors also played a role in their decision to build DNS4EU, including cybersecurity and data privacy. # ⚓ Censoring_Joe_Rogan_Is_No_Solution_to_Vaccine Misinformation⠀⇛ There’s a campaign underway to kick podcast host Joe Rogan off Spotify for spreading COVID misinformation. But Rogan at his worst couldn’t do as much damage to public trust in science as the political and scientific establishment has during the pandemic. # ⚓ China_censors_re-write_‘Fight_Club’_ending,_say_authorities triumphed⠀⇛ The renowned classic film “Fight Club” appears to have been censored on popular Chinese entertainment platform Tencent Video – though rather than merely cutting scenes from the film, government censors created a new ending altogether in place of the cult movie’s iconic conclusion. o § Freedom of Information/Freedom of the Press⠀➾ # ⚓ El_Salvador_must_investigate_use_of_Pegasus_to_spy_on dozens_of_journalists⠀⇛ Reporters Without Borders (RSF) calls on El Salvador’s public prosecutor to open an investigation into the use of the Pegasus spyware to hack into the phones of at least 35 Salvadorean journalists. RSF is also providing recommendations to journalists whose phones may have been infected. # ⚓ Three_Iranian_journalists_transferred_to_prisons_notorious for_mistreating_detainees⠀⇛ Reporters Without Borders (RSF) is alarmed by the transfers of three Iranian journalists to prisons notorious for cruel, inhuman and degrading treatment, in a practice often used to deliberately break the resistance of prisoners of conscience. These transfers come just days after another journalist, Baktash Abtin, died as a result of not being treated when he caught Covid-19 in Tehran’s Evin prison. o § Civil Rights/Policing⠀➾ # ⚓ Investigation_Shows_Faulty_Drug_Tests_Resulted_In_Hundreds Of_New_York_Prisoners_Being_Wrongly_Punished⠀⇛ The justice system may say lofty things about debts to society or rehabilitation, but when it all comes down to it, a person in jail is just something to be processed. Whatever happens to them is supposedly well-deserved. If you can’t do the time, don’t do the crime. This catchy phrase also refers to pretrial detainees who haven’t been convicted of any crimes but who simply don’t have the means (or the judicial permission) to spend their pre-trial days out in the open. # ⚓ When_Whiteness_Starts_Seeing_Itself⠀⇛ By 2044, the United States’ white population will dwindle from a majority to a plurality, according to the Census Bureau. White Americans—though they will still outnumber every other racial group in the country—have not taken this news well. # ⚓ Protest_Song_Of_The_Week:_‘Landlord_Of_The_Gentriflies’_By Calm._(Featuring_Lee_Reed_and_Buddha)⠀⇛ Calm is a hip-hop duo featuring rapper Time and producer Awareness. Time has also done engineering work for Common and is a journalist who has worked with Noam Chomsky. They recently released the concept album “Conversations with A Willow Tree.” The album is an ode to a willow tree set in a dystopian world where plants are the heroes that fight colonialism and environmental collapse.“Landlord of the Gentriflies,” which appears on the album, is a scathing critique of gentrification. The opening verse from Time features the hard-hitting rebuke: “Since that eviction letter, this ain’t really been home”.It continues, “Landlord didn’t discover this, that’s Chris Columbus syndrome. We’re just trying to raise the roof, they just wanna raise the rent. I’ve been working 3 jobs, I gave that cracker every cent. Landlord of the flies, dollar signs in his eyes. Let’s stop working for the rich, so we can live our fucking lives.”The second verse is from Canadian rapper Lee Reed, known for his political lyrics and socialactivism. His verse further explores the ill effects of capitalist-fueled gentrification. “Half a million evicted they still insisting the system work. Assisted living let you live in thirst. This government place people second, business first. They gentrified our existence, but we been dispersed,” Reed raps.Renter’s rights is a subject close to Reed’s heart. He recently released “Drop The Charges,” acharitable single whose proceeds support the Hamilton Encampment Support Network (HESN).HESN is an organization that supports homeless residents of Hamilton, Ontario, Canada. Just like several major cities throughout the world, the housing crisis is forcing more people onto the streets.Listen to “Landlord of the Gentriflies”: # ⚓ CIA_Funded_Experiments_On_Danish_Orphans_For_Decades⠀⇛ This article was funded by paid subscribers of The Dissenter Newsletter. Become a monthly subscriber to help us continue our independent journalism. An extraordinary Danish Radio report exposed how scores of children in Denmark, many of them orphans, were subject to CIA-funded experiments for at least two decades. The purpose of these activities remains unknown, as authorities continue to actively suppress the truth of what happened in the 1960s and early 1970s. # ⚓ Navalny’s_brother_is_added_to_federal_wanted_list_in Russia⠀⇛ Police in Russia have added Oleg Navalny, the brother of jailed opposition leader Alexey Navalny, to a federal wanted list, the nation’s Interior Ministry reported on Tuesday. The announcement does not list the charges. # ⚓ Redwood_Forest_in_California_Is_Returned_to_Native_Tribes⠀⇛ The group, the Save the Redwoods League, which was able to purchase the forest with corporate donations in 2020, said it was transferring ownership of the 523-acre property to the Intertribal Sinkyone Wilderness Council, a group of 10 native tribes whose ancestors were “forcibly removed” from the land by European American settlers, according to a statement from the league. The tribes will serve as guardians of the land in partnership with the Save the Redwoods League, which has been protecting and restoring redwood forests since 1918. o § Internet Policy/Net Neutrality⠀➾ # ⚓ Fresh_Off_Its_Merger_Failure(s),_AT&T_Gets_Back_To Promising_Big_Fiber_Investments_That_May_Or_May_Not_Happen⠀⇛ We’ve noted for years how AT&T has this pattern in which they’ll promise a massive wave of new fiber investment and jobs if they get “x” (X=merger approvals, deregulation, tax breaks, a bunch of new subsidies, whatever). Then, a few years later, somebody will realize they failed utterly to meet those obligations. This happens over and over and over and over again, and not only does AT&T never see much in the way of accountability, nobody in state or federal leadership seems to learn much of anything from the process (usually because they’re, well, corrupt). # ⚓ From_The_Revolt_Against_SOPA_To_The_EU’s_Upload_Filters⠀⇛ # ⚓ Enough_Is_Enough:_The_Senate_Should_Stop_Playing_Games_And Confirm_Gigi_Sohn⠀⇛ Joe Biden entered office a year ago with a mandate to end corporate control of our government by establishing programs to benefit working families and by appointing qualified public servants to execute and oversee those programs. # ⚓ GOMIX_brings_faster,_cheaper_Internet_to_millions_in eastern_DRC⠀⇛ GOMIX, the Democratic Republic of Congo’s third Internet Exchange Point, launched in Goma, the main capital of the North Kivu province in the east of the DRC, in September 2021. Initiated by the Internet Service Provider Association (ISPA-DRC) in partnership with the Internet Society, GOMIX will improve Internet access for nearly 4 million urban residents. It will also facilitate creating local content, hosting services at a local and national level, and promoting interconnection between local Internet Service Providers (ISPs). o § Digital Restrictions (DRM)⠀➾ # ⚓ Spotify_Stock_(SPOT)_Has_Lost_Nearly_25%_of_Its_Value_In 2022_and_45%_Over_the_Past_Year_—_What’s_Going_On?⠀⇛ Meanwhile, some are speculating that Spotify could follow Netflix in raising its prices – a significant possibility because music streaming services feature similar song libraries and mainly cost the same in the States. Plus, Spotify’s long- awaited HiFi support doesn’t yet have a release date, company officials announced two weeks ago, despite the fact that Apple Music and Amazon Music unveiled the feature at no added cost last summer. # ⚓ Will_Hollywood’s_Streaming_Ambition_Lead_to_Big_Gaming Buys?⠀⇛ Most Hollywood giants have similarly retreated from video game ambitions. NBCUniversal shut down its game studio in 2019, before its current CEO, Jeff Shell, took over. And Discovery chief David Zaslav hasn’t detailed plans for Warner Bros. Interactive Entertainment once the company closes its mega- merger with WarnerMedia, currently led by CEO Jason Kilar, beyond saying it won’t require any asset sales to hit its debt-reduction targets. Some say it will take a bigger gaming footprint. Warners’ “Mortal Kombat is great IP, which has good value; the rest of what makes money is licensed product,” MKM Partners analyst Eric Handler says, adding that the gaming unit will be “a sub-scale business as part of Discovery/Warner.” o § Monopolies⠀➾ # ⚓ EU_court_sides_with_Intel_in_appeal_of_$1.2B_antitrust fine⠀⇛ A European court announced Wednesday that it overturned a $1.2 billion fine on Intel, which the European Union had imposed on the semiconductor chip manufacturer in 2009 over alleged violations of antitrust laws. The European Commission, the executive branch of the EU, accused Intel of abusing its position as a global leader for x86 computer microprocessors and excluding competitors from the market, stretching from October 2002 to December 2007. The EU alleged that Intel granted rebates to four equipment manufacturers, including Dell and Lenovo, which were conditional on the companies purchasing microprocessors from Intel. # § Copyrights⠀➾ # ⚓ YouTube_Wants_‘Fraudulent”_Copyright_Claimant_Kept_in Class_Action_Lawsuit⠀⇛ When musician Maria Schneider launched a class action lawsuit against YouTube demanding access to Content ID, she did so with ‘Pirate Monitor’. Due to this company’s allegedly fraudulent actions, YouTube filed a counterclaim that the plaintiffs now want severed from the case. According to them, YouTube wants a “guilt-by-association weapon” to sully the class. # ⚓ Rojadirecta_Operator_Faces_Multi-Year_Prison_Sentence in_Upcoming_Trial⠀⇛ Popular sports streaming site Rojadirecta finds itself at the center of a criminal lawsuit in Spain. The prosecution seeks a four-year prison sentence for the operator and up to two years for five accomplices. Spanish football league LaLiga and Mediapro demand even higher sentences and also want six million euros in damages. # ⚓ Google_Drive’s_Autodetector_For_Copyright Infringement_Is_Locking_Up_Nearly_Empty_Files⠀⇛ We’ve talked at length about the issues surrounding automated copyright infringement “bots” and how often those bots get the primary question they’re tagged with wrong. Examples of this are legion: Viacom’s bot takes down a Star Trek panel discussion, all kinds of bots disrupted the DNC’s livestream of its convention, and one music distributor’s bot firing off DMCA notices to, well, everyone. Google itself has reported that nearly 100% of the DMCA notices it gets are just bot-generated buckshot. # ⚓ Wherein_The_Copia_Institute_Tells_The_Copyright Office_That_Link_Taxes_Are_A_Good_Idea_Only_If_You_Want To_Kill_Off_Journalism⠀⇛ It’s hard to believe that even after the huge disaster “link taxes” have been in Europe and Australia that people would push to have them in the United States, and yet here we are. This brewing bad idea has some foolish friends in Congress, who tasked the Copyright Office with doing a study on the viability of importing this nonsense into American law, and via our already over-encumbered copyright law. The Copia Institute filed a public comment as part of this study and provided testimony at a hearing in December. In both, we pointed out that a site like Techdirt is exactly the sort of small, independent media outlet such a scheme is supposed to help yet is instead exactly the sort of small, independent media outlet such a scheme most definitely would hurt. ╘══════════════════════════════════════════════════════════════════════════════╛ ¶ Lines in total: 8719 ➮ Generation completed at 02:43, i.e. 46 seconds to (re)generate ⟲