𝕿𝖊𝖈𝖍𝖗𝖎𝖌𝖍𝖙𝖘 Bulletin for Tuesday, January 25, 2022 ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ Generated Wed 26 Jan 02:43:59 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/25/ ╒═══════════════════ 𝐑𝐄𝐂𝐄𝐍𝐓 𝐁𝐔𝐋𝐋𝐄𝐓𝐈𝐍𝐒 ════════════════════════════════════╕ Previous bulletins in IPFS (past 21 days, in chronological order): QmYyjvuyCsmKepqGvikeVazrauZqV2sNgUg5p2UhdxvGXe QmeizGYhw45pUpaYcuwBfE8NWgRhpFbkNtg8fZ7tGbAMXw QmfKHqGowjRxdQqskGCLaTJvfCGFi19QHkyd8kwa9PMJ21 QmP9Us6BzAW1DtJJVXeJt8AyhFyfNcNAfWtLTvSMzp6Ltp QmRocUr84sVRrmmhApYkrairZ9gM3urZnz5pkw4h6pxA9b QmQ1r9n2zgVqwtQ4bsQLNP2kbfnhn22xRMWVDD5qUuwkKF QmU5vYfwSWKbwcf52ai4QQxmeVvq2qk4Rno1afMvVcdEUm QmSRxd1L1Tjg5YFR28UqaVozsZZh3xMVhvDKvnfHxuctNe QmUYb6AJaHEaYvQGdw1Z8bffPkohvdveAhmoUhNFHe4PB6 QmRXpMsysY15jnTdXabNj8RQWyYQoA287zCaWvJJjNWzB2 QmaSCmshgLNtetvtehrJTkVzA4UKVtdrEf2DcHz8b5gBoV QmZWJhSMSsSbuTS3JfxxEo3tfs2QfTCENeVipKSaQVU5b2 Qmehhm7o1VbxWg8uyeTcYkk6Hr1Cp4Ho21X2wCnesY9asd Qmf3TSbMJS9koYs7ieZ1w3WBpaDp6x7rx5xnhC6B134fFL QmbAVHY5Ges1nF9HNsiNn6FsQW8UdTFHURKDG1QgSKpKw7 QmZnZkCBXLzZg5rkewh3peFLzQ5xAZRm6HpjAvmtf39ELR QmZeHUaFKnCwMohgf9hT7KAvQEFvHbBZ8MUZTtceSkoLZc QmQLbqvdSXzQ59gWzwwt9RARegF8vZB68qihXTbNcDNoxy QmXRhRDa28yw47e5ym8hgWTNSCTtmH5t22GCpvFvaGYDwN QmNrH8cLM4mYaiBXzhdkhAQm8XM54JzRQa3Z1Ng4a41kcV QmZjLA2jtgeEhSJihNxjJW3q7KaEU6iyCKve9pmkci3m61 ╒═══════════════════ 𝐈𝐍𝐃𝐄𝐗 ═══════════════════════════════════════════════════╕ ⦿ The EPO Needs High-Calibre Examiners, Not Politicians Who Pretend to Understand Patents and Science | Techrights ⦿ Free Software is Greener | Techrights ⦿ IRC Proceedings: Monday, January 24, 2022 | Techrights ⦿ [Meme] Get Ready for Unified Patent Court (UPC) to be Taken to Court | Techrights ⦿ Gemini Milestones and Growth (Almost 2,000 Known Gemini Servers Now, 39,000 Pages in Ours) | Techrights ⦿ Why the Unified Patent Court (UPC) is Still Just a Fantasy and the UPC’s Fake News Mill Merely Discredits the Whole Patent ’Profession’ | Techrights ䷼ Bulletin articles (as HTML) to comment on (requires login): http://techrights.org/2022/01/25/epo-high-calibre-examiners/#comments http://techrights.org/2022/01/25/free-software-greener/#comments http://techrights.org/2022/01/25/irc-log-240122/#comments http://techrights.org/2022/01/25/taking-upca-to-court/#comments http://techrights.org/2022/01/25/the-geminispace-curve/#comments http://techrights.org/2022/01/25/why-the-unified-patent-court-upc-is-still-just-a-fantasy-and-the-upcs-fake-news-mill-merely-discredits-the-whole-patent-profession/#comments ䷞ Followed by Daily Links (assorted news picks curated and categorised): http://techrights.org/2022/01/25/antix-19-5/#comments http://techrights.org/2022/01/25/new-opensuse-hardware/#comments http://techrights.org/2022/01/25/wordpress-5-9-is-out/#comments ䷩ 𝚕𝚒𝚗𝚎 64 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/25/epo-high-calibre-examiners/#comments Gemini version at gemini://gemini.techrights.org/2022/01/25/epo-high-calibre-examiners/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.25.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ The_EPO_Needs_High-Calibre_Examiners,_Not_Politicians_Who_Pretend_to Understand_Patents_and_Science⠀✐ Posted in Europe, Patents at 9:43 am by Dr. Roy Schestowitz Video_download_link | md5sum ffe92ca2570f47d95f5837fac6ef0525 No Rights for EPO Staff Creative Commons Attribution-No Derivative Works 4.0 http://techrights.org/videos/epo-workers-crisis.webm Summary: Examiners are meant to obstruct fake patents or reject meritless patent applications; why is it that working conditions deteriorate for those who are intellectually equipped to do the job? THIS Monday we published_as_HTML a document circulated inside the EPO regarding a sinister plan to crack down on staff using the pandemic as a pretext, in effect taking away yet more rights. The EPO isn’t unique in the way it takes advantage of COVID-19, but the EPO isn’t a private company; heck, its leadership is above the law (Benoît_Battistelli and António_Campinos would likely be prosecuted if it weren’t for immunity). “What good are patents that should never have been granted or, put differently, who are these good for?”Based on staff representatives at the EPO, member states are resisting a proposal from the Office, but probably for the wrong reasons. They’re still failing to hold the Office accountable for grotesque privacy violations (instead they’re attempted to cover up those violations). The demise of patent quality and the quality of hires don’t bother them, either. What good is an institution which so shamelessly violates its very own charter or mission statement? What good are patents that should never have been granted or, put differently, who are these good for? The video above discusses the latest document. It doesn’t seem to suggest that national delegates care about staff; what’s more, it shows how ludicrous ‘democracy’ has become at the EPO as delegates are only “allowed” to vote when (or if) the Office says so. █ “An Earthquake Would be Needed for the Administrative Council… Not to Support My Major Proposals.” –Benoît_Battistelli ䷩ 𝚕𝚒𝚗𝚎 130 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/25/free-software-greener/#comments Gemini version at gemini://gemini.techrights.org/2022/01/25/free-software-greener/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.25.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Free_Software_is_Greener⠀✐ Posted in Free/Libre_Software, FSF, GNU/Linux, Microsoft at 9:33 am by Dr. Roy Schestowitz Video_download_link | md5sum ea93ba0ddb1cb9457715443583b70027 Software Freedom From Waste Creative Commons Attribution-No Derivative Works 4.0 http://techrights.org/videos/freesw-vs-waste.webm Summary: Software Freedom is the only way to properly tackle environmental perils through reuse and recycling; the mainstream media never talks about it because it wants people to “consume” more and more products THE article "Proprietary_Software_is_Pollution" was published here last night after it had been shared with the FSF, known for the “Bad Vista” campaign which raised awareness about environmental harms of Windows Vista (deeply-embedded DRM, unreasonable energy usage levels, planned obsolescence etc.) and amid leadership shuffles at FSF (we heard rumours about the next Executive Director, possibly an in-house promotion for Greg Farough, the Campaigns Manager, who can suitably fill John Sullivan’s shoes) we hope that they will place greater emphasis on planetary benefit of Free software. It’s a subject that we covered here before; Richard M. Stallman recently stressed that he attempted to reduce his consumption of meat and Farough “has previously worked as a goat herder, labor organizer, and tutor of Attic Greek,” says_the_FSF’s_site. “Greg is a straight edge vegan, and is an emeritus of many loud and talentless bands in the American Midwest. They have a special fondness for glitchy guitar pedals, horror movies, and GNU Emacs (which gives some people just as many nightmares).” “Greenwashing Microsoft is bad enough, as Microsoft continues to attack Linux, but to make matters a lot worse, profiting from a campaign of lies (that ruin the planet) puts Zemlin et al on the same moral level as climate deniers, as we explained in a video a few months ago.”Anyway, the emphasis on environmental aspects would certainly help advance the cause of Software Freedom. Contrast to that, the Linux_Foundation is not only openwashing but also greenwashing proprietary software and surveillance, especially for Microsoft [1, 2, 3] because it is deeply corrupt and it is trying to confuse the public, as if Microsoft is “green”… Greenwashing Microsoft is bad enough, as Microsoft continues_to_attack_Linux, but to make matters a lot worse, profiting from a campaign of lies (that ruin the planet) puts Zemlin et al on the same moral level as climate deniers, as we explained in a video a few months ago. While the world’s biggest polluters (like one_who_has_a_whole_fleet_of aircrafts_and_still_flies_a_plane_of_a_child_sex_trafficker) bribe_the_media — along with corrupt institutions like the Linux Foundation — to portray themselves as “green” superheroes saving the planet the FSF has done very little to highlight the simple facts about Free software’s low environmental footprint. Little has been done by the FSF to explain the great extent to which Apple and Microsoft destroy the planet physically — never mind ethically — let alone Bill Gates being the most polluting person on this planet. Former Microsoft employee Mitchel Lewis explained_2_years_ago that Gates has “4 jets, 1 helicopter, 1 seaplane, yachts, and blood of his type waiting for him at many of his destinations as if he were a Bond villain” (he_is). █ ䷩ 𝚕𝚒𝚗𝚎 211 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/25/irc-log-240122/#comments Gemini version at gemini://gemini.techrights.org/2022/01/25/irc-log-240122/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.25.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ IRC_Proceedings:_Monday,_January_24,_2022⠀✐ Posted in IRC_Logs at 2:00 am by Needs Sunlight Also available via the Gemini protocol at: * gemini://gemini.techrights.org/irc-gmi/irc-log-techrights-240122.gmi * gemini://gemini.techrights.org/irc-gmi/irc-log-240122.gmi * gemini://gemini.techrights.org/irc-gmi/irc-log-social-240122.gmi * gemini://gemini.techrights.org/irc-gmi/irc-log-techbytes-240122.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  QmZBZ4oiVUxAGxpqqFYM2eSHo9WX5sVHPXgBpu2TSmoYYv #boycottnovell 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇HTML5 logs⦈ (full IRC log as HTML) IRC log for #boycottnovell  QmS4XMgyHewaTKqpgvRvFCqd3mn4ZeL7dnUCFzERDehQnW (full IRC log 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇text logs⦈ as plain/ASCII text) IRC log for #boycottnovell-  QmZGP4RNEuABKvrvWTwoK6zoBiwFs6RskS8XPysiCuowtR social 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇HTML5 logs⦈ (full IRC log as HTML) IRC log for #boycottnovell-  QmbeNXoRTcdpvo8CSLAJw3SiUodUBY4WUS8SNAuFpKHm7F social 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇text logs⦈ (full IRC log as plain/ASCII text) IRC log for  QmP7F3CTTm8syJtnku56QKAdRnukYs2zbwTZwPAvajGvH1 #techbytes 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇HTML5 logs⦈ (full IRC log as HTML) IRC log for #techbytes  QmarhitHTE3wDtaTLaQ2p4tUHb3JwJ1uHqVrnHxSBbKnnk (full IRC log 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇text logs⦈ as plain/ASCII text) IRC log for  QmbfdewuqrPPNZMTgWVaphMoNBnQp2LYLyuVfX6iCJk5XA #techrights 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇HTML5 logs⦈ (full IRC log as HTML) IRC log for #techrights  QmaCchDTM3GeojjaH2LHbXwLoW5xgwqtkc3XPWanpuuDyu (full IRC log 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇text logs⦈ as plain/ASCII text) 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇IPFS logo⦈ § Bulletin for Yesterday⠀➾ Local_copy | CID (IPFS): QmZjLA2jtgeEhSJihNxjJW3q7KaEU6iyCKve9pmkci3m61 ䷩ 𝚕𝚒𝚗𝚎 338 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/25/taking-upca-to-court/#comments Gemini version at gemini://gemini.techrights.org/2022/01/25/taking-upca-to-court/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.25.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ [Meme]_Get_Ready_for_Unified_Patent_Court_(UPC)_to_be_Taken_to_Court⠀✐ Posted in Courtroom, Deception, Europe, Patents at 11:09 am by Dr. Roy Schestowitz Courts aren’t a tally or straw_poll of headlines produced by (or for) patent litigation firms with a crystal clear conflict of interest 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇Benoît Ramsay on checking legality of UPC before proceeding⦈ In 2017 (5 years ago) Germany put UPCA on the ice; expect something similar this year (Team UPC has already shifted or shied away from saying “2022″; now it says “2023″ because it_has_always_been_"some_time_next_year") Summary: The Unified Patent Court (UPC) and Unitary Patent system that’s crafted to empower EPO thugs isn’t legal and isn’t constitutional either; even a thousand fake_news_'articles'_(deliberate_misinformation_or_disinformation) cannot change the simple_facts because CJEU isn’t “trial by media” [1, 2] ⢀⡄⠀⢂⣀⠀⠀⠀⢀⡀⠀⠀⠀⡞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⢀⠇⢀⠀⠀⠀⡈⣀⠀⣀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⣇⠀⣀⢀⡁⣀⡀⠀⠀⢀⡁⡀ ⣸⠀⡟⢸⠃⢸⢰⡁⣋⣐⠛⠰⠹⠁⠀⠀⠰⡘⠤⢓⡛⡇⡏⠀⡟⡝⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣃⢃⠏⢡⡃⢹⠆⣼⢀⠏⠇⠎⡎⠀⠀⢸⠁⠼⠸⠸⠀⠰⠁⠎⠀⠀⠀⣸⠀⠇ ⠈⠀⠁⠈⠀⠀⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀ ⠀⠀⠀⠀⠀⢀⠄⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠈⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⡏⠐⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠐⠀⠀⠁⡜ ⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣈⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡄⠀⠀⢀⢤⢠⡄⡄⡤⠠⠀⢰⠓⢂⢤⠀⡤⠤⣤⣤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡅ ⠸⠰⡁⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠋⠇⠘⠘⠀⢣⠆⠀⠘⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⢠ ⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠃⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡠⢌⠁⢀⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⡄⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡆⣄⢠⣤⡄⢶⣃⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢂⡇⠘⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀ ⣠⠸⠁⣴⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠁⡇⣿⢸⣼⡇⡞⠙⡆⢀⡆⡄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⢀⠆⠦⠒⠀⡾⠲⢸⢱⠭⠀⢸⢁⡔⠂⠀⡰⡽⢰⠃⠏⢰⠹⢸⠚⠀⢰⠓ ⠛⠓⠉⠈⠸⠈⠁⠂⠐⠀⠈⠓⠀⠋⠀⠐⠂⠊⠐⠐⠂⠈⠋⠉⠁⠀⢹⣼⠤⠹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠉⠁⠀⠉⠀⢁⢠⠃⠁⠁⠈⠀⠀⠈⠀⠈⠀⠀⠈⠉⠁⠀⠁⠈⠁⠈⠀⠀⠀⠁ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⣶⡆⣿⢸⡇⣷⢰⣰⣦⡄⡖⣦⢺⠃⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⢻⣇⢧⢟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⠀⢀⡀⢰⢀⠀⠀⡀⡀⢀⣀⢀⠀⡀⡀⢀ ⢶⢶⡂⣊⢃⡘⣚⣘⢀⣀⡀⢀⣋⠎⡎⠸⣠⢑⣲⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⠉⠉⢁⣹⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⠼⠰⠄⢇⠀⠏⠏⠀⢨⠏⠇⡜⠀⠆⠠⠁⠇⠇ ⠈⠈⠁⢹⢸⡇⣿⠼⢸⡇⡓⠈⣿⢹⣶⡯⠧⢹⢱⡏⣿⣿⢖⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀⣼⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠘⠚⠃⠛⠀⠘⠳⠃⠀⠛⠚⠋⠓⢃⣸⣨⣷⣯⣻⣸⣿⣞⣾⣿⠗⠀⠀⠀⠀⠀⠀⠀⠘⣿⣧⠘⣀⠇⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡄⢠⠒⠀⠀⢠⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆ ⡀⣀⢀⣀⡀⣀⠀⢀⣀⠀⣔⡀⢀⡀⠀⣆⠠⣟⣽⢻⡟⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡏⠀⣿⠀⢹⣿⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⠂⡄⡄⡸⢠⠄⠄⠀⣺⢂⠤⠀⠀⡄⡄⢸⠸⠀ ⠻⠹⢼⡇⣿⣿⠁⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠃⢠⣿⠀⢸⡿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠄⠇⠐⠃⠘⡞⠀⠀⠃⠈⠒⠀⠀⠃⠀⠇⠇⠀ ⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠭⡅⣭⡭⠬⠍⢱⣿⣭⣬⣥⣭⡈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢠⢸⣿⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀ ⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣬⣥⣤⣤⣼⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢸⣿⠆⣼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⣿⣿⡿⣿⢇⣿⢿⣿⢽⣽⣿⣿⣿⣿⢿⣛⡀⡀⡀⣀⡀⣀⣆⣀⠀⢀⣀⢀⣀⢀⣀⢀⣠⢼⣿⣂⣹⣁⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢹⡠⣸⠱⢰⠒⢸⢲⠀⠖⠖⡆⡆⠆ ⣿⣿⣿⣷⣾⣾⣿⣿⣯⣦⣿⣽⣿⣯⣿⣿⣿⣿⠾⠛⠖⠛⠗⠛⠑⠛⠖⠓⠟⠀⢸⡾⠙⠞⠙⠞⠻⠚⢾⣿⣳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀ ⠉⠿⠿⣿⠯⢿⠍⠹⠿⠿⠯⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡀⠀⠀⡀⠀⠀⠀⢀⠀⠀⠀⠀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣴⣷⣿⣿⣿⣿⣿⣷⣶⣄⠀⠀⠀⠀⠇⢀⠀⠀⠀⡈⠀⠀⢀⠁⡀⡀⠀⠀⠀⠀⠀⡄⢀⢇⠀⣀⢀⡀⣀⡀⠀⠀⢀⠀⡀ ⣸⠀⡝⢸⠁⢘⢠⠁⣋⣐⠁⠰⢹⠀⠀⠀⠰⠘⠠⢓⡓⠃⡎⠀⡝⡜⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣃⢃⠏⢡⠁⢡⠀⢜⢀⠇⡇⠮⡆⠀⠀⠰⠁⠜⠸⠸⠀⠰⠅⠎⠀⠀⠀⢸⠀⠅ ⠈⠀⠀⠈⠀⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀ ⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢠⠀⠀⠀⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⠐⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠐⠀⠀⠁⡌ ⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⠀⡀⢀⢰⠃⣈⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠄⠀⠀⢀⢤⠀⡄⠄⡤⠠⠀⢰⠓⢂⠤⠀⡤⠤⣤⢤⠀⠀⠀⡠⠄⢀⠃⠀⠀⠀⠸⡄ ⠸⠰⠁⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠂⠆⠘⠘⠀⢣⠆⠀⠘⠀⠈⠂⠐⠁⠘⠘⠘⠀⠀⠀⠑⠀⠘⠀⠀⠀⠀⢄⠠ ⠀⠀⠀⠈⠉⠁⠙⠉⠈⠁⠁⠉⠈⠊⠈⠋⠁⠘⠋⠀⠈⠋⠁⠉⠉⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠠⢈⠁⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⡄⠀⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⡄⢲⣁⠆⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠂⢂⠇⠘⠀⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡌⢀⠀⠀⠀⠀⠀⠀⠀ ⣠⠸⠁⣔⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠀⡇⣿⢸⣼⡇⡎⠙⡆⠀⠆⡄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠆⠆⠀⠄⡸⠀⠆⠦⠒⠀⡾⠲⢸⢡⠭⠀⢸⠁⡔⠂⠀⡰⡘⢠⠃⠇⢰⠩⢐⠊⠀⢐⠁ ⠑⠒⠉⠈⠰⠈⠁⠂⠐⠀⠈⠓⠀⠋⠀⠐⠂⠂⠐⠐⠂⠈⠋⠉⠀⠀⢘⡬⠄⠹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠁⠀⠁⠀⠁⢠⠁⠁⠁⠈⠀⠀⠈⠀⠈⠀⠀⠀⠁⠀⠀⠁⠈⠀⠈⠀⠀⠀⠁ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⢶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠁⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⢷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⢀⣠⣷⣦⣀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⠀⢀⡀⢰⠀⠀⠀⡀⡀⢀⣀⢀⠀⡀⡀⢀ ⢖⢲⡂⣊⢃⡘⣘⣘⢀⣀⡀⠀⣋⠊⡎⠸⢠⢀⡂⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⠟⠀⠀⠀⠀⣿⣿⡿⠉⠉⢁⣹⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠇⠸⠰⠀⠇⠀⠏⠇⠀⢨⠃⠇⠜⠀⠆⠠⠁⠅⠇ ⠀⠈⠀⢹⢸⡇⣿⠼⢸⡇⡃⠀⣿⢹⣶⡯⠇⢹⢡⡏⣷⢸⠂⣾⠷⢻⣿⣿⣿⡟⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀⣼⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠘⠚⠃⠛⠀⠘⠓⠃⠀⠛⠚⠉⠓⠃⠘⠈⠓⠋⠙⠀⢛⣞⣾⣿⣿⡿⠀⠀⠀⠀⠀⠀⠘⣿⣧⠘⢀⠀⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠀⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆ ⡀⡀⢀⣀⡀⣀⠀⢀⣀⠀⣐⡀⢀⡀⠀⣄⠀⣃⣠⢠⡄⣀⣀⣿⣿⣿⣿⣿⣇⣴⣿⡷⠀⠀⠀⠀⣿⡏⠀⢸⠀⢹⣿⠀⠀⠀⠿⠿⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡖⠂⡄⡄⡘⢠⠀⠄⠀⡸⠀⠤⠀⠀⡄⡄⠸⠰⠀ ⠻⠹⢸⡇⣿⣿⠁⣿⣿⢸⡇⡁⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⢸⠁⠀⣿⠀⢸⡿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠄⠃⠐⠃⠘⡜⠀⠀⠃⠀⠒⠀⠀⠃⠀⠇⠇⠀ ⠀⠀⠘⠋⠁⠉⠀⠉⠉⠈⠉⡅⣭⡭⠨⠉⠁⠉⠉⠈⣥⣿⣬⣴⣓⣫⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠈⢠⢸⣿⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀ ⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣥⣤⣤⣤⣤⠀⠀⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠄⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⡿⣿⢇⣿⢿⣿⢽⣼⣿⣿⣿⣴⠄⣿⣿⡻⡟⣁⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣠⢼⣿⣀⣸⣁⡀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢹⡀⢰⠰⢰⠒⢰⢰⠀⠖⠖⠆⡆⠄ ⣿⣿⣿⣷⣾⣾⣿⣿⣯⣦⣿⣽⣿⣮⣿⣿⣿⣿⠞⠛⠷⣿⠟⠛⠑⠛⠖⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⠚⢾⣿⢳⣟⠳⠋⠻⠓⠿⠚⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠋⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀ ⠉⠟⠿⣿⠏⢿⠍⠹⠿⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡀⠀⠀⡀⠀⠀⠀⢀⡀⠀⠀⠀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣴⣷⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠇⢀⠀⠀⠀⡈⠀⠀⢀⠁⡀⡀⠀⠀⠀⠀⠀⡄⢀⢇⠀⣀⠀⡀⣀⡀⠀⠀⢀⡀⡀ ⢸⠀⡝⢸⠁⢘⢠⠁⣊⣐⠁⠰⠹⠀⠀⠀⠰⠘⠤⢓⡓⡃⡏⠀⡝⡝⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣃⢃⠏⢡⠃⢩⠂⢜⢀⠏⡇⠎⡆⠀⠀⠰⠁⠜⠸⠸⠀⠰⠁⠎⠀⠀⠀⢸⠀⠅ ⠈⠀⠀⠈⠀⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢠⠃⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀ ⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢄⠀⠀⠀⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⠂⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠐⠀⠀⠁⡌ ⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣈⠀⡀⣀⢠⠄⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠄⠀⠀⢀⢤⠀⡄⠀⡤⠀⠀⢰⠓⢂⠤⠀⡤⠤⣄⢤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡄ ⠸⠰⠁⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠂⠆⠘⠘⠀⢣⠂⠀⠘⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠀⠸⠀⠀⠀⠀⢄⠠ ⠀⠀⠀⠘⠉⠁⠙⠙⠈⠁⠃⠉⠈⠊⠈⠃⠃⠘⠋⠀⠈⠋⠁⠉⠉⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡠⢌⠁⠀⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⡄⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡆⣄⢠⣤⡄⢲⣁⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢂⠇⠘⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡌⢀⠀⠀⠀⠀⠀⠀⠀ ⣠⠸⠀⣴⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠀⡇⣿⢸⣼⡇⡎⠙⡆⠀⠆⡄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⠀⠆⢦⠒⠀⡾⠲⢸⢱⠈⠀⢸⠁⡔⠂⠀⡰⡸⢠⠃⠇⢰⠹⢐⠂⠀⢰⠀ ⠑⠓⠉⠈⠐⠈⠁⠂⠐⠀⠈⠓⠀⠉⠀⠐⠂⠂⠐⠐⠂⠈⠋⠉⠀⠀⢙⣬⠤⠹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠈⠁⠀⠁⠀⢁⢀⠁⠁⠁⠈⠀⠀⠈⠀⠈⠀⠀⠀⠁⠀⠀⠁⠈⠁⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⢶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠁⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⢷⠆⣻⣺⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⠀⢀⡀⢰⠀⠀⠀⡀⡀⢀⡀⢀⠀⡀⡀⢀ ⢖⢒⠂⣊⢃⡘⣘⣘⢀⣀⡀⠀⣃⠊⡎⠸⢠⢀⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣦⠀⠀⣿⣿⡿⠉⠉⠁⣬⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⠨⠰⠀⠇⠀⠏⠇⠀⢨⠃⠇⠜⠀⠆⠠⠁⠇⠇ ⠈⠈⠀⢹⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢡⡏⣷⢸⠆⣾⠵⠀⠀⠀⠀⣠⣾⣿⣿⡿⠀⢸⣿⡇⠀⠀⣜⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠘⠚⠃⠛⠀⠘⠓⠃⠀⠛⠚⠉⠓⠃⠘⠈⠓⠋⠚⠀⠛⠚⠀⠀⢀⣾⣿⣿⣿⡟⠀⠀⠘⣿⣧⠘⣀⠁⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠀⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆ ⡀⡀⢀⣀⡀⣀⠀⢀⣀⠀⣐⡀⢀⡀⠀⣄⠀⣃⣠⢠⡄⣀⣀⠀⡀⡀⢠⣿⣿⣿⣿⠏⠀⠀⠀⠀⢿⡟⠀⣿⠀⢸⣿⠀⠀⠀⠿⠿⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡗⠂⡄⡄⡘⢠⠀⠄⠀⢺⠂⠤⠀⠀⡄⡄⢸⠸⠀ ⠹⠹⢸⡇⣿⣿⠁⣿⣿⢸⡇⡁⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⣧⣿⣿⣿⣿⣿⣀⣶⣶⠀⠀⢸⠇⢀⣿⠀⢸⡿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠄⠃⠐⠃⠘⡞⠀⠀⠃⠀⠒⠀⠀⠃⠀⠇⠇⠀ ⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠭⡥⣭⡭⠬⠉⠁⠉⠉⠈⠁⠉⠈⣐⣓⣫⣿⣿⣿⣿⣿⡿⠋⠁⠀⠀⠀⢠⢸⣿⠀⢨⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠈⢸⣿⠁⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⡿⣿⢇⣿⢿⣿⢽⣽⣿⣿⣿⣴⠄⣀⡀⣿⡿⣿⣿⣗⣆⣀⠀⢀⣀⢀⣀⢀⣀⢀⣠⢼⣿⣀⣸⣁⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣠⣀⠀⠀⠀⢢⢹⡀⠰⠰⢰⠒⢰⢲⠀⠖⠖⠆⡆⠆ ⣿⣿⣿⣷⣾⣾⣿⣿⣯⣦⣿⣽⣿⣮⣿⣿⣿⣿⠞⠛⠖⠛⣿⡻⠹⠛⠖⠓⠝⠀⢸⡾⠘⠞⠙⠞⠻⠚⢾⣯⡳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠋⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀ ⠉⠟⠿⣿⠯⢿⠍⠹⠿⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠹⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣾⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡀⠀⠀⡀⠀⠀⠀⢀⠀⠀⠀⠀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣴⣷⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠇⢀⠀⠀⠀⡈⠀⠀⢀⠃⡀⡀⠀⠀⠀⠀⠀⡄⢀⢇⠀⣀⠀⡀⣀⡀⠀⠀⢀⠀⡀ ⣸⠀⡜⢸⠁⢘⢠⠁⣊⣐⠉⠰⠹⠀⠀⠀⠰⠘⠤⢓⡓⡃⡎⠀⡝⡜⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣃⢃⠏⢠⠃⢡⠀⣜⢀⠇⡇⠎⡌⠀⠀⢰⠁⠜⠸⠸⠈⠰⠁⠎⠀⠀⠀⣸⠀⠅ ⠈⠀⠀⠀⠀⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀ ⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠀⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠐⠀⠀⠁⡌ ⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⠀⡀⢀⢰⠃⣈⠀⡀⣀⢠⠄⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⢀⢠⠀⡄⠄⡤⠀⠀⢰⠓⢂⠤⠀⡤⠠⣄⢤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡄ ⠸⠰⠁⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠃⠇⠘⠘⠀⢣⠂⠀⠘⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠀⠸⠀⠀⠀⠀⢄⠠ ⠀⠀⠀⠈⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠃⠁⠘⠋⠀⠈⠋⠁⠉⠉⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡤⢌⠁⠀⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⡄⠀⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡆⣄⢠⣤⡄⢲⣁⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠂⢂⠇⠘⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀ ⣠⠸⠁⣔⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠀⡇⣿⢸⣼⡇⡎⠙⡆⠀⠆⡄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠆⠆⠀⠄⣸⠀⡆⢦⠒⠀⡾⠲⢸⢱⠨⠀⢸⠁⡔⠂⠀⡰⡸⢠⠃⠇⢰⠹⢐⠂⠀⢐⠁ ⠑⠒⠉⠈⠐⠈⠁⠂⠐⠀⠈⠓⠀⠉⠀⠐⠂⠊⠐⠐⠂⠈⠋⠉⠀⠀⢘⣌⠤⠹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠁⠀⠁⠀⢁⢠⠁⠁⠁⠈⠀⠀⠈⠀⠈⠀⠀⠀⠁⠀⠀⠁⠈⠁⠈⠀⠀⠀⠁ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⢶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠁⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⢷⠆⣻⣺⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⠀⢀⡀⢰⠀⠀⠀⡀⡀⢀⡀⢀⠀⡀⡀⢀ ⠖⢒⡂⣊⢃⡘⣘⣘⢀⣀⡀⠀⣃⠊⡎⠸⢀⢀⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⣿⣿⡿⠉⠉⠁⣩⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⠸⠰⠀⠇⠀⠏⠇⠀⢨⠃⠇⠞⠀⠆⠠⠁⠇⠇ ⠈⠈⠀⢹⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⢺⠆⣾⠵⠀⠀⠀⠀⠀⢀⣴⣿⣧⡄⢹⣿⡇⠀⠀⣜⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠘⠚⠃⠛⠀⠘⠓⠃⠀⠛⠚⠉⠓⠃⠘⠈⠓⠋⠘⠀⠛⠚⠀⠀⠀⠀⣰⣿⣿⣿⡟⠁⠸⣿⣧⠘⣀⠁⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠀⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆ ⡀⣀⢀⣀⡀⣀⠀⢀⣀⠀⣀⡀⢀⡀⠀⣄⢀⣃⣠⢠⡄⣀⣀⠀⡀⡀⠀⢠⣾⣿⣿⣿⠏⠀⠀⠀⣿⡟⠀⣿⠀⢸⣿⠀⠀⠀⠿⠿⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠂⡄⡄⡸⢠⠀⠄⠀⢸⠂⠤⠀⠀⡄⡄⢸⠸⠀ ⠹⠹⢸⡇⣿⣿⠁⣿⣿⢸⡇⡁⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⢠⣾⣿⣿⣿⡏⢠⣤⡀⠀⢸⠇⠀⣿⠀⢸⡿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠄⠃⠐⠃⠘⡞⠀⠀⠃⠀⠂⠀⠀⠃⠀⠇⠇⠀ ⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠭⡥⣭⡭⠬⠉⠁⠉⠉⠈⠁⠉⠈⠐⠓⣣⣿⣿⣿⣿⣿⣷⡿⠟⠁⠀⠈⢠⢸⣿⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⢸⣿⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⡿⣿⢇⣿⢿⣿⢽⣼⣿⣿⣿⣴⠄⣀⡀⣸⣿⣿⣿⣏⣏⣋⠉⢀⣀⢀⣀⢀⣀⢀⣠⢼⣿⣀⣸⣁⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢹⡀⡰⠰⢰⠒⢰⢲⠀⠆⠖⠆⡆⠆ ⣿⣿⣿⣷⣾⣾⣿⣿⣯⣦⣿⣽⣿⣯⣿⣿⣿⣿⠞⠛⠶⠛⢿⣿⠿⠛⠟⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⠚⢾⣯⠳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠋⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀ ⠉⠟⠿⣿⠏⢿⠍⠹⠿⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⢸⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣼⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡀⠀⠂⡀⠀⠀⠀⢀⡀⠀⠀⠀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣶⣷⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠇⢀⠀⠀⠀⡈⠀⠀⢀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⢇⠀⣀⢀⡀⣀⡀⠀⠀⢀⡀⡀ ⡸⠀⡝⢸⠁⢸⢠⠁⣊⣐⠃⠰⢹⠁⠀⠀⠰⠘⠤⢓⡗⡃⡏⠀⡟⡜⢰⡹⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣃⢃⠏⢡⠃⢹⠆⣼⢀⠏⡇⠎⡆⠀⠀⢰⠁⠜⠸⠸⠀⠰⠁⠎⠀⠀⠀⢸⠀⠅ ⠈⠀⠁⠈⠀⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠃⠀⠀ ⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢙⢄⡀⠀⠁⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⡏⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠐⠀⠀⠁⡜ ⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣈⠀⡀⣀⢠⠄⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⢀⢤⠠⡄⠄⡤⠠⠀⢰⠓⢂⠤⠀⡤⠠⣤⢤⠀⠀⠀⡠⠄⢀⠃⠀⠀⠀⠸⡄ ⠸⠰⠁⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠋⠇⠘⠘⠀⢣⠆⠀⠘⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⠠ ⠀⠀⠀⠘⠉⠁⠙⠉⠈⠁⠃⠉⠈⠊⠈⠋⠁⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡠⢌⠁⢀⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡆⣄⢠⣤⡄⢲⣁⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢂⡇⠘⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀ ⣠⠸⠀⣴⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠁⡇⣿⢸⣼⡇⡎⠙⣆⠀⠆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⢀⠆⠦⠒⠀⡾⠲⢸⢱⠭⠀⢸⠁⡔⠂⠀⡰⡸⢠⠃⠇⢰⠹⢰⠚⠀⢰⠓ ⠓⠓⠉⠊⠰⠈⠁⠂⠐⠀⠈⠓⠀⠋⠀⠐⠂⠊⠐⠐⠂⠈⠋⠉⠀⠀⢙⡜⠠⠹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠈⠁⠀⠁⠀⠁⢠⠁⠁⠁⠈⠀⠀⠈⠀⠈⠀⠀⠀⠁⠀⠀⠁⠈⠁⠈⠀⠀⠀⠁ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⢖⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠁⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⢷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⠀⢀⡀⢰⠀⠀⠀⡀⡀⢀⡀⢀⠀⡀⡀⢀ ⢖⢲⠂⣊⢃⡘⣘⣘⢀⣀⡀⠀⣋⠊⡏⠸⢠⢁⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⡟⠉⠉⢁⣽⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⠸⠰⠄⠇⠀⠏⠏⠀⢨⠇⠇⠞⠀⠎⠠⠁⠇⠇ ⠈⠈⠀⢹⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠂⣾⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡇⠀⠀⢸⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠘⠚⠃⠛⠀⠘⠳⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⢹⣿⣧⠘⣀⠸⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡄⢠⠐⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆ ⡀⣀⢀⣀⡀⣀⠀⢀⣀⠀⣔⡀⢀⡀⠀⣔⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⣀⣠⣴⣾⣿⣿⡀⠀⠀⠘⣿⡇⠀⣿⠀⣿⣿⠀⠀⠀⠿⠿⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡿⠂⡄⡄⡼⢠⠄⠄⠀⣺⠂⠤⠀⠀⡄⡄⢰⠸⠀ ⠹⠹⢸⡇⣿⣿⠁⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⣿⠀⢠⣿⠀⣸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠄⠃⠐⠃⠘⡞⠀⠀⠃⠀⠒⠀⠀⠃⠀⠆⠇⠀ ⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠩⡥⣭⡍⠈⠉⠁⠉⠉⠈⠁⠉⢈⣴⣓⣫⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠸⢠⢸⣿⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀ ⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣬⣤⣥⣤⣤⣤⣤⢀⣀⣠⣶⣿⣿⣿⣿⣿⣿⣷⣦⣤⡄⠀⠀⠀⠀⠀⡇⢸⣿⠀⣻⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⣿⣿⡦⢷⢵⣧⣽⣴⣿⣿⣿⣿⢿⣿⡿⡿⡿⣿⣿⣟⣟⣟⠛⢋⣀⢀⣀⢀⣀⢀⣣⢼⣿⣀⣸⣁⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢹⡀⡰⠱⢰⠒⢰⢲⠀⠖⠖⡆⡆⠄ ⣿⣿⣿⣷⣾⣾⣿⣿⣽⣶⣿⣽⣯⣾⣿⣿⣿⣿⣾⣿⣷⣟⡟⠻⠙⠛⠟⠓⠟⠀⢸⡾⠙⠞⠙⠞⠻⠚⢾⣿⠳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠋⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀ ⠉⠟⠿⣿⠯⢿⠍⠹⠿⠟⠏⠉⠉⠉⠉⠉⠉⠙⣿⡟⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣼⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡄⠰⢂⣄⠀⠀⠀⢠⡀⠀⠀⠀⡎⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣾⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⢀⡇⢀⠀⠀⠀⡊⣀⠀⣀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⢇⠀⣀⢀⡁⣀⡀⠀⠀⢀⡁⡀ ⣸⠀⣟⢸⢃⢸⣰⡃⣋⣐⠛⠲⢹⠁⠀⠀⠸⡜⠤⢓⡿⡗⣏⠄⡟⡟⢴⣹⠀⠀⢰⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠤⣓⢃⠏⢱⡃⢹⠆⣼⢀⠏⡇⠮⡎⠀⠀⢸⡁⠜⠸⠸⠈⠰⠅⠎⠀⠀⠀⣸⠀⠇ ⠈⠀⠉⠈⠁⠈⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢠⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀ ⠀⠀⠀⠀⠀⢀⠄⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠉⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠋⡟⠒⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠐⠀⠀⢓⡜ ⣀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣜⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡄⠀⠀⢠⢤⢠⣤⡄⣤⢠⠀⢰⠓⢂⢤⠠⡤⠤⣤⣤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡅ ⠸⠰⡅⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡯⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠻⠇⠘⠘⠂⢣⠇⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⡸⠀⠀⠀⠀⢄⠤ ⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⢙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⣴⢮⠁⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡤⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡖⣄⢠⣤⡔⢷⣋⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢃⣇⡸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀ ⣠⢸⠁⣴⠀⣿⣬⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠃⡇⣿⢸⣼⡇⡎⠹⣆⢀⡆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⢀⡦⢦⠒⠀⡾⠲⢸⢱⠯⠀⢸⢃⡖⠂⠀⡰⡼⢰⠃⡏⢰⠽⢰⠚⠀⢸⠓ ⠓⠛⠉⠚⠸⠈⠁⠚⠐⠂⠈⠓⠐⠋⠀⠐⠊⠊⠐⠐⠂⠈⠋⠙⠁⠀⢙⣼⠧⠹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠉⠁⠀⠉⠀⠉⢠⠋⠁⠁⠈⠀⠀⠈⠀⠈⠁⠀⠈⠉⠁⠀⠉⠈⠁⠈⠀⠀⠀⠁ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢸⣁⠀⠀⡀⡀⣀⣀⣈⠀⡀⡀⢀ ⢷⢶⡇⣊⢃⡚⣚⣘⢀⣀⡀⢀⣋⠾⣿⣿⣿⢗⣲⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡟⠉⠉⢉⣽⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⢼⢰⠅⢇⠄⠏⠏⠀⢸⠇⠇⡾⠀⡮⠰⠡⠇⠇ ⠈⠈⠁⣿⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠧⢹⢱⡏⣷⣾⠆⣾⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡇⠀⠀⣸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠘⠞⠃⠛⠀⠘⠳⠃⠉⣛⣺⣿⣳⣫⣸⣨⣳⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣧⠘⣀⠘⣿⣿⡇⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠒⠂⠀⢠⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠆ ⡀⣀⣀⣀⡀⣀⠀⢀⣀⠠⣜⣿⢿⡿⡿⣿⣿⣿⣭⢩⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⣿⠀⣿⣿⠃⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠆⡄⡄⡼⢠⠄⠄⠀⣺⢂⠤⠀⠀⡄⡄⢸⠸⠀ ⠻⠹⢸⡇⣿⣿⠃⣿⣿⢸⡇⡃⣿⣛⢸⡟⣋⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠃⢠⣿⠀⢸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠆⠇⠐⠃⠘⡾⠀⠀⠗⠉⠓⠀⠀⠃⠀⠇⠇⠀ ⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠭⡵⣭⡽⠿⢿⣿⣿⣽⣬⣥⡍⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⢰⢸⣿⠀⢸⣿⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠸⠈⠀⠀ ⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣭⣶⣷⣶⣾⣿⣿⠛⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢸⣿⡄⣸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⣿⣿⣿⡿⣼⣿⣿⣯⣧⣿⣿⣿⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣫⢼⣿⣃⣹⣇⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢻⡰⣸⠵⢰⠒⢸⢲⠀⠖⢖⡆⡆⠆ ⣿⣿⣿⣷⣾⣾⣿⣿⣽⣽⣯⣿⣿⣽⣿⣿⣿⣿⠞⠛⠶⠛⠟⠻⠑⠛⠖⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⠞⢾⣿⣳⣟⡳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠃⠆⠀⠀⠠⠘⠁⠈⠁⠉⠀⠁⠈⠈⠈⠀⠁⠉⠀ ⠉⠿⠿⣿⠯⢿⠍⠹⠩⠟⠏⠙⠋⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡄⠐⢂⡄⠀⠀⠀⢠⡀⠀⠀⠀⡎⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣾⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⢀⠇⢀⠀⠀⠀⡈⡀⠀⣀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⢇⠀⣀⢀⡀⣀⡀⠀⠀⢀⡀⡀ ⣸⠀⡟⢸⠃⢸⣰⡃⣋⣐⠫⠰⢹⠁⠀⠀⠰⡜⠤⢓⡛⡃⡏⠇⡟⡟⢴⡹⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣓⢃⠏⢡⡃⢹⠆⣼⢀⠏⡇⠮⡎⠀⠀⢸⡁⠜⠸⠸⠈⠰⠅⠎⠀⠀⠀⣸⠀⠇ ⠈⠀⠁⠈⠁⠈⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢠⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀ ⠀⠀⠀⠀⠀⢀⠄⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢄⡀⠀⠁⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⡏⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠐⠀⠀⠁⡜ ⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣘⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡄⠀⠀⢀⢤⢠⣄⡄⣤⠠⠀⢸⠓⢂⠤⠀⡤⠠⣤⢤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡅ ⠸⠰⡁⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠋⠇⠘⠘⠂⢣⠆⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⠠ ⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⡀⡴⢎⠁⢄⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⡄⢶⣃⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢂⣇⠸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀ ⣠⠸⠁⣴⠀⣿⣬⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠁⡇⣿⢸⣼⡇⡞⠹⡆⠀⡆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⢀⡆⢦⠒⠀⡾⠲⢸⢱⠭⠀⢸⠃⡔⠂⠀⡰⡙⢠⠃⡏⢰⠽⢐⠚⠀⢰⠓ ⠓⠓⠙⠚⠐⠈⠁⠊⠐⠂⠈⠓⠀⠋⠀⠐⠂⠊⠐⠐⠂⠈⠋⠙⠀⠀⢘⣼⠧⣹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠉⠁⠀⠁⠀⢉⢠⠃⠁⠁⠈⠀⠀⠈⠁⠈⠁⠀⠀⠉⠁⠀⠁⠈⠁⠈⠀⠀⠀⠁ ⠀⠀⣶⡄⣿⢠⣶⡄⣶⢴⢠⢶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⡆⣿⣷⠿⣸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢰⣁⠀⠀⡀⡀⢀⡀⣀⠀⡀⡀⢀ ⢿⣿⣿⣿⢃⣿⣟⣘⢀⣀⡀⠀⣋⠎⡟⠸⢡⢁⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠉⠉⢡⣼⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠇⢸⢰⠄⢇⠄⠏⠏⠀⢨⠇⠇⡞⠀⡮⠰⠡⠇⠇ ⡘⣿⣿⣿⢸⣿⣿⠼⢸⡇⡓⠈⣿⢹⣶⡯⠇⢹⢡⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⡏⠀⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣾⣿⣿⣄⣸⣷⡫⠃⠛⠚⠋⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣧⠘⣀⠄⣿⣿⡇⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠒⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆ ⣿⣿⣿⣿⡿⣿⠿⣿⣿⡏⣔⣀⢀⡀⠀⣆⠀⣀⣠⢠⡄⣀⣀⠀⡀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡏⠀⣿⠀⢸⣿⡇⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡿⠂⡄⡄⡼⢠⠄⡄⠀⣺⢂⠤⠀⠀⡄⡄⢰⠸⠀ ⢻⣿⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⠇⢀⣿⠀⢸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠄⠇⠐⠃⠘⡾⠀⠀⠃⠁⠒⠀⠀⠃⠀⠇⠇⠀ ⠀⠹⣟⣫⣿⣽⣼⣿⠉⠨⠭⡥⣭⡭⠨⠉⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⢰⢸⣿⡇⢨⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠰⠀⠀⠀ ⣤⣼⣿⣿⣿⣿⣿⣯⣤⣤⣤⣬⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣾⢸⣿⡇⢸⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⡿⣸⣿⣿⡯⣯⣿⣿⣿⣿⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣫⢼⣿⣇⣸⣁⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢹⡐⡰⠵⢰⠒⢸⢲⠀⠖⢖⡆⡆⠆ ⣿⣿⣿⣷⣾⣼⣿⣵⣾⣯⣿⣷⣿⣿⣿⣿⣿⣿⠞⠛⠖⠛⠗⠻⠑⠛⠞⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⠚⢾⣿⡳⣟⡳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠋⠃⠆⠀⠀⠠⠘⠁⠈⠁⠉⠀⠁⠈⠈⠈⠀⠁⠁⠀ ⠉⠿⠿⣿⠉⠻⠍⠩⠹⠟⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡧⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡀⠐⢂⡄⠀⠀⠀⢀⡀⠀⠀⠀⡎⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣴⣷⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡇⢀⠀⠀⠀⡈⡀⠀⣀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⢇⠀⣀⢀⡀⣀⡀⠀⠀⢀⡀⡀ ⣸⠀⡟⢸⠃⢸⣠⡁⣛⣐⠋⠰⢹⠁⠀⠀⠰⠘⠤⢓⡻⡃⡏⠀⡟⡝⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣃⢃⠏⢡⡃⢹⠆⣼⢀⠏⡇⠮⡎⠀⠀⢸⡁⠼⠸⠸⡈⠰⠅⠎⠀⠀⠀⣸⠀⠇ ⠈⠀⠁⠈⠁⠀⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀ ⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢄⡀⠀⠁⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠊⡟⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠐⠀⠀⢁⡜ ⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣈⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡄⠀⠀⢀⢤⢠⣄⡄⡤⢠⠀⢰⠓⢂⠤⠀⡤⠤⣤⣤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡄ ⠸⠰⡅⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠋⠇⠘⠘⠀⢣⠇⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⠠ ⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠉⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡴⢎⠁⢀⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⡔⠂⠀⣠⣄⢰⣤⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡖⣄⢠⣤⡄⢶⣃⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢂⣇⡸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀ ⣠⢸⠁⣴⠀⣿⣨⢸⢸⡇⣿⣻⢸⣇⡅⣿⣧⢸⠀⡇⣿⢸⣼⡇⡎⠹⡆⠀⡆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⢀⡆⢦⠒⠀⡾⠲⢸⢱⠽⠀⢸⠁⡔⠂⠀⡰⡹⢠⠃⡏⢰⠽⢰⠚⠀⢸⠃ ⠓⠓⠙⠊⠰⠈⠁⠂⠐⠂⠈⠓⠀⠋⠀⠐⠂⠂⠐⠐⠂⠈⠋⠉⠁⠀⢙⣼⠧⣹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠉⠁⠀⠉⠀⢉⢠⠃⠁⠁⠈⠀⠀⠈⠀⠈⠀⠀⠀⠉⠀⠀⠁⠈⠁⠈⠀⠀⠀⠁ ⠀⠀⢠⣄⣿⢠⣶⡄⣶⢰⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠂⠁⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢠⣶⠘⣿⡿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢰⠀⠀⠀⡀⡀⢀⡀⣐⠀⡀⡀⢀ ⠞⣿⣇⣻⢟⡸⣿⣘⢀⣀⡀⠀⣋⠎⡟⠸⢡⢁⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠉⠉⢡⣽⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⠸⢰⠄⢇⠀⠏⠏⠀⢨⠇⠇⡜⠀⡎⠰⠡⠇⠇ ⡀⢻⣿⣿⢸⣯⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡏⠀⠀⢹⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣾⣿⣿⣾⣿⣿⣇⠘⣳⣧⣦⠛⠚⠉⠓⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣧⠘⣀⠘⣿⣿⠇⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⡆ ⣿⣿⣿⣿⣿⣿⢿⢿⣾⡿⣋⡀⢀⡀⠀⣆⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⡇⠀⣿⠀⢿⣿⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠂⡄⡄⡼⢠⠄⠄⠀⣺⢂⠤⠀⠀⡄⡄⢸⢸⠀ ⢻⣿⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⢠⣿⠀⢸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠄⠇⠐⠃⠘⡞⠀⠀⠃⠀⠒⠀⠀⠃⠀⠇⠇⠀ ⠀⠹⣟⣫⣿⣽⣼⣭⡉⠈⠍⡥⣭⡭⠈⠉⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⢰⢸⣿⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀ ⣤⣤⣿⣿⣿⣿⣿⣿⣤⣤⣤⣬⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠏⡿⢸⣿⡇⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⣿⣿⣿⣽⣼⣿⣿⣿⣿⣿⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣣⢼⣿⣇⣹⣃⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢻⡀⣹⠵⢰⠒⢸⢲⠀⠆⠖⡆⡆⠄ ⣿⣿⣿⣷⣾⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠞⠛⠖⠛⠗⠻⠑⠛⠖⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⡚⢾⣿⡳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠃⠆⠀⠀⠠⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀ ⠉⠟⠿⣿⠉⠹⠍⠩⠩⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡄⠀⠂⣄⠀⠀⠀⢀⠀⠀⠀⠀⡞⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣶⣷⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡇⢀⠀⠀⠀⡈⣀⠀⢀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⣇⠀⣀⢀⡁⣀⡀⠀⠀⢀⡁⡀ ⣸⠀⡝⢸⠃⢸⢠⡃⣛⣐⠯⠰⢹⠁⠀⠀⠰⠸⠤⢓⡳⡇⡏⠀⡝⡝⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢰⣸⠠⡃⢃⠏⢡⠁⢹⠀⣼⢀⠏⡇⠎⡎⠀⠀⢸⡁⠼⠸⠸⠈⠰⠅⠎⠀⠀⠀⢸⠀⠅ ⠈⠀⠁⠈⠁⠈⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀ ⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢄⡀⠀⠉⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⡏⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠐⠀⠀⠁⡜ ⣀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢠⠃⣘⠀⡀⡀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡄⠀⠀⢀⢤⢀⣄⡄⣤⢠⠀⢰⠗⢃⠤⠀⡤⠤⣤⣤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡄ ⠸⠰⡅⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠊⠇⠘⠘⠀⢣⠆⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⠤ ⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠉⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡤⢎⠁⢀⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⡄⠂⠀⣠⣄⢰⣤⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡆⣄⢠⣤⡄⢲⣃⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢂⣇⡸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀ ⣠⢸⠁⣴⠀⣿⣨⢸⢸⡇⣿⣻⢸⣇⡅⣿⣧⢸⠀⡇⣿⢸⣼⡇⡞⠙⡆⠀⡆⡄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⢀⡆⢦⠒⠀⡾⠲⢰⢡⠼⠀⢸⠃⡔⠂⠀⡰⡸⢰⠃⠏⢰⠹⢰⠊⠀⢰⠃ ⠓⠒⠙⠚⠐⠈⠁⠂⠐⠀⠈⠓⠀⠋⠀⠐⠂⠊⠐⠐⠂⠈⠋⠉⠁⠀⢸⣼⠧⣹⠃⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠁⠁⠀⠉⠀⢁⢠⠃⠁⠁⠈⠀⠀⠈⠀⠈⠁⠀⠀⠁⠁⠀⠁⠈⠁⠈⠀⠀⠀⠁ ⠀⠀⠀⢀⣿⢠⣶⡄⣶⢰⢠⢶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠂⠁⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣠⡄⢻⣿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⠈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢰⡀⠀⠀⡀⡀⢀⡀⣐⠀⡀⡀⢀ ⢶⢿⣿⣺⢻⡚⣻⣟⢀⣀⡀⠀⣋⠊⡏⠸⢡⢁⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣟⠉⠉⢡⣽⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⢸⢰⠄⢇⠀⠏⠏⠀⢨⠇⠇⡜⠀⡎⠰⠡⠇⠇ ⡀⠸⣿⣿⢸⣇⣿⠼⢸⡇⡓⠈⣿⢹⣶⡯⠇⢹⢱⡏⣷⣼⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⡏⠀⠀⢹⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣶⣿⣿⣾⣿⣿⣿⠘⢳⣣⣤⡛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣷⠘⣀⠘⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆ ⣸⣿⣿⣿⡿⣿⠿⣿⣧⡾⣟⣋⢀⡀⠀⣆⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⡇⠀⣿⠀⢿⣿⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠂⡄⡄⡸⢠⠄⠄⠀⣺⠂⠤⠀⠀⡄⡄⢰⢸⠂ ⠫⣿⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠁⢀⣿⠀⢸⡿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠄⠇⠀⠃⠘⡴⠀⠀⠃⠀⠒⠀⠀⠃⠀⠇⠇⠀ ⠀⠘⣟⣯⣿⣿⣼⢯⡍⠨⠉⡥⣭⡭⠈⠉⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢰⢸⣿⠀⢸⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣤⣤⣾⣿⣿⣿⣿⣿⣧⣤⣤⣤⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⣾⢸⣿⠂⢼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣫⢼⣿⣃⣸⣃⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢻⡐⢰⠵⢰⠒⢰⢲⠀⠖⠖⡆⡆⠆ ⣿⣿⣿⣷⣾⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠞⠛⠖⠛⠗⠻⠑⠛⠞⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⡞⢼⣿⡳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀ ⠉⠟⠿⣿⠉⠹⠍⠩⠹⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠃⢸⣿⣾⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡄⠀⢂⣄⠀⠀⠀⢀⠀⠀⠀⠀⡞⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣼⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡇⢀⠀⠀⠀⡈⢀⠀⣀⠃⡀⡀⠀⠀⠀⠀⠀⡄⢀⣇⠀⣀⢀⡈⣀⡀⠀⠀⢀⡁⡀ ⣸⠀⡝⢸⠁⢸⣠⡃⣛⣐⠫⠲⢹⠁⠀⠀⠰⡘⠤⢓⡟⡃⡏⠀⡟⡝⢰⡹⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣹⠠⡃⢃⡏⢡⡃⢹⠆⢼⢀⠏⡇⠮⡎⠀⠀⢸⡁⡼⠸⠸⠈⠰⠅⠎⠀⠀⠀⢸⠀⠇ ⠈⠀⠉⠈⠁⠈⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀ ⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠁⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⡟⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⠐⠀⠀⠁⡜ ⣀⡀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠇⣘⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⢀⢠⠠⣄⡄⣤⢠⠀⢰⠗⢃⠤⠀⡤⠤⣤⣤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡄ ⠸⠰⡡⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠋⠇⠘⠸⠀⢣⠆⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⢤ ⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠉⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⣤⢎⠁⢀⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⡔⠂⠀⣠⣄⢰⣤⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡆⣄⢠⣤⡄⢲⣃⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠪⢃⣇⡸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀ ⣠⢸⠁⣴⠀⣿⣨⢸⢸⡇⣿⣻⢸⣇⡅⣿⣧⢸⠀⡇⣿⢸⣼⡇⡞⠙⡆⠀⡆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⠀⠆⢦⠒⠀⡾⠲⢰⢡⠼⠀⢸⠃⡔⠂⠀⡰⡹⢠⠇⡏⢰⠹⢰⠚⠀⢰⢓ ⠓⠒⠙⠚⠐⠈⠁⠚⠐⠂⠈⠓⠀⠋⠀⠐⠂⠊⠐⠐⠂⠈⠋⠙⠁⠀⢹⣜⠧⣹⠃⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠉⠁⠀⠉⠀⢉⢠⠃⠁⠁⠈⠀⠀⠈⠀⠈⠁⠀⠈⠁⠁⠀⠁⠈⠁⠈⠀⠀⠀⠁ ⠀⠀⠀⣀⣿⢠⣶⡄⣶⢰⢠⢶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠒⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣠⡄⢿⣿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⡀⢀⡀⢰⡀⠀⠀⡀⡀⣀⣀⣀⠁⡀⡀⢀ ⣶⢿⣷⣺⢻⡚⣿⣟⢀⣀⡀⠀⣋⠂⡟⠸⣡⢁⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠉⠉⢩⣽⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⢸⢰⠀⢇⠄⠏⡏⠀⢨⠇⠇⡜⠀⡎⠠⠡⠇⠇ ⡈⠸⣿⣿⢸⣇⣿⠼⢸⡇⡓⠈⣿⢹⣶⡯⠇⢹⢡⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⡏⠀⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣶⣿⣿⣾⣿⣿⣿⠘⢳⣣⣤⡛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣷⠘⣀⠘⣿⣿⠁⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠒⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠆ ⣸⣿⣿⣿⣿⣿⢿⣿⣧⡾⣟⣋⢀⡀⠀⣖⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⡏⠀⣿⠀⢻⣿⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠂⡄⡄⡸⢠⠄⠄⠀⣺⢂⡤⠀⠀⡄⡄⢸⢸⠂ ⠫⣿⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⠃⢀⣿⠀⢸⡿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠄⠃⠀⠃⠘⡾⠀⠀⠃⠁⠓⠀⠀⠃⠀⠇⠇⠀ ⠀⠘⣟⣫⣿⣿⣼⢿⡍⠨⠉⡥⣭⡭⠈⠉⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢰⢸⣿⠀⢸⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀ ⣤⣤⣾⣿⣿⣿⣿⣿⣧⣤⣤⣬⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⢸⣿⡆⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣣⢼⣿⣃⣸⣃⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢹⡀⣱⠵⢰⠒⢸⢲⠀⠆⠖⡆⡆⠇ ⣿⣿⣿⣷⣾⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠞⠛⠖⠛⠗⠻⠑⠛⠞⠓⠟⠀⢸⡾⠙⠞⠙⠞⠻⡞⢼⣿⡳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀ ⠉⠟⠿⣿⠉⠻⠍⠩⠹⠟⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡄⠀⠂⣄⠀⠀⠀⢀⠀⠀⠀⠀⡞⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣾⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡇⢀⠀⠀⠀⡈⢀⠀⢀⠃⡀⡀⠀⡀⠀⠀⠀⡤⢀⣇⠀⣀⢀⡈⣀⡀⠀⠀⢀⡀⡀ ⣸⠀⣝⢸⠃⢸⢠⡃⣛⣐⠯⠰⢹⠁⠀⠀⠰⠸⠤⢓⡛⡃⡏⠂⡟⡜⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣹⠠⣃⢃⠏⢡⡃⢹⠄⢸⢀⠏⡇⠎⡎⠀⠀⢰⡡⡼⠸⠸⠀⠰⠁⠎⠀⠀⠀⢸⠀⠇ ⠈⠀⠁⠈⠁⠈⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀ ⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠁⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⡟⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⠐⠀⠀⠁⡜ ⣀⡀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣘⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⢀⢠⠀⣄⡄⣤⢠⠀⢠⠗⢃⠤⠀⡤⠤⣤⣤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡅ ⠸⠰⡡⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠄⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠊⠇⠘⠘⠀⢣⠆⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⠠ ⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡤⢎⠁⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡆⣄⢠⣤⡄⢳⣃⠇⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢃⣇⠸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀ ⣠⢸⠁⣴⠀⣿⣬⢸⣽⡇⣿⣿⢸⣇⡅⣿⣧⢸⠁⡇⣿⢸⣼⡇⡞⠙⡆⠀⡆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⠀⡆⢦⠒⠀⡾⠲⢰⢡⠾⠀⢸⠃⡖⠂⠀⡰⡸⢠⠇⡏⢰⠹⢠⠚⠀⢰⠃ ⠓⠒⠙⠊⠐⠈⠁⠂⠐⠀⠈⠓⠀⠉⠀⠐⠂⠊⠐⠐⠂⠈⠋⠙⠁⠀⢙⣜⠅⣹⠃⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠁⠁⠀⠉⠀⢉⢠⠃⠁⠁⠈⠀⠀⠈⠀⠈⠁⠀⠈⠉⠀⠀⠁⠈⠁⠈⠀⠀⠀⠁ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠂⠁⠈⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⣀⣸⣿⡸⣷⢦⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢰⣁⠀⠀⡀⡀⢀⡀⣀⠁⡀⡀⢀ ⠖⢶⣿⣛⢻⣿⣛⣻⣦⣀⡀⠀⣋⠊⡟⠸⢡⢃⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠉⠉⢁⣽⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠇⢸⢰⠄⢇⠄⠏⠏⠀⢨⠇⠇⡜⠀⡎⠠⠡⠇⠇ ⣬⡄⢹⣿⢸⣿⣿⣼⣸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢡⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⡏⠀⠀⢸⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠻⣿⣮⣽⣾⣿⣿⣿⣿⣷⢃⣴⣿⡺⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣷⠘⣀⠈⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠆ ⡀⠘⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⢏⡀⠀⣔⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡟⠀⣿⠀⢻⣿⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠂⡄⡄⡸⢠⠄⠄⠀⣸⢂⠤⠀⠀⡄⡄⢰⢰⠂ ⠻⠹⢽⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡇⢀⣿⠀⢸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠆⠃⠀⠃⠘⡼⠀⠀⠃⠁⠒⠀⠀⠃⠀⡆⠇⠀ ⠀⠀⠘⠋⣿⣿⣾⣿⣿⡿⠭⡥⣭⡭⠬⠉⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⢰⢸⣿⡆⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠰⠃⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀ ⣤⣤⣤⣤⣽⣿⣿⣿⣿⣷⣦⣬⣬⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣾⢸⣿⡇⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⣿⣿⣻⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣫⢼⣿⣃⣸⣃⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣠⣀⠀⠀⠀⣦⢻⡀⣱⠱⢰⠒⢸⢲⠀⠖⢖⡆⡆⠆ ⣿⣿⣿⣷⣾⣾⣿⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠞⠛⠖⠛⠗⠻⠑⠛⠞⠓⠟⠀⢸⡾⠙⠞⠙⠞⠻⠞⢼⣿⡳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀ ⠉⠿⠿⣿⠍⢽⠍⠩⠩⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡄⠀⢂⣄⠀⠀⠀⢀⠀⠀⠀⠀⡞⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣾⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡇⢀⠀⠀⠀⡈⣀⠀⢀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⣇⠀⣀⢀⡉⣀⡀⠀⠀⢀⡀⡀ ⣸⠀⡝⢸⠃⢸⣠⡃⣛⣐⠫⠰⢹⠁⠀⠀⠰⠸⠥⢓⡟⡇⣏⠂⡟⡝⢰⡹⠀⠀⢰⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣹⠠⣃⢃⠏⢡⡃⢹⠄⢼⢀⠏⡇⠮⡎⠀⠀⢸⡁⠼⠸⠸⠈⠰⠅⠎⠀⠀⠀⢸⠀⠇ ⠈⠀⠉⠈⠁⠈⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀ ⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠉⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠃⡟⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⠐⠀⠀⠁⡜ ⣀⡀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣘⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⢀⢤⠠⣄⡄⣤⢠⠀⢰⠗⢃⠤⠀⡤⠤⣤⣤⠄⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡅ ⠸⠰⡁⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠪⠇⠘⠘⠂⢣⠆⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⠤ ⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⢙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⣤⢎⠁⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⠁⠀⠀⠀⠀⠀⠀ ⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡖⣄⢠⣤⡄⢷⣃⠇⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠮⢃⡇⡸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀ ⣠⢸⠁⣴⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠁⡇⣿⢸⣼⡇⡞⠙⡆⠀⡆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⠀⡆⢦⠒⠀⡾⠲⢰⢡⠬⠀⢸⢃⠔⠂⠀⡰⡸⢠⠃⡏⢰⠽⢰⠞⠀⢸⠓ ⠓⠓⠙⠊⠐⠈⠁⠒⠐⠂⠈⠓⠐⠋⠀⠐⠂⠊⠐⠐⠂⠈⠋⠙⠁⠀⢹⣼⠧⣹⠃⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠉⠁⠀⠉⠀⢉⢠⠋⠁⠁⠈⠀⠀⠈⠀⠈⠁⠀⠈⠉⠁⠀⠁⠈⠁⠈⠀⠀⠀⠁ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠒⠁⠈⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢰⡁⠀⠀⡀⡀⢀⣀⣀⠁⡀⡀⢀ ⡖⣖⡆⣊⢁⡘⣘⣘⢂⣀⡀⢀⣛⠿⣿⢾⣷⢇⣂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣯⠉⠉⢡⣽⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠇⢸⢰⠅⢇⠀⠏⠏⠀⢨⠇⠇⡜⠀⡎⠠⠡⠇⠇ ⠀⠀⠁⢿⢸⡇⣿⠼⢸⡇⡓⠈⣿⢹⣶⡯⠧⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡏⠀⠀⢹⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠘⠞⠃⠛⠀⠘⠳⣃⣀⣛⣺⣻⣳⣫⣘⣈⠳⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡷⠘⣀⠸⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠂⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠆ ⡀⣀⣀⣀⡀⣀⠀⢀⣀⠀⣞⣿⢿⡿⡿⣿⣿⣿⣭⢠⡄⣂⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⠇⠀⣿⠀⣿⡟⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠂⡄⡄⡼⢠⠄⠄⠀⣺⢂⠤⠀⠀⡄⡄⢰⢰⠂ ⠻⠹⢽⡇⣿⣿⠁⣿⣿⢸⡇⡃⣿⣛⢸⡟⣛⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⢀⣿⠀⢻⡇⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠆⠇⠐⠃⠘⡾⠀⠀⠃⠁⠓⠀⠀⠃⠀⡏⡇⠀ ⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠭⡵⣭⡽⠿⢿⣿⣿⣽⣼⣧⡭⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣰⢸⣿⠀⣸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠴⠀⠀⠀ ⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣬⣤⣵⣶⣾⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠏⣿⢸⣿⠀⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⣿⣿⣿⣻⣟⣿⣿⣿⣿⣿⣿⣷⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣫⢼⣿⣀⣻⣀⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣠⣀⠀⠀⠀⣢⢹⡀⣰⠱⢰⠒⢸⢲⠀⠖⠖⡆⡦⠆ ⣿⣿⣿⣷⣾⣾⣿⣿⣾⣷⣷⣿⣿⣿⣿⣿⣿⣿⠾⠛⠖⠛⠗⠛⠑⠛⠞⠛⠟⠀⢸⡾⠙⠞⠙⠞⠻⡞⢾⣷⡳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠉⠀ ⠉⠿⠿⣿⠯⢿⠍⠹⠿⠿⠏⠉⠙⠿⣿⣿⠍⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡀⠀⠂⣀⠀⠀⠀⢀⡀⠀⠀⠀⡜⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣴⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡎⢀⠀⠀⠀⡘⢀⠀⣀⠃⡀⠀⠀⠀⠀⠀⠀⡤⢀⣇⠀⣀⢀⡈⣀⡀⠀⠀⢀⡀⡀ ⢸⠁⣹⢠⠃⢸⢠⡇⣚⣀⠫⠳⠣⠁⠀⠀⠰⠹⠤⢓⡇⡇⡏⠁⡽⣸⢰⢹⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢰⣱⠀⣇⢃⡏⢡⡃⢹⠄⢸⢀⠏⡇⠾⡌⠀⠀⢰⡡⠸⠸⠸⡁⠰⠁⠞⠀⠀⠀⢰⠁⠇ ⠈⠀⠀⠈⠁⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠋⠀⠀ ⠀⠀⠀⠀⠀⢀⣀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢀⡀⠀⠈⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⡏⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠐⠀⠀⠑⡜ ⣀⡀⡀⢠⣤⡞⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢠⠇⣘⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠄⠀⠀⢀⢠⠀⡄⡄⣤⢀⠀⢠⠇⢂⠤⠀⡤⠤⣄⣤⠄⠀⠀⡠⠄⠀⡇⠀⠀⠀⠸⡇ ⠸⠐⠅⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠘⢸⢹⡇⣿⣿⠸⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠈⠊⠘⠑⠂⢻⠆⠀⠜⠀⠈⠂⠐⠃⠐⠐⠘⠀⠀⠀⠘⠂⢸⠀⠀⠀⠀⢄⠠ ⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠃⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢠⢎⡁⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⡔⠀⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡖⣄⢠⣤⡄⢧⣃⡇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠨⠂⡇⠸⠁⠀⠀⠀⠀⠀⡌⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡼⢀⠀⠀⠀⠀⠀⠀⠀ ⢠⢰⠁⢰⠀⣿⣩⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠇⡇⣿⢸⣼⡇⡜⠙⣆⠀⡆⡤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⠀⡆⠦⡒⠀⡾⢰⢰⢣⠮⠀⢨⠃⣴⠂⠀⡰⡸⢠⠇⡏⢠⠩⢀⠖⠀⢰⠑ ⠐⠒⠈⠚⠐⠈⠁⠒⠐⠂⠈⠓⠀⠋⠀⠐⠂⠊⠐⠐⠒⠈⠋⠑⠁⠀⢘⣎⠧⣹⠃⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠁⠁⠀⠁⠀⢉⢠⠃⠁⠁⠈⠁⠀⠈⠀⠈⠁⠀⠈⠉⠀⠀⠁⠈⠁⠈⠀⠀⠀⠁ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠒⠁⠀⠁⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⡀⢀⡀⢠⢁⠀⠀⣀⡀⢀⡀⢀⠁⡀⡀⢀ ⡖⣖⡆⣊⢁⡘⣘⣘⢀⣀⡀⠀⣚⠒⡟⠸⢣⢂⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣯⠉⠉⢡⣽⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠷⢸⢰⠅⠇⠀⡏⠎⠀⢠⠇⠇⠼⠁⠬⠠⠃⠇⠇ ⠀⠀⠁⢹⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠆⣾⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡏⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠘⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠘⠚⠃⠛⠀⠘⠳⠃⠀⠛⠚⠉⠓⠃⢘⠈⠓⠋⠚⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⠘⣀⠸⣿⡇⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠀⠀⢀⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⡆ ⡀⣀⣀⣀⡀⣀⠀⢀⣀⠀⣔⣀⢀⡀⠀⣔⠀⣇⣠⢠⡄⣀⣀⠀⣀⡀⠀⣰⣿⣷⣤⠀⠀⠀⠀⢻⣿⠃⠀⣿⠀⣿⡇⠀⠀⠀⠿⠿⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠂⡄⡄⡸⢠⡄⡄⠀⢲⠂⡤⠀⠀⣀⡀⢰⢰⠂ ⠫⠻⢹⡇⣿⣿⠁⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⣧⣾⣿⣿⣿⠋⠀⠀⠀⠀⢸⣿⠀⠀⡏⠀⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠦⠃⠀⠃⠘⡶⠀⠀⠃⠀⠓⠀⠀⠃⠀⡎⡎⠀ ⠀⠀⠘⠋⠁⠉⠀⠉⠉⠈⠍⡥⣭⡭⠬⠍⠁⠉⠉⠈⠁⠉⠈⠐⣓⣯⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⡿⢰⢸⣿⠀⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀ ⣤⣤⣤⣤⣤⣤⣤⢤⣤⣤⣤⣬⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⡇⣠⣶⣦⠀⠀⠀⠀⠁⣿⢸⣿⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⣾⣿⣿⣾⣾⣟⣟⢻⣿⣿⣿⣴⠄⣀⡀⡸⣿⣿⣿⣿⣿⣿⡿⢋⣁⢀⣀⢀⣀⢀⣫⢸⡟⣀⣱⣀⣀⣀⡀⣀⡀⣀⡀⢤⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠐⢢⢻⡠⢰⠱⢰⠒⢰⢲⠂⡆⠖⡆⡦⠄ ⣿⣿⣿⣷⣾⣾⣿⣾⣾⣿⣷⣶⣿⣾⣿⣿⣿⣿⠾⢛⣷⣿⣿⣿⣿⣿⣿⡛⠝⠀⢸⡾⠙⠞⠙⠞⠻⡚⢼⣧⠳⡟⠳⠊⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠃⠃⠏⠃⠆⠀⠀⠡⠘⠁⠈⠁⠈⠀⠉⠈⠈⠀⠀⠁⠁⠀ ⠉⠿⠿⣿⠯⢿⠍⠹⠿⠿⠿⠉⠉⠉⠉⠉⠉⠉⠀⠀⣿⣿⣏⣉⡉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⢸⣧⢸⣗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡄⠀⠂⣀⠀⠀⠀⢀⡀⠀⠀⠀⡜⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡏⢀⠀⠀⠀⡘⢀⠀⣀⠃⡀⠀⠀⢀⠀⠀⠀⡤⢀⣇⠀⣀⢀⡈⣀⡀⠀⠀⢀⡀⡀ ⢸⠁⣽⢠⠃⢸⢠⡃⣚⣀⠏⠳⢫⠃⠀⠀⠰⠹⠥⢓⡏⡇⡏⠃⡽⣼⢰⣹⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢰⣹⠀⣇⠃⡏⢡⡃⢹⠄⢸⢀⠏⡇⠾⡌⠀⠀⢰⡡⠼⠸⠸⡁⠱⠇⠞⠀⠀⠀⢰⠁⠇ ⠈⠀⠀⠈⠁⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠏⠀⠀ ⠀⠀⠀⠀⠀⢀⡀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠈⠉⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⡏⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠐⠀⠀⠑⡜ ⣀⡀⡀⢠⣤⡞⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢠⠇⣘⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠄⠀⠀⢀⢤⠀⡄⡄⢤⢀⠀⢠⡗⢂⠤⠀⡤⠤⣄⣤⡄⠀⠀⣠⠄⠀⡆⠀⠀⠀⠸⣇ ⠸⠐⠅⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠘⢸⢹⡇⣿⣿⠸⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠘⠎⠘⠑⠃⢻⠆⠀⠜⠀⠈⠒⠐⠃⠐⠘⠘⠀⠀⠀⠙⠂⢸⠀⠀⠀⠀⠄⠤ ⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢤⢮⡁⣀⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡖⣄⢠⣤⡔⢧⣃⡇⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠠⠃⡇⠸⠃⠀⠀⠀⠀⠀⡌⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡼⢀⠀⠀⠀⠀⠀⠀⠀ ⢠⢰⠁⢰⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠇⡇⣿⢸⣼⡇⡜⠙⣆⠀⡆⡤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⠀⡆⠦⡒⠀⣾⢲⢰⢣⠮⠄⢨⢃⢔⠂⠀⡰⡸⢠⠇⡏⢰⠩⢀⠟⠀⢰⠑ ⠙⠒⠉⠚⠰⠈⠁⠚⠐⠂⠈⠓⠐⠋⠀⠐⠂⠊⠐⠀⠂⠈⠋⠙⠁⠀⢘⣎⠧⣹⠇⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠁⠀⠁⠀⢉⢀⠇⠁⠁⠈⠉⠀⠈⠁⠈⠁⠀⠈⠉⠀⠀⠁⠈⠁⠈⠀⠀⠀⠁ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠒⠁⠀⠁⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⡀⢀⡀⢠⢁⠀⠀⣀⡀⢀⡀⢀⠁⡀⡀⢀ ⡗⣖⡆⣊⢃⡘⣘⣘⢂⣀⡀⠀⣊⠚⡟⠸⣣⢃⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣯⠉⠉⢡⣽⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡷⢸⢰⠅⠏⠄⠏⠏⠀⢨⠏⠏⡼⠁⠮⠠⠃⠇⠇ ⠀⠀⠁⣻⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠆⣾⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⡟⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠘⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠘⠞⠃⠛⠀⠘⠳⠃⠀⠛⠚⠉⠳⠃⢘⠈⠓⠋⠚⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⠘⣀⠸⣿⡇⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠂⠀⢀⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⡆ ⡀⣀⣀⣀⡀⣀⠀⢀⣀⠀⣔⣀⢀⡀⠀⣔⠀⣇⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⢀⣤⣄⡀⠀⠀⠀⢹⣿⠃⠀⣿⠀⣿⡇⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠂⡄⡄⣸⢠⡄⡄⠀⢰⠂⡤⠀⠀⣄⡀⢰⢱⠂ ⠫⠻⢽⡇⣿⣿⠁⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⣠⣾⣿⣿⡟⠀⠀⠀⠸⣿⠀⠀⡟⠀⣻⠇⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠦⠃⠀⠃⠘⡶⠀⠀⠳⠀⠓⠀⠀⠃⠀⡎⡎⠀ ⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠭⡥⣭⡭⠬⠍⠁⠉⠉⠈⠁⠉⠈⠐⠓⢃⣾⣿⣿⣿⠏⠀⠀⠀⠀⠀⣿⢰⢰⣿⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀ ⣤⣤⣤⣤⣤⣤⣤⡤⣤⣤⣤⣬⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⠇⢀⣤⡀⠀⠀⠀⠀⣿⢸⣿⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⡷⣿⣿⣿⣷⣿⣻⡛⣿⣿⣿⣴⠄⣀⡀⡀⡀⣾⣿⣿⣿⣿⣷⣿⣟⢁⣀⢀⣀⢀⣫⢼⡿⣀⣹⣀⣀⣀⡀⣀⡀⣀⡀⢤⡄⢀⢀⢀⣀⡀⣀⣠⣀⠀⠀⠐⣢⢹⡠⢰⠵⢰⠒⢰⢲⠂⡆⠖⡆⡦⠄ ⣿⣿⣿⣷⣾⣾⣿⣿⣷⣿⣿⣾⣶⣷⣿⣿⣿⣿⠾⠛⠖⣻⣷⣿⣿⣿⣿⣿⣽⠟⢹⡾⠙⠞⠙⠞⠻⡞⢼⡧⠳⡟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠡⠜⠁⠈⠁⠉⠀⠉⠈⠈⠀⠀⠁⠁⠀ ⠉⠿⠿⣿⠯⢿⠍⠹⠿⠿⠿⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⣿⣿⡿⠟⠿⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⢻⢸⣏⢰⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⡄⠀⠆⣀⠀⠀⠀⢀⡀⠀⠀⠀⡼⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡜⢀⠀⠀⠀⡘⢀⠀⣀⠃⢀⠀⠀⢀⠀⠀⠀⡤⠀⡇⡀⡀⡀⡈⢀⣀⠀⠀⢀⡀⣀ ⢸⠃⣹⢀⠇⢸⢡⡇⣘⣀⠏⠧⡋⠇⠀⠀⠰⠹⠥⢓⡟⡇⣎⡃⣸⢸⢰⣹⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢰⣡⠁⣗⠃⡟⠉⡇⢹⡄⢸⢁⡏⡏⠸⡜⠀⠀⠠⡃⠸⠹⠱⠃⠡⠇⠼⠀⠀⠀⢰⠁⠇ ⠈⠁⠈⠈⠁⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠁⢀⢀⡆⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⣠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠎⠀⠀ ⠀⠀⠀⠀⠀⢀⡀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⣓⠛⢠⡀⠀⠈⠈⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⡟⠓⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠐⠀⠀⠑⡜ ⣀⡀⡀⢠⣤⡜⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢠⠇⣸⠀⡀⣀⢠⡦⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡄⠀⠀⢀⢤⠀⡄⡄⢠⢀⠀⢀⡇⠂⡤⠀⡤⠤⣄⡤⡄⠀⠀⢠⠄⠀⡆⠀⠀⠀⠀⣇ ⠹⠁⡇⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠜⢸⢹⡇⣿⣿⠸⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠸⠺⠐⠓⠃⠹⡄⠀⠜⠁⠈⠓⠐⠃⠐⠑⠘⠃⠀⠀⠘⠂⢸⠀⠀⠀⠀⢄⠠ ⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠒⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢤⠎⡉⡄⠘⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡖⣄⢠⣤⡔⢇⣇⡇⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠠⠂⡏⡠⠃⠀⠀⠀⠀⠀⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⢀⠀⠀⠀⠀⠀⠀⠀ ⢠⢰⠃⢰⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠆⡇⣿⢸⣼⡇⣼⠙⣇⠀⡆⡠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⢸⠃⡆⠦⡖⠂⣸⢲⢠⢇⠮⠆⢀⢏⢴⠒⠀⢰⢸⢀⠇⡝⣠⠯⢂⡟⠀⢰⠑ ⠘⠚⠉⠚⠐⠈⠁⠚⠐⠂⠈⠑⠀⠛⠀⠐⠂⠘⠐⠁⠒⠈⠋⠑⠁⠀⢘⣆⠧⣩⠇⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠁⠁⠀⠁⠀⢉⢀⠇⠁⠈⠀⠉⠀⠈⠁⠈⠁⠀⠈⠉⠈⠀⠁⠀⠁⠈⠀⠀⠀⠁ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠉⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢠⢃⠀⠀⣀⡀⢀⣀⢀⠁⡀⡀⢀ ⡖⡖⡆⣚⢑⡘⣚⣐⢂⣀⡀⠀⣚⠸⡽⠸⣇⢂⡒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠉⠉⢡⣽⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠻⢸⠰⡇⢏⠄⡎⠞⠀⠀⡏⠝⠸⠁⠼⠠⠇⠇⢏ ⠀⠁⠁⢿⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠆⣾⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡘⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠘⠞⠃⠛⠀⠘⠳⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⠐⣀⠈⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠂⠀⠀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⡆ ⡀⡀⣀⣀⡀⣀⠀⢀⣀⠀⣴⡄⢀⡀⠀⣔⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⣾⠀⢻⣿⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠂⡄⡄⣸⠀⡄⡄⠀⢰⠃⡤⠀⠀⣠⠀⢰⢳⠃ ⠫⠻⢿⡇⣿⣿⠁⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⣀⣤⣶⣷⣆⠀⠀⠀⠈⣿⠁⠀⣿⠀⢸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠦⠃⠀⠃⠘⣷⠀⠀⠺⠀⠓⠀⠀⠃⠀⡜⡞⠀ ⠀⠀⠘⠋⠁⠉⠀⠉⠉⠈⠍⡥⣭⡭⠬⠍⠁⠉⠉⠈⠁⠉⠈⠐⢓⣫⣾⣿⣿⣿⠿⠋⠀⠀⠀⠀⢿⢠⠀⣿⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠀⠀ ⣤⣤⣤⣤⣤⣤⣤⣤⣤⢤⣤⣬⣬⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⡟⠃⠀⠀⠀⠀⠀⠀⠘⣾⠀⣿⠂⣸⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⣿⣿⢾⣻⢿⣿⡾⢟⣟⢻⣿⣴⠄⣀⣰⡿⡿⣿⣿⣟⣇⣶⣦⣤⣀⢀⣀⢀⣀⢀⣩⢠⣿⣀⣸⣀⣀⣀⡀⣀⡀⣀⡀⢤⡄⢀⢀⣀⣀⡀⣀⣠⣀⠀⠀⠐⣲⢹⡠⢰⠱⢰⠖⢰⢶⠂⡶⡖⡆⡴⠴ ⣿⣿⣿⣷⣾⣼⣿⣶⣾⣿⣿⣿⣿⣷⣾⣾⣿⣿⣾⣿⣷⣿⣿⣿⣿⣿⣿⡟⠟⠛⢹⡾⠙⠞⠙⠞⠻⠚⠼⣯⠳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠩⠜⠁⠈⠁⠈⠀⠈⠈⠀⠀⠁⠁⠉⠀ ⠉⠿⠿⣿⠯⢿⠭⠹⠿⠿⠏⠉⠉⠉⠉⠉⠉⢉⣿⣿⣿⣉⠉⠙⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⢸⣿⢀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⣄⠀⠆⣠⠀⠀⠀⢀⡀⠀⠀⠀⣼⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡞⢀⡀⠀⠀⡘⢀⠀⣀⡋⣀⣀⠀⣀⠀⠀⠀⡴⠀⣏⡀⣀⣀⣈⣀⣀⠀⠀⢀⡀⣀ ⢹⠣⣹⢠⣇⢸⣡⡇⣘⣀⡯⠧⣯⠇⠀⠀⠰⠻⠥⢛⡟⡇⣞⡃⣹⣻⢰⣻⠁⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢰⣻⡡⣗⣋⡟⢩⡏⢹⡔⢸⣁⡏⡟⠼⡽⠀⠀⢠⡧⣸⠹⠱⡧⠡⡇⡾⠀⠀⠀⢰⠃⠧ ⠈⠁⠉⠈⠁⠈⠈⠁⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠈⠀⠁⢈⢀⡟⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠦⠏⠀⡀ ⠀⠀⠀⠀⠀⢀⣤⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⣓⢛⣦⡠⠀⠈⠉⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⡟⠓⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠒⠂⠀⠙⡼ ⣀⡀⣀⢠⣤⡜⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢠⡏⣸⠀⡀⣠⢠⡦⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡄⠀⠀⢀⢤⠄⡄⡄⣤⢀⠀⢠⡗⢂⣤⠀⣤⠤⣤⡤⡄⠀⠀⢠⢤⠀⡞⠀⠀⠀⠘⣇ ⠹⠗⣏⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡯⡇⢻⣼⠜⢸⢹⡇⣿⣿⠸⠕⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠸⠾⠰⠓⠇⢻⡎⠀⠜⠃⠈⠓⠐⠃⠐⠑⠙⠃⠀⠀⠘⠂⢸⠁⠀⠀⠀⢤⡤ ⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⢙⣠⡖⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⡀⢤⢮⡉⣄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡦⠊⠀⠀⠀⠀⠀⠁ ⠀⠀⡴⠂⠀⣠⣄⢰⣤⡄⣠⣄⢄⣤⡀⣶⡤⢰⠀⡖⣄⢠⣤⣔⢧⣇⡇⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠸⠇⡏⡰⠃⠀⠀⠀⠀⠀⡼⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⣸⢀⠀⠀⠀⠀⠀⠀⠀ ⢠⢶⠇⣰⡆⣿⣭⢸⢺⡇⣿⣻⢸⣇⡅⣿⣧⢸⡇⡇⣿⢸⣼⡇⣼⠙⣧⠀⡖⡴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡾⠆⠀⡆⢸⠃⡾⠦⡖⠂⣾⢲⢰⢇⠮⠆⢈⢏⢴⠓⠀⢰⣺⢣⡏⡽⣰⠯⢆⡟⠀⢰⢛ ⠘⠚⠛⠛⠑⠊⠁⠚⠐⠂⠈⠓⠐⠛⠀⠐⠊⠘⠐⠑⠒⠈⠛⠑⢁⠀⢘⣮⠧⣭⠏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠓⠁⠀⠙⠉⠀⠉⠀⢉⢀⠏⠁⠉⠈⠉⠀⠈⠁⠈⠁⠀⠈⠉⠉⠀⠉⠈⠉⠈⠀⠀⠀⠁ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠉⠀⠁⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠈⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⡀⢀⣀⢠⢃⠀⠀⣀⡀⢀⣀⢀⠁⣀⡀⢀ ⡷⡖⡆⣚⢛⡸⣛⣘⢶⣒⡠⣤⣚⠸⣽⠹⣇⢇⡒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠉⠉⢩⣤⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡿⢸⣴⡇⢟⠄⡞⠾⠀⢈⡏⠟⡼⠁⣾⢠⠏⡇⢏ ⠁⠁⠁⣿⢸⡇⣿⠼⢸⡇⡓⣿⣿⢹⣶⡯⠧⢹⢱⡏⣷⣾⠆⣾⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢔⡸⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢘⣾⣃⣛⣼⣞⣷⣣⣿⣻⣺⣛⡳⠋⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡔⢀⡄⢹⣿⡿⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠖⠂⠀⢀⡖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡔⡖ ⡀⣀⣀⣀⡹⣛⠿⢿⣿⡿⣿⣿⣿⡿⡿⣿⡄⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⠁⣼⡇⠘⣿⡇⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠂⣤⡄⣸⢡⡄⡄⠀⢰⠇⡤⠄⠀⣠⣠⢰⢳⠳ ⠿⠿⢿⡇⣿⣿⠣⣿⣿⢸⡇⡃⣿⣛⢸⡟⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⠀⣿⡇⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠧⠧⠓⠋⠘⣷⠁⠀⠺⠂⠓⠂⠀⠳⠀⡾⡞⠀ ⠀⠀⠘⠋⠁⢩⣼⣿⣿⡿⠿⡿⣿⡿⠿⢿⠕⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⣿⣿⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠴⠕⠁⠀ ⣤⣤⣤⣤⣤⣬⣿⣿⣿⡷⣶⣿⣾⣷⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠐⣿⣿⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⣿⣿⢻⣿⣷⣿⡿⣿⣟⢿⣿⡛⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣩⢴⣿⣟⣸⣛⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⣀⣀⡀⣀⣰⣀⠀⠀⠀⢻⢻⣤⢻⠿⢲⡖⢲⢶⡇⡶⡖⡖⡼⠵ ⣿⣿⣿⣷⣾⣾⣿⣷⣾⣿⣿⣿⣾⣷⣾⣷⣿⣿⠾⠛⠷⠛⠟⠻⠑⠛⠾⠛⠟⠀⢼⡾⠙⠞⠙⠞⠻⠺⢾⣿⣷⠟⣳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠸⠻⠃⠳⠋⠃⠏⠇⠆⠀⠀⠩⠜⠁⠈⠉⠈⠀⠉⠈⠉⠁⠁⠁⠉⠁ ⠉⠿⠿⣿⠯⢿⠟⠻⠿⠿⠟⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢀⣀⠀⠆⣠⠀⠀⠀⢀⡄⠀⠀⠀⣸⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡜⠀⡀⠀⠀⡘⢀⠀⣀⡋⢀⢀⠀⠀⠀⠀⠀⣴⠀⡎⡀⣀⡀⣈⢀⣀⠀⠀⠀⡀⣀ ⢹⢇⣸⢁⣇⢸⣃⡇⣘⣀⡏⠇⡏⠇⠀⠀⠰⠻⠧⢛⡟⡇⣞⡃⣸⢻⢰⣻⠃⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠠⣣⡃⣟⠂⡝⠉⡏⢹⡔⢹⡃⡞⡽⠸⡽⠀⠀⠀⡧⢰⠱⠃⠇⠡⠇⠼⠀⠀⠀⢠⠇⠧ ⠈⠁⠈⠀⠁⠀⠁⠁⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠈⠀⠁⢀⠀⡜⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣠⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠎⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⣓⠛⣢⡀⠀⠈⠉⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⡝⠓⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠒⠂⠀⠙⡸ ⡀⡀⣀⢠⣤⡼⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢀⡏⣸⠀⡀⣠⠠⡤⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡄⠀⠀⢀⢤⠄⡄⡄⢠⠀⠀⠀⡗⠒⡤⠀⣤⠤⣤⡤⡄⠀⠀⢠⠤⠀⡞⠀⠀⠀⠀⣇ ⠱⠇⢏⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠜⢸⢹⡇⣿⣿⠸⠕⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠸⠺⠰⠃⠇⠸⡜⠀⠔⠃⠀⠓⠀⠃⠐⠁⠁⠃⠀⠀⠘⠒⢰⠁⠀⠀⠀⢀⠠ ⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠃⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⡔⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⢠⠮⡉⡄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠊⠀⠀⠀⠀⠀⠀ ⠀⠀⡴⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⣄⢇⣏⡇⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠠⠆⡞⡠⠃⠀⠀⠀⠀⠀⡸⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⢰⢀⠀⠀⠀⠀⠀⠀⠀ ⢠⢴⠃⢰⡂⣿⣭⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⡇⡇⣿⢸⣼⡇⣸⠉⣧⠀⡶⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡴⠆⠀⠄⢠⠇⡴⠦⡖⠂⢺⢲⢀⢇⡮⠆⠀⡏⢰⠓⠀⢠⢺⠃⡏⡹⣠⠯⢇⡟⠀⢰⠙ ⠘⠚⠊⠛⠁⠊⠁⠚⠐⠂⠈⠑⠂⠛⠀⠀⠚⠘⠐⠁⠒⠈⠋⠑⠁⠀⢘⣧⠧⣉⠏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠉⠀⠁⠁⠉⠀⡏⠉⠈⠀⠉⠀⠈⠁⠈⠁⠀⠈⠉⠈⠀⠉⠀⠉⠈⠀⠀⠀⠁ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠉⠀⠁⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠈⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⢿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⡀⡀⢀⣀⢀⢇⠀⠀⣀⣀⢀⣀⢀⠁⣀⣀⢀ ⣶⡾⣿⣚⢑⣺⣛⣀⢆⣀⡀⠀⣘⠸⣽⠨⣇⢂⡒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠋⠉⢹⣠⣽⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡻⠸⡡⡇⢞⠀⡜⠼⠀⠀⡟⠜⠸⠁⢼⠀⠏⡇⢮ ⣿⣿⣿⣿⢸⣏⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡸⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⢸⣿⣿⣽⣞⣿⣟⠀⠘⠳⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡄⢀⡼⠸⣿⣿⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠖⠂⠀⠀⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡐⡖ ⣄⣿⣿⣿⡿⣿⠿⢄⣀⡠⣴⣄⢀⡀⠀⣴⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠃⣸⣷⠀⣿⡟⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠂⣠⡄⢸⠁⡄⡠⠀⢰⠃⡤⠄⠀⢠⣠⢰⢳⠓ ⣿⣿⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⠀⣿⣿⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠣⠣⠂⠋⠈⢷⠁⠀⠸⠀⠓⠂⠀⠑⠀⡸⡘⠀ ⢹⣿⣿⣯⣿⣿⣾⣿⣿⡯⠍⡥⣭⡭⠬⠭⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⠀⣿⣿⠀⣻⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠁⠀ ⣬⣿⣿⣿⣿⣿⣿⣿⣯⣤⢤⣬⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⣿⣿⠀⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⡿⣿⣿⣿⣿⢾⣷⣿⢾⣾⣟⣿⢻⣴⠄⣀⡀⡀⡀⣀⡀⣀⣆⣀⠀⢀⣀⢀⣀⢀⣀⢀⣩⠄⣿⣟⣰⣙⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⣀⣀⡀⣀⣠⣀⠀⠀⠀⢲⠹⣤⢺⠿⢂⡖⢒⣗⡇⡶⡖⡖⡴⠵ ⣿⣿⣿⣷⣾⣾⣿⣷⣶⣿⣿⣾⣿⣷⣿⣾⣾⣿⠞⠛⠖⠛⠗⠻⠑⠛⠾⠛⠝⠀⢸⡾⠙⠞⠙⠞⠻⠚⠶⣿⣳⠟⣳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠨⠜⠁⠈⠉⠈⠀⠈⠈⠁⠁⠁⠁⠈⠁ ⠉⠟⠿⣿⡿⠿⠍⠩⠹⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⢠⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣀⠀⠆⣠⠀⠀⠀⢀⡄⠀⠀⠀⣸⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡼⢀⡀⠀⠀⡘⢀⠀⣀⡋⢀⢀⠀⠀⠀⠀⠀⣴⠀⣞⡀⣀⡀⣘⢀⣀⠀⠀⠀⡀⣀ ⢹⢧⣸⢃⣏⢸⣃⡇⣘⣀⡏⠧⣏⠇⠀⠀⠰⠻⠯⢻⡟⣏⢞⡃⣸⢻⢰⣻⠃⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢠⣧⡇⣟⡊⡟⠉⡏⢹⡔⢸⣃⡞⡽⠸⣽⠀⠀⠀⡇⢰⠱⠃⣇⠣⡇⠼⠀⠀⠀⢠⡇⠧ ⠈⠁⠈⠀⠁⠀⠁⠁⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠁⢀⢀⡞⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠞⠀⠀ ⠀⠀⠀⠀⠀⠀⡀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠸⢓⠛⣧⡠⠀⠈⠉⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⣟⠓⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠒⠂⠀⠘⣸ ⡀⡀⣠⢠⣤⡼⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢀⡟⣸⠀⡀⣠⠠⡤⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡄⠀⠀⢀⣤⠄⡄⡄⢠⢀⠄⠀⡟⠒⡤⡀⣤⠤⣤⡤⡄⠀⠀⢠⠤⠀⡞⠀⠀⠀⠀⣇ ⠳⠇⢏⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡯⡇⢻⣼⠼⢸⢹⡇⣿⣿⠸⠕⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠸⠺⠰⠃⠇⠸⡜⠀⠔⠃⠀⠓⠂⠃⠐⠃⠃⠃⠀⠀⠘⠒⢰⠃⠀⠀⠀⢠⡤ ⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⡔⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢤⠾⡉⡄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠊⠀⠀⠀⠀⠀⠈ ⠀⠀⣠⠒⠀⣠⣄⢰⣦⡄⣠⣄⢀⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⡔⣇⣏⡷⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠰⠅⡾⡠⠃⠀⠀⠀⠀⠀⣼⠁⠀⠀⢀⠀⠀⠀⠀⠀⠀⢰⢁⡀⠀⠀⠀⠀⠀⠀ ⢀⢤⠇⢰⡆⣿⣭⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠆⡇⣿⢸⣼⡇⣼⠉⣧⠀⡶⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡴⠆⠀⡤⢰⠇⡼⠦⡖⡆⢺⢶⢀⣇⡮⠆⢀⣏⢰⠓⠀⢠⢺⠃⡏⡹⣡⠯⢆⡟⠃⢰⡙ ⠘⠚⠋⠛⠑⠊⠁⠚⠐⠓⠈⠑⠒⠛⠀⠀⠚⠘⠐⠁⠒⠈⠋⠑⢁⠀⢘⣧⠧⣉⡏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠑⠁⠀⠀⠋⠀⠁⠁⢉⡁⡏⠉⠈⠀⠉⠀⠈⠁⠈⠁⠀⠈⠉⠉⠀⠉⠀⠉⠈⠀⠀⠀⠉ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠉⠀⠁⠁⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⡀⡀⢀⣀⢀⣇⠀⠀⢀⣀⢀⣀⢀⠁⣀⣀⢀ ⡶⡖⡖⣘⢙⡘⣚⣁⢆⣀⡀⠀⣘⠰⣽⠹⣇⢆⡐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠋⠉⢉⣤⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡻⠸⣡⡇⢞⠀⡾⠸⠀⠈⡟⠝⠸⠁⢼⠀⠏⡏⢾ ⠁⠁⠁⣿⢸⡿⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠧⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡸⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⣝⡞⣿⣟⢸⣿⡷⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡄⢀⡌⢹⣿⡟⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢀⡖⠂⠀⠀⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⡔ ⣾⣦⣀⣻⡿⣿⢿⣾⣿⡇⣰⡄⢀⡀⠀⣰⠄⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⠁⣸⡇⠈⣿⡇⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠆⣠⣄⢸⠁⡄⡠⠀⢰⠗⡠⠄⠀⢠⣠⢰⢷⠗ ⠟⣿⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⣿⡇⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠣⠧⠂⠊⠈⣷⠃⠀⠸⠀⠓⠂⠀⠓⠀⡼⡘⠀ ⠀⠀⢿⣯⣿⣿⣾⣿⣿⡿⠿⡿⣭⡭⠬⢭⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣧⠀⣿⣿⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠠⠱⠁⠀ ⣤⣤⣼⣿⣿⣿⣿⣿⣿⣷⢶⣮⣬⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⠀⣿⣿⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⣿⣿⣿⣿⣿⢾⣷⣿⢾⣾⣟⣿⢻⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣩⠄⣿⣟⣰⣛⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⣀⣀⡀⣀⣰⣀⠀⠀⠀⢳⠹⣦⢺⠯⢖⡖⢲⣗⡆⡶⡖⡖⣰⠵ ⣿⣿⣿⣷⣾⣾⣿⣿⣶⣿⣿⣾⣿⣷⣿⣾⣾⣿⠾⠛⠖⠛⠟⠻⠑⠛⠞⠓⠝⠀⢼⡾⠙⠞⠙⠞⠻⠚⠶⣿⣷⢟⡳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠨⠔⠁⠈⠉⠈⠁⠈⠈⠁⠁⠁⠁⠈⠁ ⠉⠿⠿⣿⣿⣿⣿⡿⠹⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠀⣿⣿⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣀⠀⠖⣠⡀⠀⠀⢀⡄⠀⠀⠀⢸⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡼⠀⡀⠀⠀⠘⢁⠀⣀⡘⢀⢀⠀⠀⠀⠀⠀⣠⠀⣜⡀⣀⡀⣈⢀⣀⠀⠀⠀⣀⢀ ⢉⡇⢸⡃⣏⢸⣇⡎⣘⣁⡏⠇⡏⠏⠀⠀⠠⠯⠧⢹⡟⣟⢾⡓⢸⢻⢣⣯⠇⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠠⣏⡃⣾⡚⡽⠉⡏⠸⡶⢱⡃⡼⣹⠸⣽⠁⠀⠀⣇⢰⠣⠇⣇⠃⠏⠸⠁⠀⠀⢠⡇⠪ ⠈⠁⠈⠀⠉⠀⠁⠁⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠁⢀⠀⡜⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⣠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠨⠜⠀⡀ ⠀⠀⠀⠀⠀⠀⡀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠸⢓⠞⡣⣤⠀⠈⠉⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⣽⠓⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠖⠂⠀⠘⣰ ⡀⡀⣀⢠⣤⡼⢁⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⠀⡟⣰⠁⡀⣀⠄⡤⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣄⠀⠀⢀⣤⡄⣤⡄⢠⠀⡄⠀⡟⠚⡤⡄⢤⠤⣤⣤⡄⠀⠀⢠⠤⠀⡜⠀⠀⠀⠀⢧ ⠏⠇⢏⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡯⡇⢻⣼⠼⢸⢹⡇⣿⣿⠰⠷⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠸⠺⠀⠃⠇⠸⡼⠀⠴⠃⠀⠓⠂⠏⠀⠃⠃⠃⠀⠀⠈⠒⢠⠇⠀⠀⠀⢠⡠ ⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣀⡔⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢠⠶⡉⡄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠊⠀⠀⠀⠀⠀⠈ ⠀⠀⣠⠂⠀⣠⣄⢰⣦⡄⣠⣄⢀⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⡄⡏⣟⡹⠀⢠⠼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠰⠕⡼⡠⠇⠀⠀⠀⠀⠀⣰⠁⠀⠀⢀⠀⠀⠀⠀⠀⠀⢰⠁⡀⠀⠀⠀⠀⠀⠀ ⢀⣤⠇⢰⡆⣿⣭⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⡇⡇⣿⢸⣼⡇⣸⠉⢧⠀⡶⢠⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡰⠶⠀⠤⢠⡇⣴⠶⡔⠆⢰⢷⢆⡇⡮⠇⠀⡏⢱⠒⠀⢠⢦⠇⡞⡸⣁⡯⠇⡟⠃⠠⡛ ⠘⠚⠋⠛⠃⠎⠁⠘⠂⠓⠈⠑⠒⠛⠀⠀⠒⠘⠀⠃⠓⠈⠋⠑⠃⠀⠈⣧⠧⢍⡏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠙⠁⠀⠈⠉⠀⠉⠁⠉⡁⡞⠉⠈⠀⠉⠀⠀⠉⠀⠉⠀⠈⠉⠈⠀⠉⠀⠉⠈⠁⠀⠀⠉ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠊⠀⠉⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⡀⠀⢀⣀⢀⣇⠀⠀⢀⣀⢀⣀⣀⡁⣀⢀⢀ ⡶⡖⡞⣘⢙⡘⣛⣃⢆⣀⡀⠀⣘⠰⣹⠉⣇⢆⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠋⠉⠉⣤⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡻⠸⡧⡧⢸⡀⡼⢸⠀⠀⡟⠜⢸⠃⢸⠀⠏⠏⢾ ⠁⠁⠁⣿⢸⡏⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠧⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⠀⠀⢰⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣰⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢘⣾⢻⣿⢀⣿⡷⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡄⢂⡌⢹⣿⡇⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⢠⢀⡖⠂⠀⠀⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡴ ⣸⣷⣀⣸⡿⣾⠿⣼⣿⡇⣰⡆⢀⡀⠀⣰⡄⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⠁⢸⡇⠈⣿⡇⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠲⢠⢤⢰⠃⡄⡰⠀⢰⡗⡠⠄⠀⢠⢠⢠⣷⠗ ⠟⠟⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⠀⣿⣇⠀⣿⢇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠣⠳⠀⠚⠀⢳⠃⠀⠸⠈⠓⠂⠀⠘⠀⠸⡸⠀ ⠀⠀⢘⣯⣿⣿⣾⣿⣿⡿⠿⡿⣯⡭⠌⢭⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣧⠀⣿⣿⠀⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠇⠃⠀ ⣤⣤⣤⣿⣿⣿⣿⣿⣿⣷⢶⣯⣬⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⠀⣿⣿⠠⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⣿⣿⣿⣿⣿⢾⣿⣿⢾⣾⣟⣿⢻⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣩⠄⣿⣟⣸⣛⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⣀⣀⡀⣀⣰⣀⠀⠀⠀⢺⠙⣧⢺⠿⢆⡖⢒⡖⡆⡲⡶⣶⢰⠵ ⣿⣿⣿⣷⣾⣾⣿⣷⣶⣿⣾⣾⣿⣷⣿⣾⣾⣾⠾⠛⠖⠛⠗⠻⠑⠛⠾⠓⠟⠀⢼⡾⠙⠞⠙⠞⠻⠚⠶⣿⣷⢟⡳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠸⠻⠃⠳⠋⠃⠏⠇⠆⠀⠀⠩⠔⠉⠈⠉⠈⠁⠈⠈⠁⠁⠁⠉⠈⠁ ⠉⠿⠿⣿⣿⣿⣿⡿⠻⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣀⠀⠖⣠⠀⠀⠀⢀⣄⠀⠀⠀⢸⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡸⠀⡀⠀⠀⠘⢁⠀⣀⡘⢀⢀⠀⠀⠀⠀⠀⣤⠀⡜⡀⣀⡀⣈⢀⣀⠀⠀⠀⣀⢀ ⢉⠇⣸⡃⡏⢸⣇⡎⣘⣁⡮⠇⡏⠏⠀⠀⠠⠏⠧⢹⡾⡟⣾⡓⣸⢻⢡⣯⠇⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⣏⡣⣞⡚⡽⠉⣏⠹⡖⢡⡇⡼⢽⠸⣽⠁⠀⠀⣇⢰⠣⠇⡇⠃⠏⠸⠁⠀⠀⢀⡇⠮ ⠈⠁⠈⠀⠉⠀⠁⠁⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠁⠈⠀⠁⢀⠀⡼⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠨⠜⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⡀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠸⢓⠞⣣⣠⠀⠈⠉⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⣽⠓⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠂⠂⠀⠘⣰ ⣀⡀⣀⢠⣤⡼⢁⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⠀⡟⣰⠁⡀⣠⠀⡴⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣄⠀⠀⠀⣤⡄⣤⡄⢠⠀⡄⠐⡟⠚⡠⡄⢤⠤⣤⣤⡤⠀⠀⢀⠤⠀⡞⠀⠀⠀⠀⢧ ⠇⠇⢏⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡯⡇⢻⣼⠼⢸⢹⡇⣿⣿⠰⠵⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠸⠸⠠⠃⠇⠸⡼⠀⠴⠃⠀⠓⠂⠏⠀⠃⠃⠃⠀⠀⠈⠒⢠⠇⠀⠀⠀⠠⡠ ⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣀⡔⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢤⠶⡉⡄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠊⠀⠀⠀⠀⠀⠈ ⠀⠀⣠⠂⠀⣠⣄⢰⣦⡄⣠⣄⢀⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⡄⡏⣟⡽⠀⢀⠼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠰⠔⡼⣀⠇⠀⠀⠀⠀⠀⣰⠁⠀⠀⢀⠀⠀⠀⠀⠀⠀⢰⠁⡀⠀⠀⠀⠀⠀⠀ ⢀⣴⠇⢰⡆⣿⣭⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠇⡇⣿⢸⣼⡇⣸⠉⢧⠀⣶⣠⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡰⠴⠀⠤⢠⡇⣴⠶⡔⠂⢲⢷⢆⡇⡮⠇⠀⡏⢰⠓⠀⢠⢮⠇⡞⡸⣁⡯⠇⡟⠃⢰⡛ ⠘⠚⠋⠛⠁⠎⠁⠘⠀⠓⠈⠑⠃⠛⠀⠀⠒⠘⠀⠃⠓⠈⠋⠑⠋⠀⠈⣧⡧⢍⡏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠙⠁⠀⠈⠉⠀⠉⠁⠉⡁⡎⠉⠈⠀⠉⠀⠀⠉⠀⠉⠀⠈⠉⠉⠀⠉⠀⠉⠀⠁⠀⠀⠉ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠊⠀⠉⠁⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⡀⠀⢀⣀⢀⣇⠀⠀⢀⣀⢀⣀⣀⡁⣀⢀⢀ ⡶⡖⡞⣘⢙⣘⣛⣃⢆⣀⡀⠀⣘⠰⣹⠉⣇⢆⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠋⠉⠉⣤⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡻⠸⡧⡧⢸⠀⡼⢹⠀⠀⡿⠜⢸⠃⢸⠀⠏⠏⢾ ⠁⠁⠁⣿⢸⡏⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠧⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⠀⠀⢰⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢘⣾⢻⣿⡀⣾⡷⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡄⢂⡌⢸⣿⡇⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢀⡖⠂⠀⠀⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡴ ⣰⣷⣀⣸⡿⣿⠿⣷⣿⡇⣰⡆⢀⡀⠀⣰⡄⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⠁⢸⡇⠈⣿⡇⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠲⢠⢤⢰⠃⡤⡰⠀⢰⡗⡠⠄⠀⢠⢤⢀⢧⠗ ⠟⠟⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⠀⣿⡇⠀⣿⢇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠣⠻⠂⠚⠀⢳⠃⠀⠸⠈⠑⠂⠀⠘⠀⢸⡸⠀ ⠀⠀⢘⣯⣿⣿⣾⣿⣿⡿⠿⡿⣯⡭⠬⢭⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣯⠀⣿⣿⠀⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠠⠣⠃⠀ ⣤⣤⣤⣿⣿⣿⣿⣿⣿⣷⢶⣯⣬⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⠀⣿⣿⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⣿⣿⣿⣿⣿⢾⣿⣿⢾⣾⣟⣿⢻⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣩⠄⣿⣟⣸⣛⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⣀⣀⡀⣀⣰⣀⠀⠀⠀⢺⠙⣇⢸⡯⢆⡖⢒⡖⡆⡲⡶⣶⢰⠵ ⣿⣿⣿⣷⣾⣾⣿⣷⣶⣿⣿⣾⣿⣷⣿⣾⣾⣿⠾⠛⠶⠛⠗⠻⠑⠛⠞⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⠚⠶⣿⣷⢟⡳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠸⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠩⠔⠉⠈⠉⠈⠁⠈⠈⠁⠁⠁⠉⠈⠁ ⠉⠿⠿⣿⣿⣿⡿⡿⠻⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⣀⠀⠖⣠⠀⠀⠀⢀⡀⠀⠀⠀⢸⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⣸⠀⡀⠀⠀⢐⢁⡀⣀⡘⢀⢀⠀⠀⠀⠀⠀⣠⠄⣼⡀⢀⡀⣈⢁⣀⠀⠀⠀⣈⢀ ⢁⡇⢸⡃⡏⢰⣇⡞⣘⣁⡾⠇⡎⠏⠀⠀⠠⠏⠯⢹⡞⣟⢾⡓⢸⢻⢣⣏⠇⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⣏⡇⣜⡚⣸⠉⡟⠘⡷⢡⡇⡼⢹⠰⣽⠀⠀⠀⣏⢰⠣⠇⢇⠃⠏⠸⠁⠀⠀⢀⡇⠺ ⠀⠁⠈⠀⠉⠀⠁⠁⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠁⠈⠀⠁⢀⠀⡼⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣠⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠜⠀⠀ ⠀⠀⠀⠀⠀⠀⡀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠸⢓⠟⣣⣠⠀⠈⠈⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⢽⠓⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠆⠂⠀⠘⣰ ⣀⡀⢠⢠⣤⡼⢁⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⠀⡟⣰⠁⡀⣀⠀⡤⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣤⠀⠀⠀⡤⡄⣤⣤⢠⠄⡄⠀⡟⠚⡤⡄⢤⠤⣤⣤⡤⠀⠀⢀⠤⠀⡼⠀⠀⠀⠀⣯ ⠇⠇⢏⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡯⡇⢻⣼⠼⢸⢹⡇⣿⣿⠠⠇⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠸⠹⠀⠃⠇⠸⡼⠀⠰⠃⠀⠓⠂⠏⠀⠃⠃⠃⠀⠀⠈⠒⢠⠇⠀⠀⠀⠠⡠ ⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣀⠔⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢠⠴⡉⡄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠈⠀⠀⠀⠀⠀⠈ ⠀⠀⣠⠒⠀⣠⣄⢰⣦⡄⣠⣄⢀⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⡄⡎⣟⡽⠀⢠⠼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠰⠕⡼⡀⠇⠀⠀⠀⠀⠀⣰⠁⠀⠀⢀⠀⠀⠀⠀⠀⠀⢰⠃⡀⠀⠀⠀⠀⠀⠀ ⢀⣤⡇⢰⡆⣿⣭⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⡆⡇⣿⢸⣼⡇⣸⠋⢷⠀⣶⢠⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣰⠲⠀⠠⢠⡇⣰⠷⡔⠆⢰⠷⢆⡏⡮⠇⠀⡏⣰⠒⠀⢠⢮⠇⡞⠸⣁⡮⠇⡟⠃⠠⡛ ⠘⠚⠊⠛⠃⠎⠁⠘⠀⠓⠈⠑⠃⠛⠀⠀⠒⠘⠀⠃⠒⠈⠋⠑⠋⠀⠈⣧⡿⢍⡏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠙⠁⠀⠈⠋⠀⠉⠁⠉⡁⡞⠉⠈⠀⠁⠀⠀⠉⠀⠉⠀⠈⠉⠉⠀⠈⠀⠉⠀⠁⠀⠀⠉ ⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠊⠀⠉⠉⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⡀⠀⠀⣀⢀⣇⠀⠀⢀⣀⢀⣀⢀⡁⣀⢀⠀ ⡲⡶⣖⣘⢙⡘⣓⣃⢆⣀⡀⠀⣘⠱⣹⠁⣇⢆⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠋⠉⢩⣨⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡹⠸⡧⡧⢸⡀⡼⢹⠀⠀⡿⠜⢰⠃⢸⠁⠏⠏⠺ ⠁⠁⠁⣿⢸⡟⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⠀⠀⢰⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⢘⣾⢻⣿⢈⣿⡷⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡄⢃⡈⢸⣿⡏⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⡔⠒⠀⠀⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡰ ⢰⣷⣀⣸⡿⣼⢿⣼⣿⡇⣰⡆⢀⡀⠀⣐⡄⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⠁⢸⡇⠈⣿⡇⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠴⢠⢤⢰⠇⡄⡰⠀⢰⡗⡠⠄⠀⢠⢠⢠⣧⠗ ⡟⡟⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⠀⣾⡇⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠣⠻⠀⠚⠀⢳⠃⠀⠸⠈⠑⠂⠀⠘⠀⢸⠸⠀ ⠀⠀⢘⣯⣿⣿⣾⣿⣿⡿⠿⡿⣯⡭⠬⢭⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣟⠀⣿⣿⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣀⠏⠀⠀⠀⠀⠀⠀⠀⠀⠠⠧⠃⠀ ⣤⣤⣬⣿⣿⣿⣿⣿⣿⣷⢶⣮⣬⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⠀⣿⣿⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⡟⢫⣿⣿⣿⣿⣿⢾⣿⣿⢾⣾⣟⣿⢻⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣩⠄⣿⣟⣰⣛⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣠⣀⠀⠀⠀⢺⠘⣇⢺⡯⠆⡖⢒⡗⡆⡲⡶⣶⢰⠱ ⣿⣿⣿⣷⣾⣾⣿⣷⣶⣿⣿⣾⣿⣷⣿⣾⣾⣿⠾⠛⠶⠛⠗⠻⠑⠛⠾⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⠚⠶⣿⣷⢟⣳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠨⠔⠉⠈⠉⠈⠁⠈⠀⠁⠁⠁⠉⠈⠁ ⠉⠿⠿⣿⣿⣿⡿⡿⠻⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ䷩ 𝚕𝚒𝚗𝚎 838 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/25/the-geminispace-curve/#comments Gemini version at gemini://gemini.techrights.org/2022/01/25/the-geminispace-curve/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.25.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Gemini_Milestones_and_Growth_(Almost_2,000_Known_Gemini_Servers_Now,_39,000 Pages_in_Ours)⠀✐ Posted in Site_News at 11:26 am by Dr. Roy Schestowitz Video_download_link | md5sum 960ac24856eaabb890860e1d2d80665e Gemini Growing (errata: I said 2016 instead of 2006 near the start of this video) Creative Commons Attribution-No Derivative Works 4.0 http://techrights.org/videos/gemini-39000.webm Summary: The diaspora to Gemini Protocol or the transition to alternative ‘webs’ is underway; a linearly growing curve (see bottom) suggests that inertia/momentum is still there and we reap the benefits of early adoption of Gemini BASED on Stéphane_Bortzmeyer‘s Gemini_stats_for_Lupa, which are charted here (visually), as well as our_own (code for the calculations is in_Git), Gemini keeps growing at a linear pace. Yesterday and the day before that we served 43,000 pages over gemini:// and the number of capsules (equivalent of sites/ domains) will soon stand at 2,000 (known ones, including about 350 unreachable ones). “Putting all those walled gardens and paywalls aside, there’s consolidation around just one Web browser (or browser ‘family’) and the Web is far too complex and too proprietary due to endless expansion, topping it all off with DRM.”Our main milestone, which was reached around 3PM today, is exactly 39,000 pages being in our capsule. For 16 years that’s almost 2,500 per year. Our efforts to expand beyond the Web were partly motivated by the observation of the Web’s demise/decline, at least as an open platform. Putting all those walled gardens and paywalls aside, there’s consolidation around just one Web browser (or browser ‘family’) and the Web is far too complex and too proprietary due to endless expansion, topping it all off with DRM. It’s becoming little but a transport layer for encrypted binaries, where the purpose of the encryption isn’t security but distrust of Web users, presuming people are just “pirates” who should be reduced to passive, mindless “consumers”. In order to be around for decades to come various Web sites will need to seriously consider their life beyond (or after) the Web, which nowadays exists mostly_for_large_corporations_that_steer/decide/determine_its_direction. World Wide Web might be “the next Flash”. █ 🄸🄼🄰🄶🄴_🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽_⦇Geminispace_curve⦈_ ⠀⠀⢀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣄⡀⠀⠀⠀ ⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀ ⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀ ⠀⠀⠀⠈⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀ ䷩ 𝚕𝚒𝚗𝚎 934 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/25/why-the-unified-patent-court-upc-is-still-just-a-fantasy-and-the-upcs-fake-news-mill-merely-discredits-the-whole-patent-profession/#comments Gemini version at gemini://gemini.techrights.org/2022/01/25/why-the-unified-patent-court-upc-is-still-just-a-fantasy-and-the-upcs-fake-news-mill-merely-discredits-the-whole-patent-profession/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.25.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Why_the_Unified_Patent_Court_(UPC)_is_Still_Just_a_Fantasy_and_the_UPC’s_Fake News_Mill_Merely_Discredits_the_Whole_Patent_‘Profession’⠀✐ Posted in Deception, Europe, Patents at 3:33 pm by Dr. Roy Schestowitz Video_download_link | md5sum dec8d2db40b0fa74f865133985306a8c UPC is Far From Reality Creative Commons Attribution-No Derivative Works 4.0 http://techrights.org/videos/upc-will-be-in-court.webm Summary: Patents and science used to be connected; but now that the patent litigation ‘sector’ is hijacking patent offices (and even courts in places like Texas) it’s trying to shove a Unified Patent Court (UPC) down the EU’s throat under the disingenuous cover of “community” or “unity” AS noted in passing earlier_today, it seems increasingly safe to assume that the UPC ‘coup plotters’ will be forced to justify_what_they're_doing when courts get involved [1, 2]. Don’t be so easily misled by a large quantity of low-quality (outright false) 'reports' which omit_actual_facts and resort to nothing but jingoism, false prophecies, and cult-like_thinking. In the video above I try to explain in simple terms that the ‘coup’ is basically an attack not only on Europe but on all occupations except patent litigation (so-called ‘professionals’), more so if you work for the global multinationals with their patent monopolies or patent cartels (so-called ‘Big Pharma’ is one example of this). Putting aside economic and technical reasons, UPCA should be thrown out for purely legal reasons. We expect that to happen, with a challenge to come some time later this year. Based on sources, even Team UPC and Ramsay (say_lies) is fully aware of it, so it resorted to a (mis)information war. █ ䷩ 𝚕𝚒𝚗𝚎 990 ╒═══════════════════ 𝐃𝐀𝐈𝐋𝐘 𝐋𝐈𝐍𝐊𝐒 ═════════════════════════════════════════════╕ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.25.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Links_25/1/2022:_Vulkan_1.3_Released,_Kiwi_TCMS_11.0,_and_antiX_19.5⠀✐ Posted in News_Roundup at 2:43 pm by Dr. Roy Schestowitz 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇GNOME bluefish⦈ § Contents⠀➾ * GNU/Linux o Distributions o Devices/Embedded * Free_Software/Open_Source * Leftovers * § GNU/Linux⠀➾ o ⚓ Some_Old_Linux_Journal_Articles:_MacOS_to_Linux_Guides⠀⇛ Way back when in June of 2019, Linux Journal published one of its final issues of the digital magazine. The publications ceased its operations in the beginning of August. Anyway, some articles were not able to make it online and to the Linux Journal website. I just realized that two of those articles were mine. So, I took the liberty of posting the PDF versions of those articles here. o § Desktop/Laptop⠀➾ # ⚓ Jrnl:_Your_Digital_Diary_in_the_Linux_Terminal⠀⇛ Imagine this: somebody has broken your heart and what you want is to write your feelings in a journal without distraction. Did you get the idea? No? Neither do I. I am not heartbroken (or maybe I am and I don’t want to tell you). But I would still like to show you a wonderful minimalistic open-source, note-taking application to keep journal entries. # ⚓ Framework_Laptop_Now_Enjoys_Open-Source_EC_Firmware⠀⇛ While just one part of the overall equation for a system with open-source firmware, the Framework Laptop has joined the ranks of the Linux-focused laptops these days being backed by open-source firmware for its embedded controller (EC). Framework announced last month that as part of “open sourcing our firmware” they have now published the EC firmware. o § Audiocasts/Shows⠀➾ # ⚓ Linux_Essentials_–_htop_–_Invidious⠀⇛ There’s no shortage of monitoring tools available for Linux servers and workstations, but htop is a a classic. By installing htop, you can see an overview of your resource usage, including meters for CPU, RAM, Swap, and more. # ⚓ Pop!_OS_21.1_Quick_overview_#Shorts_–_Invidious⠀⇛ # ⚓ Destination_Linux_262:_Do_You_Need_An_Anti-Virus_On Linux?⠀⇛ This week’s episode of Destination Linux, we’re going to discuss the increase in Malware on Linux and ask the question – do you need anti malware software now that Linux is growing in popularity? Then we’re going to discuss some nice enhancements to Microsoft Office alternative OnlyOffice. Plus we’ve also got our famous tips, tricks and software picks. All of this and so much more this week on Destination Linux. So whether you’re brand new to Linux and open source or a guru of sudo. This is the podcast for you. o § Kernel Space⠀➾ # § Graphics Stack⠀➾ # ⚓ Vulkan_1.3_Released_with_Dynamic_Rendering,_Improved Synchronization_API⠀⇛  More than a year in development, the Vulkan 1.3 API is here to introduce dynamic rendering through the VK_KHR_ extension as a streamlined path to start rendering and to significantly reduce application complexity, as well as additional dynamic state through the VK_EXT_extended_dynamic_state2 extension to further reduce the number of pipeline permutations. Vulkan 1.3 also introduces the VK_EXT_pipeline_creation_cache_control and VK_EXT_pipeline_creation_feedback extensions to give developers more control over how and when pipelines are compiled, as well as to provide them with information about the compiled pipelines, and makes the buffer device address support mandatory to allow devs to start using pointers across the ecosystem. # ⚓ Vulkan_1.3_Released_With_Dynamic_Rendering_In_Core, New_Roadmap_Guidance_For_Modern_GPUs_–_Phoronix⠀⇛ It’s crazy to think that in a few days it will already be six years since the debut of Vulkan 1.0, but here we are. The Khronos Group is continuing on their two year major update regiment for Vulkan and today debuting Vulkan 1.3 with more extensions moved to core as well as introducing a new “profiles” concept. # ⚓ Vulkan_API_1.3_released,_new_roadmap_and_profiles feature_|_GamingOnLinux⠀⇛ Today is the release of the Vulkan API 1.3 specification update and The Khronos Group has put up a press release going over the changes. A vital API for the future of Linux gaming and the Steam Deck of course, with Steam Play Proton using Vulkan for the translation from Direct 3D for DXVK and VKD3D-Proton. o § Applications⠀➾ # ⚓ The_5_Most_Useful_Linux_Text-Manipulation_Commands⠀⇛ Want to up your Linux game and learn more about text-manipulation? Here are the top five Linux command-line tools to begin your journey. Linux developers follow the philosophy of creating small programs that do one task and do it well. Take Linux text processing tools as an example, they are lightweight and have modular functionality. Even though these text manipulation tools differ in complexity and functionality, they come in handy in an environment where the graphical user interface isn’t available. o § Instructionals/Technical⠀➾ # ⚓ Sending_logs_to_Elastic_Cloud_using_syslog-ng_–_Blog_– syslog-ng_Community_–_syslog-ng_Community⠀⇛ The Elastic Cloud is a service by Elastic providing Elasticsearch and related services in an easy-to- use package. Last year someone reported an issue that it does not work properly with syslog-ng. I did not have time to investigate at that time. Now I started a free trial and soon my log messages from syslog-ng started to appear in Kibana in Elastic Cloud. From this blog you can learn how to configure syslog-ng for the Elastic Cloud. I go with the most basic settings: exploring Elastic Cloud and syslog- ng Elasticsearch features are both out of scope, as both are very well documented on their respective websites. # ⚓ Fast_backups_of_Fedora_with_btrbk_–_Lukáš_Zapletal⠀⇛ Last year, I did full reinstall of my workstation in order to change from XFS to BTRFS file system, which is now the default in Fedora Workstation. The plans were simple – I wanted to achieve fast backups. And one year later, I finally got to setting it up. Here is how to do it. Scenario is simple, a host with BTRFS filesystem, a USB drive connected and also formatted as BTRFS for ultra-fast snapshots/backups. # ⚓ How_to_Solve_the_Most_Common_WordPress_Errors_| RoseHosting⠀⇛ Today we are going to explain and give you some instructions on how can you fix the most common WordPress errors that may occur on your WordPress website. There is no strict rule to fix the issues since we need to debug first and understand what the problem may be, but sometimes some errors are very common and there are quick fixes, that all WordPress users need to know. # ⚓ Snowflake_Role_Based_Access_Control_(RBAC)_Explained_– OSTechNix⠀⇛ Access control is one of the crucial concepts in all the Database environments. In this article, we will learn about Snowflake Role based Access Control (RBAC) and how to create custom roles and grant access to the roles from Snowflake WebUI and using SnowSQL CLI client. # ⚓ How_to_Install_Enlightenment_Desktop_0.25.1_in_Ubuntu 20.04,_21.10,_18.04_|_UbuntuHandbook⠀⇛ For Ubuntu and Linux Mint users, the latest Enlightenment DR 0.25 now is easy to install via an unofficial Ubuntu PPA. Enlightenment (aka, E) released version 0.25 (then v0.25.1) as well as Enlightenment Foundation Libraries (EFL) 1.26 a few weeks ago. Here’s how to install them in Ubuntu via PPA. E 0.25 series comes with lots of minor bug fixes, flat look to match new flat theme, new touchpad gesture recognition bindings, new Procstats module can show mem/CPU usage in titlebar, and many more other changes. # ⚓ How_to_get_started_with_the_Vi_editor_|_Enable_Sysadmin⠀⇛ The Vi application is the default text editor on most Linux systems, so it’s the primary interface you will use when you need to edit a configuration file. If you’re used to a graphical text editor, such as Notepad++ or VS Code, Vi can be confusing at first. In its default form, Vi launches and runs in a terminal and is entirely keyboard-driven. But once you learn the basics of Vi, you’re likely to find that it’s a fast, efficient, and flexible editor. # ⚓ Install_Git_2.35.0_On_Ubuntu_/_Linux_Mint_/_Rocky_Linux_& Fedora_|_Tips_On_UNIX⠀⇛ This tutorial will be helpful for beginners to install git 2.35.0 on Ubuntu 20.04 LTS, Ubuntu 21.10, LinuxMint 20.3, Rocky Linux 8, AlmaLinux 8, and Fedora 35. Git is the most popular Free and Open-source distributed version control system in the world. It is easy to learn and has a lightning-fast performance. Git is fast and built to work with the Linux kernel, the latest version of GIT is 2.35.0 and it is a stable version released on 24-JAN-2022. # ⚓ How_to_install_MongoDB_5_on_Debian_11_–_NextGenTips⠀⇛ MongoDB is an open-source NoSQL database that provides high throughput for data-driven applications. Unlike relational databases such as MySQL, Oracle, and SQL servers which store data in tables according to a rigid schema, MongoDB stores data in documents with flexible schema. # ⚓ Enable_or_Disable_Automatic_Login_in_Debian_11_Bullseye_– Linux_Shout⠀⇛ To secure our system we generally use password to login in to a Linux and other OS. However, if you are the only person who has access to your Linux system such as Debian 11 Bullseye then you can enable the autologin feature and here we will know how? Systems that are in offices or in insure location need to secure with a login “password”. That a user has to enter every time he or she want to access the files and other data residing in it. Well, this happens everytime when we start our computer or logout. It is actually a good thing but if you only work with the computer alone anyway, the repeated password entry is quite annoying. If you want to boot straight through to the desktop, you can log in automatically and switch off the password prompt when the system starts. Here we will show you how to do that in Debian based systems. o § Games⠀➾ # ⚓ Heroic_Games_Launcher_for_Epic_Games_on_Linux_adds_gamepad support_|_GamingOnLinux⠀⇛ Making things even easier for the upcoming Steam Deck, the unofficial Heroic Games Launcher for Epic Games can now be navigated with a gamepad. Testing it out today, it works really nicely too. Just goes to show what amazing things a community can do, even when Epic doesn’t support Linux directly with their store. [...] Work is still in progress to support Flatpak / Flathub, once that is done installing this on a Steam Deck or any other Linux distribution should be super-simple. # ⚓ Heroic_Games_Launcher_2.1_Now_Supports_Gamepad_Control_in the_Interface_–_Boiling_Steam⠀⇛ A quick post today following the recent release of the new version of Heroic Games Launcher, the unofficial (and FOSS) client for the Epic Games Store on Linux (and other platforms). The latest update brings several changes but the most interesting one is the addition of gamepad support. You can now control most of the interface using a connected Gamepad (I tried it with Xinput and it was recognized instantly) and modify settings and launch your games with it. This makes for a better experience a la Big Picture Mode, and this is a very welcome addition as the Steam Deck is about the be released! # ⚓ DXVK_1.9.4_is_out_as_Valve_prepares_Proton_7.0_| GamingOnLinux⠀⇛ The Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine named DXVK (used with Proton) has a 1.9.4 version release, plus it appears that Proton 7.0 is closing in. More info on Steam Play Proton on our dedicated page. # ⚓ Dynamic_Cloud_Sync_to_let_you_easily_switch_between_PC_and Steam_Deck_|_GamingOnLinux⠀⇛ Valve has announced the latest upgrade to help players with a Steam Deck. It’s called Dynamic Cloud Sync and will let you easily switch between your PC and a Steam Deck. The idea is that when you enter suspend mode on the Steam Deck, like you might with other consoles, the Steam Deck will then upload any modified save data to the Steam Cloud ready to be picked up anywhere else. When you wake the device, it will then automatically download any changes ready for you to carry on. Valve say this is not a requirement but they “recommend” developer use it to give players the best experience possible. Without it though, there may be problems as Valve say: “Without Dynamic Cloud Sync enabled, Steam will still track when save game data is changed on the Steam Deck. However, any user who suspends their Deck while your game is running and then tries to resume that game on a different device, will be prompted to first return to their Deck to close the running process or continue without their most recent save game progress”. # ⚓ We’re_living_in_a_weird_world_with_Sony’s_Shuhei_Yoshida excited_about_a_Linux_handheld_|_GamingOnLinux⠀⇛ Sometimes it feels like I’ve somehow fallen through the multiverse into a very different and thoroughly weird world. When Valve put Steam on Linux back in 2013 (see our full history), who could have imagined what that would bring us many years later? At the end of February the Steam Deck should be releasing to the lucky first few who managed to get their reservation in (not me), ushering in a new era of PC gaming on the go. A Linux handheld. Powered by SteamOS 3, Valve’s latest bundling of Steam with open source based on Arch Linux. Excitement levels keep rising every time Valve announce something new, but its the posts from developers we keep seeing with units that really gets us excited. When you have the likes of Shuhei Yoshida, the Head of Sony PlayStation Indies (and former President of SCE Worldwide Studios), putting up a clearly very excited Twitter post showing off a previously PlayStation exclusive running on a Linux handheld (the Steam Deck), you know something big is brewing that’s about to be unleashed on the world. # ⚓ SUPERHOT:_MIND_CONTROL_DELETE_fixes_up_Steam_Deck_support_| GamingOnLinux⠀⇛ SUPERHOT: MIND CONTROL DELETE had a small patch released today and it seems they’re another developer hoping to see their game fully verified for the upcoming Steam Deck handheld from Valve. This first-person shooter is built on the foundation of the original hit SUPERHOT, where time moves in slow motion until you make a move. It’s a huge amount of fun and it’s highly replayable thanks to it having basically more of everything. It seems like a game that would be great to have on the go. # ⚓ Lutris_game_manager_getting_Ubisoft_Connect_integration_| GamingOnLinux⠀⇛ Is any service safe from Lutris? Apparently not. This impressive free and open source game manager will gain support for another way to install games on Linux in an upcoming update. Just like the previous article highlighting the upcoming Origin support, this newly introduced Ubisoft Connect is not available in a released build as they code has only recently been added to the GitHub development area. o § Distributions⠀➾ # § Arch Family⠀➾ # ⚓ 5_Arch_Linux_Distros_That_Are_Easier_to_Install_and Use⠀⇛ Arch Linux is probably one of the most “for geeks” Linux distributions, with a delightful experience for every aficionado seeking to push the bleeding edge of what Linux can do. Its nature and target user make it challenging to use and install, with a steep learning curve that can put off even seasoned Linux users. Your computer becomes a project, you become the engineer in charge of it, and Arch hands you a magic wand to achieve your wildest dreams – provided you learn how to use it. If you’d like to harness the power of Arch Linux but don’t want to have to build everything from the ground up, the good news is that there are plenty of Arch-based Linux distributions that offer varying levels of granularity to your experience. Nearly all of them offer the simplicity of GUI-based installation, and each provides its own unique take on Arch Linux. # § IBM/Red Hat/Fedora⠀➾ # ⚓ 14_years_old_and_changing_the_world:_how_Red_Hat_is supporting_one_girl’s_mission_to_diversify_coding⠀⇛ Diversity, equity and inclusion is a key commitment of Red Hat. We aim to reflect it in our people and also want to help improve representation and inclusivity in the tech industry for women, people of color, and other marginalized groups. More diversity produces a broader spectrum of ideas, and ensures everyone progresses further, faster. So given the opportunity to support a new coding movement for girls, we jumped at the chance. What’s extraordinary about this movement is that it’s being led by a London schoolgirl. When Avye Couloute started attending coding workshops, aged just seven, she was struck by two things: how much she loved them, and how few girls there were. She wasted no time putting the latter right. Since launching her Girls Into Coding (GIC) movement in 2018, the London schoolgirl has shared her knowledge and passion with more than 900 girls. “I just want to give other girls the chance to feel the way that I do about this stuff,” she says. # ⚓ The_disadvantages_of_microservices_|_Red_Hat Developer⠀⇛ Microservices have many benefits—but they come with downsides, too. Learn what trade- offs to keep in mind when using them in your applications. # ⚓ Cockpit_261⠀⇛ Cockpit is the modern Linux admin interface. We release regularly. # ⚓ IT_careers:_5_soft_skills_for_engineering_teams_in 2022_|_The_Enterprisers_Project⠀⇛ 2021 showed the tech industry that we have to think long-term. We can’t afford to hire all of our talent based on one specific hard skill, because things change fast, and today’s in-demand hard skills will eventually be tomorrow’s outdated skills. # ⚓ Digital_transformation:_5_future_and_3_fading_trends for_2022 [Ed: "Digital transformation" was mocked as a buzzword by Red Hat yesterday. Today it's back to this meaningless garbage.]⠀⇛ Digital transformation is nothing new. Depending on your definition, it can go back as far as the middle of the twentieth century. Even by the most conservative interpretations, leading enterprises have been on the digitalization path for a couple of decades. Over the last two years, however, digital transformation has taken on a new urgency. As organizations have weathered the upheavals instigated by the pandemic, digitization has become integral to their responses and also their future plans. Looking ahead to the next year, it’s clear that digital technologies will continue to play a seminal role in enterprise strategy and success. However, certain aspects of digital transformation are likely to increase in importance while others will diminish. Following are some of the trends IT leaders can expect to become more prevalent in 2022 – and others that are more likely to fade. # ⚓ Outreachy_Project_“Improve_NeuroFedora’s_user consumable_artifacts”_progress_update⠀⇛ Vanessa Christopher is working with the NeuroFedora team as an outreachy Intern. This blog post is her experience and project update so far. # § Debian Family⠀➾ # ⚓ Coronor’s_Report:_Lucy_Wayland_&_Debian_Abuse Culture⠀⇛ Molly de Blanc couldn’t do any technical work. She decided to use her new status to intimidate other people. On 17 December 2018 she was involved in the plot that secretly expelled Dr Norbert Preining. They began to blackmail him: he must bow down before them or they would tell everybody he was expelled. Dr Preining and other victims bravely spoke out publicly. For several weeks, Debian volunteers were exposed to hundreds of negative emails about Molly’s blackmail recipes. Christmas is normally a season when organizations thank their volunteers and give them the time and space to relax. Debian stole this rest from people including Lucy Wayland. Wayland started 2019 stressed. # ⚓ antiX-19.5_point_release_update_–_antiX_Linux⠀⇛ antiX-19.5 is a point release update of our 19 series based on Debian buster. As usual we offer the following completely systemd-free (and for this particular upgrade – elogind-free) flavours for both 32 and 64 bit architecture. Available iso files for sysVinit or runit. antiX-full (c1.2GB) – 4 windows managers – IceWM (default), fluxbox, jwm and herbstluftwm plus full libreoffice suite. # § Canonical/Ubuntu Family⠀➾ # ⚓ Kubuntu_21.04_(Hirsute_Hippo)_Reaches_End_of_Life⠀⇛ Kubuntu Hirsute Hippo was announced on April 22, 2021 with 9 months support. As of January 20, 2022, 21.04 reached ‘end of life’. No more package updates will be accepted to 21.04, and it will be archived in the coming weeks. You can read the official end of life announcement for Ubuntu as a whole. # ⚓ The_Next_Ubuntu_Wallpaper_Contest_Needs_to_Focus_on Quality⠀⇛ A new long-term support release of Ubuntu is on the way, and so too is a brand new Ubuntu wallpaper contest. In recent years long term support releases of Ubuntu have tended to include a “greatest hits” package of supplementary wallpapers, often sourced from those that won wallpaper competitions in the preceding three releases. That approach has a logic to it as an LTS release, is, in many ways, a “best of” itself. Plus, there’s some real honour for those whose art is selected to ship in a version of Ubuntu that gets used across tens of millions of desktops, as opposed to just a few hundred thousand (which is still a pretty awesome feat, as is). But for the next LTS Ubuntu’s community team is going back to basics. They’re going to run a wallpaper contest that community artists, professional and amateur alike, can take part in. Further details on the contest are going be be announced at some point, but they’ve already begun hyping it up on their social media. # ⚓ Smart,_agile_MLOps_on_any_cloud_–_Canonical_releases Charmed_Kubeflow_1.4_|_Ubuntu⠀⇛ Today, the Canonical Data Platform team announced the release of Charmed Kubeflow 1.4 – the state-of-the-art MLOps platform. The new release enables data science teams to securely collaborate on AI/ML innovation on any cloud, from concept to production. Charmed Kubeflow is free to use: the solution can be deployed in any environment without constraints, paywall or restricted features. Data labs and MLOps teams only need to train their data scientists and engineers once to work consistently and efficiently on any cloud or on-premise. Charmed Kubeflow offers a centralised, browser-based MLOps platform that runs on any conformant Kubernetes – offering enhanced productivity, improved governance and reducing the risks associated with shadow IT. The latest release adds several features for advanced model lifecycle management, including upstream Kubeflow 1.4 and support for MLFlow integration. Data scientists can get started today with Charmed Kubeflow 1.4 using Juju, the unified operator framework for hyper-automated management of applications running on both virtual machines and Kubernetes. The new release is in the CharmHub stable channel now, and can be deployed to any conformant Kubernetes cluster using a single Juju command. # ⚓ Ubuntu_Fridge_|_Ubuntu_Weekly_Newsletter_Issue_719⠀⇛ Welcome to the Ubuntu Weekly Newsletter, Issue 719 for the week of January 16 – 22, 2022. The full version of this issue is available here. o § Devices/Embedded⠀➾ # § Mobile Systems/Mobile Applications⠀➾ # ⚓ How_to_make_GIFs_from_your_Android_phone’s_motion photos⠀⇛ # ⚓ How_to_Record_Calls_on_Your_Android_Phone_|_PCMag⠀⇛ # ⚓ How_to_use_Phone_Hub_to_connect_your_Chromebook_and Android_phone⠀⇛ # ⚓ Google’s_“Lite”_Android_Apps_Can_Save_Data_and Battery⠀⇛ # ⚓ Trading_in_your_Android_phone?_How_to_get_the_most value_for_it⠀⇛ # ⚓ Got_new_phone?_Get_off_to_a_flying_start,_check_out our_Android_Beginner’s_Guide⠀⇛ # ⚓ Here’s_the_real_reason_third-party_camera_apps_are_so bad_on_Android⠀⇛ # ⚓ Android_Auto_bugs,_issues_&_problems_tracker:_Here’s the_current_status⠀⇛ # ⚓ How_to_use_reactions_in_Telegram_for_Android⠀⇛ # ⚓ 8_best_Android_launchers_in_2022⠀⇛ # ⚓ Motorola’s_next_Android_flagship_may_have_just_leaked in_full_|_Android_Central⠀⇛ # ⚓ Google_Pixel_weather_widget_not_clickable_after January_Android_12_update⠀⇛ # ⚓ Android_Auto_&_Spotify_voice_commands_not_working after_Android_12⠀⇛ o § Free, Libre, and Open Source Software⠀➾ # § Content Management Systems (CMS)⠀➾ # ⚓ Kiwi_TCMS:_Kiwi_TCMS_11.0⠀⇛ IMPORTANT: This is a new major release which contains security related updates, several improvements, API changes, bug fixes and new translations! # ⚓ Kiwi_TCMS:_Properties,_Environments_and_test_matrix generation⠀⇛ The upcoming Kiwi TCMS v11 contains new functionality around TestCase properties and TestRun environments which has an impact on how your final test execution matrix will look like. This article provides detailed information about these features but have in mind that they are still considered to be a technology-preview. * § Leftovers⠀➾ o § Hardware⠀➾ # ⚓ An_Entire_Computer_In_ICMP_Packets_|_Hackaday⠀⇛ The earliest stored program computer in the modern sense was not one of the names such as ENIAC or Colossus that you might expect, but the Manchester Baby, an experimental prototype computer built at the University of Manchester in 1948. Its 550 tubes gave it the multi-rack room-filling size common to 1940s machines, but its architecture makes it a comparatively simple processor by the standards of today. So simple in fact, that [Hrvoje Čavrak] has recreated it using ICMP packets as its storage, and a custom packet filter as its processor emulation. It’s a project that’s simultaneously both elegant and gloriously pointless, but as he says, “It’s still better than doing drugs or JavaScript”. o § Integrity/Availability⠀➾ # § Proprietary⠀➾ # § Security⠀➾ # ⚓ This_sneaky_ransomware_is_now_targeting_Linux servers,_too_|_ZDNet [Ed: It's not a Linux issue; ZDNet is a very Linux-hostile site, funded partly by Microsoft]⠀⇛ One of the most prolific families of ransomware now has additional Linux and VMware ESXi variants that have been spotted actively targeting organisations in recent months. Analysis by cybersecurity researchers at Trend Micro identified LockBit Linux-ESXi Locker version 1.0 being advertised on an underground forum. Previously, LockBit ransomware – which was by far the most active ransomware family at one point last year – was focused on Windows. # ⚓ Vulnerabilities_that_aren’t._Cross_Site_Tracing /_XST⠀⇛ This is the first of my posts that explain why some common security vulnerabilities are most likely not real threats. They should be treated as security enhancements rather than vulnerabilities. Bearing in mind the number of scanning tools that rate such vulnerabilities as “high” it’s no wonder people make the mistake of reporting them. It’s also a reminder to mistrust the output from something until you’ve verified it. I’m going to start with the not-a- vulnerability mother of them all, the HTTP TRACE (and TRACK) method. Something that could lead to an attack called Cross Site-Tracing (XST). In 20 years I have never seen a real-world exploit for it. o § Censorship/Free Speech⠀➾ # ⚓ Joint_statement_on_the_UAE’s_adoption_of_Federal_Decree_Law No._34_of_2021_on_Combatting_Rumours_and_Cybercrime_–_Access Now⠀⇛ We, the undersigned organisations, are writing to express our deep concern regarding the United Arab Emirates’ (UAE) recent adoption of a new Law on Combatting Rumours and Cybercrime, which severely threatens and unduly restricts the right to freedom of expression (both online and offline) and the rights to freedom of association and of peaceful assembly in the UAE. The new Cybercrime Law, adopted by Federal Decree Law No. 34 of 2021, went into effect on January 2, 2022, replacing the Emirates’ former Federal Law No. 5 of 2012 on Combatting Cybercrime. However, the new text does not address the problematic provisions of its predecessor and, on the contrary, further restricts civic space and free speech within the UAE and maintains the criminalisation of acts that are protected under international law. We are concerned that the overbroad and vague terminology used, particularly on “national security” related issues, provide the authorities with excessive discretion to criminalise and impose lengthy prison sentences on individuals exercising their rights to freedom of expression and peaceful assembly. The law further enables the criminalisation of the work of journalists, whistleblowers, activists and peaceful critics, subjecting those engaged in lawful activities to harsh prison sentences and excessive fines. As such, we call on the Emirati authorities to immediately repeal the law or sufficiently amend its provisions so that it is brought into line with international human rights standards. o § Civil Rights/Policing⠀➾ # ⚓ Facebook_critics_call_for_release_of_its_India_human_rights report_–_The_Economic_Times⠀⇛ About 20 organisations, as well as whistleblowers Frances Haugen and Sophie Zhang, and former Facebook Vice President Brian Boland, have urged the world’s largest social network to release its long-delayed India Human Rights Impact Assessment (HRIA) report, which allegedly highlights the company’s role in spreading hate speech and inciting violence in India. The group sent a letter to Facebook’s Director of Human Rights Miranda Sissons on Jan. 3, arguing that the India human rights report was an important element of Facebook’s human rights due diligence and—at a minimum—should be made public. o § Internet Policy/Net Neutrality⠀➾ # ⚓ Revealed:_Over_two_thousand_news_publishers_furnished_their details_to_the_MIB,_despite_Bombay_HC’s_stay⠀⇛ Recently, we were informed by digital news publishers that the Ministry of Information and Broadcasting (“MIB”), has issued notices to digital news media publishers under the Information Technology (Intermediary Guidelines and Digital Media Ethics Code) Rules, 2021 (“IT Rules 2021”), asking them to furnish their details. Accordingly, IFF filed an RTI Application to find out whether the MIB has indeed issued such notices, and to which publishers. The MIB has admitted that it has indeed issued two such notices, and that more than two thousand publishers have responded to these notices! [...] Some of our requests for information were denied, refused or flat out ignored, such as our question regarding how many publishers furnished their information after the Bombay High Court’s order. Other than this, we also sought a list of publishers to whom these notices were issued, and a list of publishers who responded to this notice with their details. Not only were reasons not provided for MIB’s refusal to provide these lists, but the MIB did not even explicitly refuse to provide these lists – the MIB simply ignored those parts of our questions! When we asked for information regarding the authority under which the MIB could issue such communications after the Bombay HC’s order, the MIB simply stated that this information does not fall in the definition of information in Section 2(f) of the RTI Act. We have thus been provided no details regarding how and under what legal authority the notices were issued. ䷩ 𝚕𝚒𝚗𝚎 2096 ╒═══════════════════ 𝐃𝐀𝐈𝐋𝐘 𝐋𝐈𝐍𝐊𝐒 ═════════════════════════════════════════════╕ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.25.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Links_25/1/2022:_Git_2.35_and_New_openSUSE_Hardware⠀✐ Posted in News_Roundup at 7:14 am by Dr. Roy Schestowitz 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇GNOME bluefish⦈ § Contents⠀➾ * GNU/Linux o Distributions o Devices/Embedded * Free_Software/Open_Source * Leftovers * § GNU/Linux⠀➾ o § Kernel Space⠀➾ # ⚓ Linux_5.17_Brings_Major_Performance_Improvements_For_AMD Ryzen_CPUs_&_APUs⠀⇛ With the increase of more Linux developers working on the upcoming Linux 5.17 kernel, a lot of AMD- based features will see some significant improvements and will usher in newer advancements in terms of AMD compatibility and processing in Linux. o § Applications⠀➾ # ⚓ 3_Best_SSH_GUI_Client_Tools_for_Linux_distros_–_Linux Shout⠀⇛ If you are using a Linux Desktop such as Ubuntu, Linux Mint, CentOS, RedHat… and want to access SSH using a GUI client then here are some best ones to try. The Secure Shell (SSH) is a protocol that allows programs (clients) to access a remote computer and execute commands or actions on it. This is very common in PCs and servers running Linux or any other Unix-like operating system and is the preferred choice for many administrators for remotely configuring and maintaining a computer. Due to its high functionality and efficiency, SSH has established itself as one of the most popular tools for accessing a computer over the network. In addition, the majority of Internet Service Providers (ISP) offer their customers web hosting with SSH to provide an easy and flexible way to access their files. Well, operating ssh is pretty easy, however, the remote server or pc must have an active SSH server such as OpenSSH, then only we can access them remotely using any SSH client. # ⚓ Best_Skype_Alternatives_for_Linux_Desktop⠀⇛ There’s no doubt that Skype is arguably one of the most popular instant messaging and video calling applications there is out there. Whether it’s keeping in touch with your friends and family or having conversations with clients or team members, Skype is a widely used tool. However, not everyone fancies Skype, and some users would prefer other applications to Skype. In this guide, we feature some of the widely used Skype alternatives for Linux desktops. o § Instructionals/Technical⠀➾ # ⚓ [Old] On_SSDs_–_Lifespans,_Health_Measurement_and_RAID⠀⇛ Solid State Drive (SSD) have made it big and have made their way not only in desktop computing but also in mission-critical servers. SSDs have proved to be a break-through in IO performance and leave HDD far far behind in terms of Random IO performance. Random IO is what most of the database administrators would be concerned about as that is 90% of the IO pattern visible on database servers like MySQL. I have found Intel 520-series and Intel 910-series to be quite popular and they do give very good numbers in terms of Random IOPS. However, its not just performance that you should be concerned about, failure predictions and health gauges are also very important, as loss of data is a big NO-NO. There is a great deal of misconception about the endurance level of SSD, as its mostly compared to rotating disks even when measuring endurance levels, however, there is a big difference in how both SSD and HDD work, and that has a direct impact on the endurance level of SSD. I will mostly be taling about MLC SSD, now let’s start off with a SSD primer. # ⚓ My_requirement_for_DNSSEC:_a_napkin⠀⇛ I’m regularly made fun of when teaching DNSSEC because I tell people I use a “napkin” when creating DNSSEC keys to jot down the key tags (or key IDs), and it’s true: also during trainings I have the “napkin” – to be precise it’s a sheet of A4 paper on which I note modifications to schedule, timezones, whether I still owe answers to questions, and of course, the key IDs of DNSSEC keys. # ⚓ How_to_install_and_configure_pCloud_on_Linux_Mint_|_FOSS Linux⠀⇛ PCloud offers a range of affordable storage plans that are pocket-friendly to anyone. It also provides a compelling size of free cloud storage and gives users complete control over their privacy, something many, if not all, users are looking for. Since pCloud is a Swiss-based application, it must adhere to strict Swiss privacy laws, meaning more protection for your files. However, it also puts forward a superb option for most personal and business users, hence an excellent option for all users. This software also interfaces with your browser via pCloud “save,” an extension for Opera, Firefox, and chrome. This extension allows you to directly save images to your particular “pCloud save” folder by only right-clicking on them. To add on, this app offers a pCloud web service for users who want to access their files but are away from their PCs. It works exactly like the pCloud app; there are menu links for browsing your files, accessing your public folder, pCloud rewind, backups from other cloud services, and your trash folder. Under this are links for accessing your shared folder, download links, crypto folder, and your audio files. To add a file to your web browser interface of pCloud, drag and drop the files into the specific folder by hovering over them, and pCloud will open an upload screen that displays your files uploading to the specified folder. # ⚓ Quickly_add_a_new_user_to_all_groups_the_default_user_is in⠀⇛ # ⚓ How_to_Create_Fillable_PDF_Forms_on_Linux_with_ONLYOFFICE⠀⇛ PDF (Portable Document Format) was invented many years ago by Adobe. It is currently the most popular format for sharing information due to its ease of use, security, reliability, and compatibility with all devices we use on a daily basis. This format ensures that a file does not alter its original structure under no circumstances when we open it on, for example, computers, tablets, smartphones, etc. Moreover, PDF makes it possible to add fields that other users can fill out with the required information. # ⚓ Install_LAMP_Stack_on_Rocky_Linux_8_–_LinuxCapable⠀⇛ LAMP is a collection of open-source software commonly used to serve web applications that have been around since the late 1990s. LAMP is an acronym that stands for Linux, Apache, MySQL/ MariaDB, and PHP and provides the components needed to host and manage web content and is still arguably the most utilized stack deployment for developers and web applications today. In the following tutorial, you will learn how to install the LAMP stack (Apache, MariaDB/MySQL, PHP) on Rocky Linux 8 Workstation or Server. # ⚓ Install_UNRAR_on_Ubuntu_20.04_LTS_–_LinuxCapable⠀⇛ UNRAR is widely known and used amongst Windows users. RAR files are much smaller archives and compress better than ZIP for most files by compressing files “together,” saving more space. UNRAR does not come pre-installed natively on Ubuntu, but it is available to install from its repository. The following tutorial will show you how to install UNRAR on Ubuntu 20.04 LTS Desktop or Server, along with the most commonly used commands. # ⚓ Install_R_Programming_Language_on_Linux_Mint_20_– LinuxCapable⠀⇛ R is an open-source programming language and free software environment for statistical computing and graphical representation created and supported by the R Core Team and the R Foundation. R’s popularity is widely used among statisticians and data miners for software developers’ statistical and data analysis. In the following tutorial, you will learn how to install R using the CRAN repository and install packages from R’s CRAN repository or PPA cran2deb4ubuntu on Linux Mint 20. # ⚓ How_to_Count_Number_of_Files_and_Sub-directories_inside_a Directory⠀⇛ Hi guys, In this article we will show you how to count the number of files and sub-directories in a directory using a tree command. # ⚓ Find_Top_10_IP_Addresses_Accessing_Your_Apache_Web_Server_– Unix_/_Linux_the_admins_Tutorials⠀⇛ In this post, you will learn how to Find Top 10 IP Addresses Accessing Your Apache Web Server- The monitoring access to your web server is the existence of access log files that store information about every access activities happen in the server. Working with log files is always very important, because they give you an account of everything that has happened within a system or application in this case your Apache web server. In case of any performance or access related problems, then log files can help you point out what could be wrong or is happening. In this article, we will show you how to find the top 10 addresses that accessing your apache web server. # ⚓ How_to_Install_and_Use_Telnet_on_Linux_Systems⠀⇛ Telnet can perform a few things that can be very helpful for Linux network administrators, like testing the open port over the remote system for troubleshooting, which is not possible in SSH protocol. o § Games⠀➾ # ⚓ HITMAN_3_Runs_Well_On_Linux_With_Steam_Play_–_Open-Source Radeon_Performance_Especially_Good_–_Phoronix⠀⇛ After being an Epic Games exclusive for its first year, HITMAN III launched on Steam last week. While there isn’t a native Linux port for HITMAN 3, it does run wonderful under Steam Play with Proton for enjoying this Windows game on Linux complete with Vulkan API rendering. Here are some initial benchmarks of HITMAN 3 on Linux with NVIDIA GeForce and AMD Radeon graphics cards. [...] Most fascinating with the results is how well the performance is out of the Radeon “RADV” Vulkan driver with HITMAN 3 and stronger than NVIDIA RTX 30 series with their proprietary Vulkan driver. While not having a Radeon RX 6900 XT for testing (never received a review sample), the RX 6800 XT with HITMAN 3 could even outperform the GeForce RTX 3090. o § Distributions⠀➾ # § BSD⠀➾ # ⚓ Why_we’re_migrating_(many_of)_our_servers_from_Linux to_FreeBSD⠀⇛ There are many alternative operating systems to Linux and the *BSD family is varied and complete. FreeBSD, in my opinion, today is the “all rounder” system par excellence, i.e. well refined and suitable both for use on large servers and small embedded systems. The other BSDs have strengths that, in some fields, make them particularly suitable but FreeBSD, in my humble opinion, is suitable (almost) for every purpose. So back to the main topic of this article, why am I migrating many of the servers we manage to FreeBSD? The reasons are many, I will list some of them with corresponding explanations. # § SUSE/OpenSUSE⠀➾ # ⚓ openSUSE_Gains_New_Hardware⠀⇛ The openSUSE Project added an enormous amount of compute power for its projects this past year thanks to SUSE, which is the project’s main sponsor. The added hardware will help with open-source development. The project now uses around a thousand build workers for x86, which will help with creating and distributing software for major Linux distributions in the Open Build Service. # § Debian Family⠀➾ # ⚓ To_Byzantium_and_Beyond_–_Purism⠀⇛ PureOS 10, codename: Byzantium, is the new stable release of PureOS. PureOS 10 is likely not a newcomer to everyone, it’s been around for a while as a rolling release or a “testing” release. It has been shipping on Purism’s new hardware. We’ve moved our kernel forward. We prefer to take the upstream, mainline, package kernel as that offers more stability and features for PureOS users. In 2021, we moved from one stable distribution to another stable distribution, from PureOS 9 to PureOS 10. This is a milestone for PureOS as previously we moved from testing distributions to stable. We strongly recommend upgrading to PureOS 10, but it is not a requirement. PureOS 9 will still get limited updates, but most users will want to upgrade to the new stable release to receive the benefits it brings. o § Devices/Embedded⠀➾ # ⚓ StackyPi_–_A_Raspberry_Pi_RP2040_board_with_Raspberry_Pi Zero_form_factor_(Crowdfunding)⠀⇛ SB Components’ StackyPi is a development board based on Raspberry Pi RP2040 MCU that happens to follow the Raspberry Pi Zero form factor. The board is equipped with 8MB SPI flash for the firmware, a MicroSD card socket, a micro SB port, two buttons, and a 40-pin GPIO header that makes it compatible with some Raspberry Pi uHAT and HAT expansion boards. # § Open Hardware/Modding⠀➾ # ⚓ Raspberry_Pi_RP2040_Board_Features_Circular_IPS Display⠀⇛ SB Components has been busy kicking off 2022 with a new selection of Raspberry Pi-based boards and we couldn’t be more excited. Just yesterday, we covered the new StackyPi project which features the RP2040 in a Pi Zero form factor. Today we’re sharing a couple of cool, “well-rounded” boards, including an RP2040 creation SB Components shared to Twitter with plans for an unspecified future release. # § Mobile Systems/Mobile Applications⠀➾ # ⚓ GeekBench_listing_reveals_Nokia_G10_is_already getting_a_taste_of_Android_12⠀⇛ # ⚓ Google’s_upcoming_‘Boreal’_Chromecast_will_run Android_12,_top_out_at_1080p,_and_cost_$40_or_less⠀⇛ # ⚓ Realme_X50_Pro_5G_gets_Android_12-based_Realme_UI_3.0 beta_–_GSMArena.com_news⠀⇛ # ⚓ Google_Chrome_Update_to_Release_a_Critical_Feature for_Android_Users_|_How_to_Get_it_|_Tech_Times⠀⇛ # ⚓ Micromax_IN_Note_2_with_AMOLED_display,_Android_11 launched:_Price,_specifications_–_Technology_News⠀⇛ # ⚓ Top_Android_Phones_For_Essay_Writing⠀⇛ # ⚓ WARNING:_New_Android_bug_will_delete_everything stored_on_your_phone_|_Express.co.uk⠀⇛ # ⚓ Benefits_Of_Owning_A_Bitcoin_Wallet_For_An_Android Device⠀⇛ # ⚓ Here’s_the_Most_Powerful_Android_Smartphone_Processor Based_on_This_Test⠀⇛ # ⚓ Samsung_Galaxy_Tab_S8_renders_reveal_upcoming_Android tablet_from_all_angles_|_TechRadar⠀⇛ o § Free, Libre, and Open Source Software⠀➾ # ⚓ Hot_Free_and_Open_Source_Application_Servers_for_Lua⠀⇛ An application server is computer software which provides the business logic for an application program. It offers services such as management of large distributed systems, data services, load balancing, transaction support, and network security. The application server is one part of a three-tier application, consisting of a graphical interface server, an application (business logic) server, and a database / transaction server. Many application servers support the Java platform, but they can be found in other environments. There are good reasons to deploy an application server in a corporate environment. At a high level, an application server enables updates and upgrades to applications to be distributed to all users. System administrators also benefit from the fact that changes to application configuration can take place centrally, which greatly simplifies technical support and ultimately the end user experience. Application servers also simplify user management, avoiding the need to set up and maintain user- management systems for applications. This type of software also enhances scalability and resource usage, and exposes business components via different deployment wrappers. # § Events⠀➾ # ⚓ Linux_User_Group_of_Mauritius_meets_Luboš_Kocman⠀⇛ We had a meetup in the conference room of Flying Dodo, Bagatelle, on Saturday 22 Junuary 2022. Luboš Kocman, the Release Manager for openSUSE, who came to Mauritius on vacation was kind enough to spare a few hours and meet us. [...] Luboš told us about some new things that will be coming to Leap in the future. He explained his role as a Release Manager for openSUSE and how the community as a whole is regarded as a SUSE partner. He explained the relationship between SUSE and the openSUSE community. He also talked about SUSE Liberty Linux, a new offering by SUSE which offers support for mixed Linux environment, like RHEL, CentOS and SLES. Luboš showed us code.opensuse.org/leap/ features/issues where community members can request the features they want most in openSUSE Leap. Hence, contributing to making openSUSE distributions better. # § FSF⠀➾ # § Licensing/Legal⠀➾ # ⚓ Settlement_with_Patrick_McHardy [Ed: Settlement over_GPL]⠀⇛ This settlement establishes that any decision-making around netfilter- related enforcement activities should be based on a majority vote. Thus, each active coreteam member [5] at the time of the enforcement request holds one right to vote. This settlement covers past and new enforcement, as well as the enforcement of contractual penalties related to past declarations to cease-and-desist. The netfilter project continues to endorse “The Principles of Community- Oriented GPL Enforcement” [6]. Therefore, this settlement does not release third parties from their obligations to comply with the license [7] hereinafter. # § Programming/Development⠀➾ # ⚓ Git_2.35.0⠀⇛ Git 2.35 Release Notes ====================== Updates since Git 2.34 ---------------------- Backward compatibility warts * "_" is now treated as any other URL-valid characters in an URL when matching the per-URL configuration variable names. * The color palette used by "git grep" has been updated to match that of GNU grep. Note to those who build from the source * You may need to define NO_UNCOMPRESS2 Makefile macro if you build with zlib older than 1.2.9. * If your compiler cannot grok C99, the build will fail. See the instruction at the beginning of git- compat-util.h if this happens to you. UI, Workflows & Features * "git status --porcelain=v2" now show the number of stash entries with --show-stash like the normal output does. * "git stash" learned the "--staged" option to stash away what has been added to the index (and nothing else). * "git var GIT_DEFAULT_BRANCH" is a way to see what name is used for the newly created branch if "git init" is run. * Various operating modes of "git reset" have been made to work better with the sparse index. * "git submodule deinit" for a submodule whose .git metadata directory is embedded in its working tree refused to work, until the submodule gets converted to use the "absorbed" form where the metadata directory is stored in superproject, and a gitfile at the top-level of the working tree of the submodule points at it. The command is taught to convert such submodules to the absorbed form as needed. * The completion script (in contrib/) learns that the "--date" option of commands from the "git log" family takes "human" and "auto" as valid values. * "Zealous diff3" style of merge conflict presentation has been added. * The "git log --format=%(describe)" placeholder has been extended to allow passing selected command-line options to the underlying "git describe" command. * "default" and "reset" have been added to our color palette. * The cryptographic signing using ssh keys can specify literal keys for keytypes whose name do not begin with the "ssh-" prefix by using the "key::" prefix mechanism (e.g. "key::ecdsa-sha2-nistp256"). * "git fetch" without the "--update-head-ok" option ought to protect a checked out branch from getting updated, to prevent the working tree that checks it out to go out of sync. The code was written before the use of "git worktree" got widespread, and only checked the branch that was checked out in the current worktree, which has been updated. * "git name-rev" has been tweaked to give output that is shorter and easier to understand. * "git apply" has been taught to ignore a message without a patch with the "--allow-empty" option. It also learned to honor the "--quiet" option given from the command line. * The "init" and "set" subcommands in "git sparse-checkout" have been unified for a better user experience and performance. * Many git commands that deal with working tree files try to remove a directory that becomes empty (i.e. "git switch" from a branch that has the directory to another branch that does not would attempt remove all files in the directory and the directory itself). This drops users into an unfamiliar situation if the command was run in a subdirectory that becomes subject to removal due to the command. The commands have been taught to keep an empty directory if it is the directory they were started in to avoid surprising users. * "git am" learns "--empty=(stop|drop|keep)" option to tweak what is done to a piece of e-mail without a patch in it. * The default merge message prepared by "git merge" records the name of the current branch; the name can be overridden with a new option to allow users to pretend a merge is made on a different branch. * The way "git p4" shows file sizes in its output has been updated to use human-readable units. * "git -c branch.autosetupmerge=inherit branch new old" makes "new" to have the same upstream as the "old" branch, instead of marking "old" itself as its upstream. Performance, Internal Implementation, Development Support etc. * The use of errno as a means to carry the nature of error in the ref API implementation has been reworked and reduced. * Teach and encourage first-time contributors to this project to state the base commit when they submit their topic. * The command line completion for "git send- email" options have been tweaked to make it easier to keep it in sync with the command itself. * Ensure that the sparseness of the in-core index matches the index.sparse configuration specified by the repository immediately after the on-disk index file is read. * Code clean-up to eventually allow information on remotes defined for an arbitrary repository to be read. * Build optimization. * Tighten code for testing pack-bitmap. * Weather balloon to break people with compilers that do not support C99. * The "reftable" backend for the refs API, without integrating into the refs subsystem, has been added. * More tests are marked as leak-free. * The test framework learns to list unsatisfied test prerequisites, and optionally error out when prerequisites that are expected to be satisfied are not. * The default setting for trace2 event nesting was too low to cause test failures, which is worked around by bumping it up in the test framework. * Drop support for TravisCI and update test workflows at GitHub. * Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME mechanism to force "git" to use 'master' as the default name for the initial branch no longer need it; the use of the mechanism from them have been removed. * Allow running our tests while disabling fsync. * Document the parameters given to the reflog entry iterator callback functions. (merge e6e94f34b2 jc/reflog-iterator- callback-doc later to maint). * The test helper for refs subsystem learned to write bogus and/or nonexistent object name to refs to simulate error situations we want to test Git in. * "diff --histogram" optimization. * Weather balloon to find compilers that do not grok variable declaration in the for() loop. * diff and blame commands have been taught to work better with sparse index. * The chainlint test script linter in the test suite has been updated. * The DEVELOPER=yes build uses -std=gnu99 now. * "git format-patch" uses a single rev_info instance and then exits. Mark the structure with UNLEAK() macro to squelch leak sanitizer. * New interface into the tmp-objdir API to help in-core use of the quarantine feature. * Broken &&-chains in the test scripts have been corrected. * The RCS keyword substitution in "git p4" used to be done assuming that the contents are UTF-8 text, which can trigger decoding errors. We now treat the contents as a bytestring for robustness and correctness. * The conditions to choose different definitions of the FLEX_ARRAY macro for vendor compilers has been simplified to make it easier to maintain. * Correctness and performance update to "diff --color-moved" feature. * "git upload-pack" (the other side of "git fetch") used a 8kB buffer but most of its payload came on 64kB "packets". The buffer size has been enlarged so that such a packet fits. * "git fetch" and "git pull" are now declared sparse-index clean. Also "git ls-files" learns the "--sparse" option to help debugging. * Similar message templates have been consolidated so that translators need to work on fewer number of messages. Fixes since v2.34 ----------------- * "git grep" looking in a blob that has non- UTF8 payload was completely broken when linked with certain versions of PCREv2 library in the latest release. * Other code cleanup, docfix, build fix, etc. * "git pull" with any strategy when the other side is behind us should succeed as it is a no-op, but doesn't. * An earlier change in 2.34.0 caused JGit application (that abused GIT_EDITOR mechanism when invoking "git config") to get stuck with a SIGTTOU signal; it has been reverted. * An earlier change that broke .gitignore matching has been reverted. * Things like "git -c branch.sort=bogus branch new HEAD", i.e. the operation modes of the "git branch" command that do not need the sort key information, no longer errors out by seeing a bogus sort key. (merge 98e7ab6d42 jc/fix-ref-sorting-parse later to maint). * The compatibility implementation for unsetenv(3) were written to mimic ancient, non-POSIX, variant seen in an old glibc; it has been changed to return an integer to match the more modern era. (merge a38989bd5b jc/unsetenv-returns-an- int later to maint). * The clean/smudge conversion code path has been prepared to better work on platforms where ulong is narrower than size_t. (merge 596b5e77c9 mc/clean-smudge-with- llp64 later to maint). * Redact the path part of packfile URI that appears in the trace output. (merge 0ba558ffb1 if/redact-packfile-uri later to maint). * CI has been taught to catch some Unicode directional formatting sequence that can be used in certain mischief. (merge 0e7696c64d js/ci-no-directional- formatting later to maint). * The "--date=format:" gained a workaround for the lack of system support for a non-local timezone to handle "%s" placeholder. (merge 9b591b9403 jk/strbuf-addftime- seconds-since-epoch later to maint). * The "merge" subcommand of "git jump" (in contrib/) silently ignored pathspec and other parameters. (merge 67ba13e5a4 jk/jump-merge-with- pathspec later to maint). * The code to decode the length of packed object size has been corrected. (merge 34de5b8eac jt/pack-header-lshift- overflow later to maint). * The advice message given by "git pull" when the user hasn't made a choice between merge and rebase still said that the merge is the default, which no longer is the case. This has been corrected. (merge 71076d0edd ah/advice-pull-has-no- preference-between-rebase-and-merge later to maint). * "git fetch", when received a bad packfile, can fail with SIGPIPE. This wasn't wrong per-se, but we now detect the situation and fail in a more predictable way. (merge 2a4aed42ec jk/fetch-pack-avoid- sigpipe-to-index-pack later to maint). * The function to cull a child process and determine the exit status had two separate code paths for normal callers and callers in a signal handler, and the latter did not yield correct value when the child has caught a signal. The handling of the exit status has been unified for these two code paths. An existing test with flakiness has also been corrected. (merge 5263e22cba jk/t7006-sigpipe-tests- fix later to maint). * When a non-existent program is given as the pager, we tried to reuse an uninitialized child_process structure and crashed, which has been fixed. (merge f917f57f40 em/missing-pager later to maint). * The single-key-input mode in "git add -p" had some code to handle keys that generate a sequence of input via ReadKey(), which did not handle end-of-file correctly, which has been fixed. (merge fc8a8126df cb/add-p-single-key-fix later to maint). * "git rebase -x" added an unnecessary 'exec' instructions before 'noop', which has been corrected. (merge cc9dcdee61 en/rebase-x-fix later to maint). * When the "git push" command is killed while the receiving end is trying to report what happened to the ref update proposals, the latter used to die, due to SIGPIPE. The code now ignores SIGPIPE to increase our chances to run the post- receive hook after it happens. (merge d34182b9e3 rj/receive-pack-avoid- sigpipe-during-status-reporting later to maint). * "git worktree add" showed "Preparing worktree" message to the standard output stream, but when it failed, the message from die() went to the standard error stream. Depending on the order the stdio streams are flushed at the program end, this resulted in confusing output. It has been corrected by sending all the chatty messages to the standard error stream. (merge b50252484f es/worktree-chatty-to- stderr later to maint). * Coding guideline document has been updated to clarify what goes to standard error in our system. (merge e258eb4800 es/doc-stdout-vs-stderr later to maint). * The sparse-index/sparse-checkout feature had a bug in its use of the matching code to determine which path is in or outside the sparse checkout patterns. (merge 8c5de0d265 ds/sparse-deep-pattern- checkout-fix later to maint). * "git rebase -x" by mistake started exporting the GIT_DIR and GIT_WORK_TREE environment variables when the command was rewritten in C, which has been corrected. (merge 434e0636db en/rebase-x-wo-git-dir- env later to maint). * When "git log" implicitly enabled the "decoration" processing without being explicitly asked with "-- decorate" option, it failed to read and honor the settings given by the "--decorate-refs" option. * "git fetch --set-upstream" did not check if there is a current branch, leading to a segfault when it is run on a detached HEAD, which has been corrected. (merge 17baeaf82d ab/fetch-set-upstream- while-detached later to maint). * Among some code paths that ask an yes/no question, only one place gave a prompt that looked different from the others, which has been updated to match what the others create. (merge 0fc8ed154c km/help-prompt-fix later to maint). * "git log --invert-grep --author=" used to exclude commits written by the given author, but now "-- invert-grep" only affects the matches made by the "--grep=" option. (merge 794c000267 rs/log-invert-grep-with- headers later to maint). * "git grep --perl-regexp" failed to match UTF-8 characters with wildcard when the pattern consists only of ASCII letters, which has been corrected. (merge 32e3e8bc55 rs/pcre2-utf later to maint). * Certain sparse-checkout patterns that are valid in non-cone mode led to segfault in cone mode, which has been corrected. * Use of certain "git rev-list" options with "git fast-export" created nonsense results (the worst two of which being "--reverse" and "--invert-grep --grep="). The use of "--first-parent" is made to behave a bit more sensible than before. (merge 726a228dfb ws/fast-export-with- revision-options later to maint). * Perf tests were run with end-user's shell, but it has been corrected to use the shell specified by $TEST_SHELL_PATH. (merge 9ccab75608 ja/perf-use-specified- shell later to maint). * Fix dependency rules to generate hook- list.h header file. (merge d3fd1a6667 ab/makefile-hook-list- dependency-fix later to maint). * "git stash" by default triggers its "push" action, but its implementation also made "git stash -h" to show short help only for "git stash push", which has been corrected. (merge ca7990cea5 ab/do-not-limit-stash- help-to-push later to maint). * "git apply --3way" bypasses the attempt to do a three-way application in more cases to address the regression caused by the recent change to use direct application as a fallback. (merge 34d607032c jz/apply-3-corner-cases later to maint). * Fix performance-releated bug in "git subtree" (in contrib/). (merge 3ce8888fb4 jl/subtree-check- parents-argument-passing-fix later to maint). * Extend the guidance to choose the base commit to build your work on, and hint/nudge contributors to read others' changes. (merge fdfae830f8 jc/doc-submitting- patches-choice-of-base later to maint). * A corner case bug in the ort merge strategy has been corrected. (merge d30126c20d en/merge-ort-renorm- with-rename-delete-conflict-fix later to maint). * "git stash apply" forgot to attempt restoring untracked files when it failed to restore changes to tracked ones. (merge 71cade5a0b en/stash-df-fix later to maint). * Calling dynamically loaded functions on Windows has been corrected. (merge 4a9b204920 ma/windows-dynload-fix later to maint). * Some lockfile code called free() in signal-death code path, which has been corrected. (merge 58d4d7f1c5 ps/lockfile-cleanup-fix later to maint). * Other code cleanup, docfix, build fix, etc. (merge 74db416c9c cw/protocol-v2-doc-fix later to maint). (merge f9b2b6684d ja/doc-cleanup later to maint). (merge 7d1b866778 jc/fix-first-object-walk later to maint). (merge 538ac74604 js/trace2-avoid- recursive-errors later to maint). (merge 152923b132 jk/t5319-midx- corruption-test-deflake later to maint). (merge 9081a421a6 ab/checkout-branch-info- leakfix later to maint). (merge 42c456ff81 rs/mergesort later to maint). (merge ad506e6780 tl/midx-docfix later to maint). (merge bf5b83fd8a hk/ci-checkwhitespace- commentfix later to maint). (merge 49f1eb3b34 jk/refs-g11-workaround later to maint). (merge 7d3fc7df70 jt/midx-doc-fix later to maint). (merge 7b089120d9 hn/create-reflog- simplify later to maint). (merge 9e12400da8 cb/mingw-gmtime-r later to maint). (merge 0bf0de6cc7 tb/pack-revindex-on- disk-cleanup later to maint). (merge 2c68f577fc ew/cbtree-remove-unused- and-broken-cb-unlink later to maint). (merge eafd6e7e55 ab/die-with-bug later to maint). (merge 91028f7659 jc/grep-patterntype- default-doc later to maint). (merge 47ca93d071 ds/repack-fixlets later to maint). (merge e6a9bc0c60 rs/t4202-invert-grep- test-fix later to maint). (merge deb5407a42 gh/gpg-doc-markup-fix later to maint). (merge 999bba3e0b rs/daemon-plug-leak later to maint). (merge 786eb1ba39 js/l10n-mention- ngettext-early-in-readme later to maint). (merge 2f12b31b74 ab/makefile-msgfmt-wo- stats later to maint). (merge 0517f591ca fs/gpg-unknown-key-test- fix later to maint). (merge 97d6fb5a1f ma/header-dup-cleanup later to maint). # ⚓ Git_2.35_Released_With_“git_stash_–staged”_mode, Other_Developer_Additions_–_Phoronix⠀⇛ Git 2.35 is out today as the newest update to this widely-used, open-source distributed version control system. There is a wide assortment of changes in Git 2.35, including items such as: - The git stash sub-command now has a “–staged” mode to make it easier to stash changes into a staging area and nothing else. # § Shell/Bash/Zsh/Ksh⠀➾ # ⚓ Intro_–_Modern_Bash_(Zsh)_Scripting⠀⇛ Writing shell scripts used to be a major, major pain for me. I remember many frustrating sessions, where I tried to find a misplaced quote or a missing backtick. I cursed shell script and only used it as a last resort. In those days, I would never, ever have thought, that I would write 100K lines of shell script code for a project and not even mind very much doing so. The main reason for this change of mind is ShellCheck. Combined with a colorizing syntax highlighter in an editor like Sublime Text ShellCheck makes the previously tedious search for that elusive missing backtick or doublequote super easy, barely an inconvenience: [...] * § Leftovers⠀➾ o ⚓ Rainwater_Storing_Gojo_Is_A_Stroke_Of_Genius⠀⇛ The traditional Ethiopian Gojo is a circular domed dwelling constructed from a central vertical beam, and a surrounding structure of curved beams made from wood or bamboo. A covering of dried grass and mud completes the outer structure. These buildings are found everywhere in rural areas, due to their ease of construction, and availability of cheap materials. One major problem living in rural areas in developing countries is access to water. Ethiopian inventor [Anteneh Gashaw] knows a thing or two about the practicalities of living in a developing nation, and has come up with an ingenious take on the traditional Gojo. The idea is to replace the outer structure with pipes capable of storing rainwater. A collector plate on the top of the roof directs rain water into the pipes — with some small balancing tubes connecting them at the bottom — distributing the stored water evenly. A tap at the bottom of structure allows the pipes to be emptied on demand. Another interesting point about this design, is that the water adds some extra weight, for free, which gives the structure much improved stability in high winds, increasing safety. o § Education⠀➾ # ⚓ I’m_a_High-Risk_Disabled_Professor._Am_I_Teaching_In Person?⠀⇛ o § Hardware⠀➾ # ⚓ Heart-Shaped_Heartwarming_Valentine’s_Day_Pendant_| Hackaday⠀⇛ This is no ordinary heart-shaped PCB pendant project! To us, it’s also symbol representing the striking amount of love that [SaltyPaws] has put into its design and documentation. He tells us that he designed it for the two daughters he is raising, as an electronics and general STEAM introduction – with outstanding educational and aesthetic qualities, giving insights into a wide range of topics while looking . The PCB is mostly through- hole, making for easy soldering and quick return on the effort investment. The project is thought-out beyond the PCB, however – this pendant is designed to be wearable day-to-day, which is why it’s accompanied by a 3D-printed frame, protecting its wearer from sharp PCB edges and through-hole lead ends! # ⚓ One-piece_Geared_Hinge_Can_Take_the_Weight⠀⇛ 3D printers have come a long way from cranking out things like bottle openers and coat pegs, and [E. Soderberg]’s Print in Place Geared Hinge is a pretty nifty demonstration of that. This hinge is designed as a print-in-place part, meaning it is 3D printed as a single piece, requiring no assembly. Not only that, but the herringbone gears constrain the sturdy device in a way that helps it support heavy loads. o § Health/Nutrition/Agriculture⠀➾ # ⚓ My_Disabled_Life_is_Worthy⠀⇛ This is true, and it needs to factor into our public health response. Instead, it’s often used to suggest that the loss of these lives is somehow less serious — and more acceptable. “The overwhelming number of deaths” among vaccinated people, CDC director Dr. Rochelle Walensky told Good Morning America about a recent study, “occurred in people who had at least four comorbidities, so really these are people who were unwell to begin with.” # ⚓ Virginia_Schools_Sue_Youngkin_Mandate_Making_Masks Optional⠀⇛ School districts serving more than 350,000 students in Virginia filed a lawsuit against Republican Gov. Glenn Youngkin on Monday, the day his executive order making face coverings optional in schools—against the guidance of public health experts—took effect. Seven districts filed the lawsuit in the Circuit Court for the County of Arlington, arguing that the governor cannot “unilaterally override” the authority given to local school boards by Article 8, Section 7 of the state constitution and accusing Youngkin of endangering students and school staffers by revoking an earlier mask mandate for public schools. # ⚓ How_the_Pandemic’s_Unequal_Toll_on_People_of_Color Underlines_US_Health_Inequities⠀⇛ Even though non-Hispanic white people make up 60% of the population, racial and ethnic minorities in the United States have borne significantly higher risks of COVID-19 infections than white people, as well as hospitalizations and deaths from COVID-19. So a conversation is raging among doctors, health researchers, public health officials, policymakers and activists about how to address the social determinants of health that are driving this unequal toll on communities of color. # ⚓ WHO_Chief:_‘Dangerous’_to_Assume_Omicron_Is_Last_Variant⠀⇛ The director-general of the World Health Organization on Monday cautioned the international community against accepting the increasingly common view that peaking Omicron cases signals the approaching end of the global Covid-19 pandemic, which is still killing more than 8,000 people a day. “Eighty-six percent of the population of Africa is yet to receive a single dose of vaccine.” # ⚓ “If_These_Demands_Are_Not_Met,_We_Will_Be_Striking_by_Not Attending_School”⠀⇛ At the end of the first week of January, as Covid- 19 surged through the country’s newly reopened schools, a group of students at the Oakland Unified School District (OUSD) came together to demand “a safe learning environment.” In a public letter, the students made it clear that they are “not comfortable going to school with the rising cases” and demanded that the district provide them with basic Covid protections—including KN95/N95 masks for every student, twice-weekly PCR and rapid tests, and more outdoor spaces so kids could eat safely—or let them return to online learning. “If these demands are not met, we will be striking by not attending school,” the letter reads. “We will be striking until we get what we need to be safe.”1 # ⚓ The_Making_of_a_Coronavirus-Criminal_Presidency⠀⇛ The United States is the product of an accountability movement that was never fully realized. Thomas Paine called the country into being with Common Sense, a pamphlet that invited the beleaguered residents of 13 British colonies on the eastern shore of North America to indulge their fury at the imperial abuses of King George III. He ridiculed the “men of passive tempers” who “look somewhat lightly over the offences of Great Britain, and, still hoping for the best, are apt to call out, ‘Come, come, we shall be friends again for all this.’” Rejecting the prospect of reconciliation with “the power that hath carried fire and sword into your land,” Paine encouraged Americans to ask themselves pointed questions: Adapted from John Nichols’s new book, Coronavirus Criminals and Pandemic Profiteers: Accountability for Those Who Caused the Crisis (Verso).Are your wife and children destitute of a bed to lie on, or bread to live on? Have you lost a parent or a child by their hands, and yourself the ruined and wretched survivor? If you have not, then are you not a judge of those who have. But if you have, and can still shake hands with the murderers, then are you unworthy the name of husband, father, friend or lover, and whatever may be your rank or title in life, you have the heart of a coward, and the spirit of a sycophant. This was about more than refusing to shake hands with the murderers, however. It was, Paine recognized, about forging a new mentality that would see beyond the lie of reconciliation with those who abused positions of authority to the detriment of the people. # ⚓ Advocacy_Group_Urges_Pfizer_to_Combat_Paxlovid_Inequality⠀⇛ Public health experts on Monday urged Pfizer to prioritize the equitable distribution of its highly effective Covid-19 treatment and warned the pharmaceutical giant that if it refuses to provide a timely and adequate supply of its lifesaving antiviral pill to low-income nations, it will replicate the injustice of global vaccine apartheid. “No African country has yet to purchase the treatment at all.” # ⚓ Earthquakes._Drought._Geysers._Permian_Oilfield_Water_Woes Pile_up_in_West_Texas⠀⇛ At 8:00 a.m. Eastern on January 21, a magnitude 3.4 earthquake shook Culberson County in West Texas midway between Odessa and El Paso, the U.S. Geological Society reported. That’s the kind of earthquake that’s generally strong enough to be felt, but not rattling enough to cause damage. Texas is not known for its seismic activity – or it wasn’t historically. Nearly 4,000 quakes, the majority relatively minor, have swarmed the oil- rich state over the past year. The most powerful among them was a 4.5 magnitude quake that rattled Midland in late December, tying for the second- strongest in a decade. # ⚓ The_people_deciding_to_ditch_their_smartphones⠀⇛ The 36-year-old decided at the end of last year that getting rid of her handset would improve her mental health. So, over Christmas she told her family and friends that she was switching to an old Nokia phone that could only make and receive calls and text messages. She recalls that one of the pivotal moments that led to her decision was a day at the park with her two boys, aged six and three: “I was on my mobile at a playground with the kids and I looked up and every single parent – there was up to 20 – were looking at their phones, just scrolling away,” she says. o § Integrity/Availability⠀➾ # § Proprietary⠀➾ # ⚓ Apple_fails_to_satisfy_requirements_set_by_ACM⠀⇛ Apple has failed to satisfy the requirements set by the Netherlands Authority for Consumers and Markets (ACM) regarding payment systems for dating-app providers. ACM has come to this conclusion following an investigation into Apple’s statements of January 15, 2022. This means that Apple now has to pay ACM the first penalty payment of 5 million euros. Apple must adjust its conditions for access to the Dutch App Store for dating-app providers. In the App Store, dating-app providers must also be able to use payment systems other than Apple’s payment system. In addition, dating-app providers must have the ability to refer to payment systems outside of the app. This had been laid down in an order subject to periodic penalty payments that ACM imposed on Apple in August 2021. On December 24, 2021, the court ruled that this part of the order could be published. # § Security⠀➾ # ⚓ Linux_Servers_at_Risk_of_RCE_Due_to_Critical CWP_Bugs [Ed: It’s not a Linux issue but a program that can run on top of it; FUD pattern?]⠀⇛ # ⚓ CWP_bugs_allow_code_execution_as_root_on_Linux servers,_patch_now [Ed: Microsoft boosters make a bug in CentOS Web Panel sound like it's an issue with Linux]⠀⇛ Two security vulnerabilities that impact the Control Web Panel (CWP) software can be chained by unauthenticated attackers to gain remote code execution (RCE) as root on vulnerable Linux servers. CWP, previously known as CentOS Web Panel, is a free Linux control panel for managing dedicated web hosting servers and virtual private servers. # ⚓ CISA_Publishes_Infographic_on_Layering_Network Security_Through_Segmentation⠀⇛ CISA has published an infographic to emphasize the importance of implementing network segmentation—a physical or virtual architectural approach that divides a network into multiple segments, each acting as its own subnetwork, to provide additional security and control that can help prevent or minimize the impact of a cyberattack. # ⚓ LHS_Episode_#449:_Insecurities_Everywhere⠀⇛ Hello and welcome to the 449th installment of Linux in the Ham Shack. In this short-topics episode, the hosts discuss results from the 2021 QSO parties, the FCC tech advisory council, the proliferation of Linux malware, SDR++, programming in Python and much more. Thank you for listening and have a fantastic week. # § Privacy/Surveillance⠀➾ # ⚓ Biometric_Tech_Company_ID.Me_Continues_To Swallow_Gov’t_Agencies,_Cause_Problems_For People_Trying_To_Access_Their_Gov’t Benefits⠀⇛ A private company, that leveraged a bold (unproven) claim about $400 billion in pandemic unemployment fraud into government contracts allowing it to (mistakenly) lock people out of their unemployment benefits, is hoping to use both of these dubious achievements to secure even more government contracts. # ⚓ UK_Gov’t:_Encryption_Endangers_Kids._Also UK_Gov’t:_No,_Encryption_*Protects*_Kids⠀⇛ What’s the greatest threat to children since the invention of contraceptives? Why, encryption, of course. Just ask (almost) anyone. FBI directors have pointed to device and end-to-end encryption as an aider and abettor in child sexual abuse. Government leaders from around the world have claimed the addition of end-to-end encryption to Facebook’s messaging service will result in millions of abused kids. Others who find the chanting of “national security concerns” just isn’t getting the job done have often chosen to lean on abused children to make their points (badly) about the “dangers” encryption poses. # ⚓ Bombshell_Decision_That_Use_of_Google Analytics_in_Austria_Violates_Top_EU Court’s_Ruling_Boosts_GDPR_Impact_Again⠀⇛ Given the continuing importance of transatlantic data transfers, it’s not surprising that the European Data Protection Board (EDPB), which coordinates the application of the GDPR across the EU, has tried to clarify the current situation with a series of recommendations for companies. It’s striking that the best it can come up with is “you must verify on a case-by-case basis whether (or not) the law or practice of the third country of destination undermines the safeguards” of the GDPR, and whether “supplementary measures may fill the gap”. If you can’t do that, well, “you must not start transferring personal data to the third country concerned on the basis of your chosen transfer tool”. If that advice all seems a bit vague, the Austrian Data Protection Authority has kindly provided a practical demonstration of just how far- reaching it is in reality. # ⚓ State_AGs_Allege_Google_Deceived_Users_to Profit_From_Location_Data⠀⇛ Attorneys general from Washington, D.C. and three states plan to sue Google on Monday, accusing the tech giant of deceiving consumers about the security of their location data in order to boost its digital advertising profits. “Google uses tricks to continuously seek to track a user’s location,” said D.C. Attorney General Karl Racine (D). “This suit, by four attorneys general, on a bipartisan basis, is an overdue enforcement action against a flagrant violator of privacy and the laws of our states.” # ⚓ UK_Online_Safety_Bill_Set_to_Weaken Encryption_and_Put_UK_Internet_Users_At Risk⠀⇛ The Internet Society joins the UK England Chapter in calling for a redraft of the UK’s Online Safety Bill so that it protects strong encryption and recognises its vital role in protecting users online. Despite claims it seeks to protect users online, the recent draft of the Bill threatens to drive strong encryption from the market and place UK Internet users at greater risk than ever before. The draft Online Safety Bill will force service providers to weaken or remove encryption to meet new content identification and removal requirements. A newly published Internet impact brief co-authored by the Internet Society and UK England Chapter identifies how, by weakening encryption, the Bill will undermine critical elements that make the Internet an open, globally connected, secure and trustworthy resource for everyone. o § Defence/Aggression⠀➾ # ⚓ Gitmo’s_Shameful_20th_Anniversary⠀⇛ President Biden has so far failed to take consequential action during his first year in office to fulfill his pledge of closing the prison before his term ends. His administration has in fact done the opposite and is now reportedly spending millions of dollars to upgrade it. Without taking bold action, Biden risks following in President Obama’s footsteps of empty promises that ultimately perpetuate an untenable status quo. Meanwhile, the remaining 39 prisoners and our nation’s rule of law still languish. # ⚓ Trump_Calls_Jan._6_Committee’s_Request_to_Speak_With_Ivanka “Very_Unfair”⠀⇛ # ⚓ Biden_Is_Considering_Deploying_Thousands_of_Troops_to Eastern_Europe⠀⇛ # ⚓ Who_is_Yevhen_Murayev?_The_UK_claims_that_Russia_wants_to impose_this_ex-MP_as_a_puppet_leader_in_Ukraine._He_says that’s_nonsense.⠀⇛ “The Russian Government is looking to install a pro-Russian leader in Kyiv as it considers whether to invade and occupy Ukraine,” the UK Foreign Office said in a statement released on Saturday, January 22. The British authorities pointed to former Ukrainian lawmaker Yevhen Murayev as a “potential candidate,” while also claiming to “have information that the Russian intelligence services maintain links with numerous former Ukrainian politicians.” Commenting on this information, UK Foreign Secretary Liz Truss and Deputy Prime Minister Dominic Raab warned that there would be serious consequences should Russia try and invade Ukraine and install a puppet government. However, U.S. Secretary of State Antony Blinken declined to comment on the British intelligence report. In turn, Yevhen Murayev himself vehemently dismissed the allegations as “nonsense and stupidity.” Meduza examines what is known about Murayev and the other former Ukrainian politicians the UK Foreign Office named. # ⚓ The_latest_vis-à-vis_Ukraine_Western_countries_withdraw families_from_Kyiv_embassies_and_the_Kremlin_blames_NATO_for escalating_tensions⠀⇛ The United States, UK, and Australia have started to withdraw the family members of embassy staff in Ukraine, as tensions between Russia and NATO countries continue to rise. On Monday, January 24, NATO confirmed that member countries had sent additional ships and jets to enhance deployments in Eastern Europe. In turn, the Kremlin’s spokesman accused the alliance of provoking “an escalation of tensions.” Meanwhile, the ruble’s exchange rate against the U.S. dollar dropped significantly, prompting Russia’s Central Bank to halt foreign currency purchases. # ⚓ NATO_as_Religion⠀⇛ The 2021/22 crisis is a logical continuation of the expansionist policies that NATO has pursued since the demise of the Soviet Union, as numerous Professors of international law and international relations have long indicated — including Richard Falk, John Mearsheimer, Stephen Kinzer and Francis Boyle.  NATO’s approach implements the US claim to have a “mission” to export its socio-economic model to other countries, notwithstanding the preferences of sovereign states and the self-determination of peoples. Although the US and NATO narratives have been proven to be inaccurate and sometimes deliberately mendacious on numerous occasions, the fact is that a majority of citizens in the Western World uncritically believe what they are told.  The “quality press” including the New York Times, Washington Post, The Times, Le Monde, El Pais, the NZZ and FAZ are all effective echo chambers of the Washington consensus and enthusiastically support the public relations and geopolitical propaganda offensive.  I think that it can be said without fear of contradiction that the only war that NATO has ever won is the information war.  A compliant and complicit corporate media has been successful in persuading millions of Americans and Europeans that the toxic narratives of the Ministries of Foreign Affairs are really true. We believe in the myth of the “Arab Spring” and “EuroMaidan”, but we never hear about the right of self-determination of peoples, including the Russians of Donetsk and Lugansk, and what could easily be called the “Crimean Spring”. # ⚓ Goodness_Gracious,_David_Ignatius:_Why_Do_You_Want_More War?⠀⇛ Ignatius engages the commandant of the Marine Corps, General David Berger, and files a column seconding Berger’s claim of success in creating a “force of the future, not the past.”  Berger contends that his Marines have the systems and capabilities to “combat a modern, high-tech rival such as China.”  Then Ignatius spends time with some of Berger’s senior commanders and echoes their claims for newer systems that are “small, elusive, and sometimes unmanned” and harder-to-find.  Ignatius ignores the high technology of the Chinese military and seems to believe that the island- hopping strategy against Japan in World War II can be successfully deployed against China in East Asia.  The fact that the Marines haven’t conducted an amphibious operation since the Korean War more than 70 years ago begs the question of whether we even need a Marine Corps. The Post makes sure that Iganatius’ views are bolstered by guest writers.  On January 21, it featured an oped by Michael Vickers, a former CIA operations officer and assistant secretary of defense for special operations, that called for “moving U.S. combat aircraft and ships forward to Europe” to add to Putin’s uncertainty and to “change his strategic calculus.”  Does Vickers actually want to risk an air war on Russia’s borders that could lead to a European conflagration?  Vickers also wants to support the resistance to Belarusian leader Alexander Lukashenko and to engage in covert action to “undermine Putin’s rule in Russia.”  Ukraine and Belarus represent vital interests to Russia, and Putin isn’t bluffing.  Vickers, meanwhile, is prepared to risk a major war in Europe that would have untold strategic consequences. # ⚓ Biden_Considering_Deploying_Thousands_of_Troops_to_Eastern Europe⠀⇛ U.S. President Joe Biden is reportedly weighing a Pentagon proposal to deploy thousands of American troops to the Baltics and Eastern Europe as progressive anti-war analysts and activists warn such a move would further inflame tensions in the region—and risk a full-blown war with Russia. “Ukraine demands a diplomatic and political resolution.” # ⚓ US_Puts_Troops_on_Standby_as_War_Tensions_Over_Ukraine Mount⠀⇛ Despite warnings that U.S. actions not focused on diplomacy with Russia risked setting the stage for an “exceedingly dangerous quagmire,” the Pentagon announced Monday that roughly 8,500 U.S. troops have been put on “heightened preparedness to deploy” to Eastern Europe amid rising tensions with Russia over Ukraine. Speaking at a news briefing, Pentagon press secretary John Kirby said the “steps to heighten the readiness of… forces at home and abroad” were aligned with U.S. commitments to NATO. # ⚓ Leaked_Report_Suggests_Impunity_for_IDF_Soldiers_in_Killing of_Elderly_Man⠀⇛ # ⚓ SOPA_To_The_Future:_Reclaiming_Collective_Internet_Power⠀⇛ # ⚓ Roles_of_F.B.I._and_Informants_Muddle_the_Michigan_Governor Kidnapping_Case⠀⇛ Before five men stand trial in March, prosecutors and defense lawyers are examining more than 1,000 hours of secretly recorded conversations. # ⚓ Taliban_2.0_aren’t_so_different_from_the_first_regime, after_all⠀⇛ The Taliban have undertaken a systematic media crackdown to achieve their contradictory goals of presenting a softer face to the international community while violating Afghans’ rights. The group is forcing media to follow two of the Taliban’s dogmatic and moral regulatory bodies’ guidelines. The Taliban also announced the “11 journalism rules,” which include forbidding journalists from publishing or broadcasting stories that are “contrary to Islam” or “insult national figures.” About 40% of the country’s media sources have shut down, 6,400 journalists lost their jobs, including 84% of female journalists. Violence against media and journalists has again become widespread. Many other journalists have left the country. # ⚓ What’s_China_up_to_in_Central_America?⠀⇛ Few regions in the world wobble the tension of the tightrope governments walk between raw interests and principle in foreign and strategic policy more than Central America. And few have mattered less to Canberra over the decades, generally for sound, realist reasons going to Australia’s negligible commercial and strategic interests there. Nonetheless, it warrants a momentary excursion into the region’s exotic, intriguing if often tragic environs because it matters so much to the United States, and because of China’s changing relationship with it. This is especially evident in the spate of defections from Taipei—which until recently had enjoyed the recognition of virtually all the region’s nations—to Beijing, reshaping Central America’s economics and international policy settings. o § Environment⠀➾ # ⚓ One_Year_In,_Biden_Fails_to_Boost_C-_Grade_on_Environment⠀⇛ After campaigning on a historic climate and environmental agenda that went well beyond vowing to undo the Trump administration’s damage, President Joe Biden had a disappointing first year in office, the Center for Biological Diversity Action Fund concluded Monday. “Biden’s environmental agenda is at a precipice.” # ⚓ Tonga_Remains_Covered_in_Ash_Following_Volcanic_Eruption⠀⇛ # ⚓ “The_Whole_Country_Is_Covered_with_Ash”:_Tongan_Journalist Describes_Devastation_from_Volcano⠀⇛ We go to Nuku’alofa, capital of Tonga, to speak with Tongan journalist Marian Kupu on the humanitarian relief efforts underway after an undersea volcano erupted on January 14, blanketing the South Pacific island nation with ash and triggering a tsunami. Kupu was able to flee the worst effects of the initial eruption by driving to higher ground but now reports lingering aftereffects such as water tanks polluted by ash. Although the islands have prepared for hurricanes, climate change has exacerbated a newly volatile environment. “We have never been prepared for volcanic eruptions,” says Kupu. “This is something really new for us.” # ⚓ Dangerous_Heat_Across_the_Globe⠀⇛ According to the National Oceanic and Atmospheric Administration (NOAA) July 2021 was the hottest month in recorded history for the world. The European Union (EU) satellite system also confirmed that the past seven years have been the hottest on record. Too much heat brings unanticipated problems of unexpected scale, putting decades of legacy infrastructure at risk of malfunctioning and/or total collapse. Nobody expected so much trouble to start so soon. Nobody anticipated such massive record-breaking back-to-back heat, north and south, to hit so soon on the heels of only 1.2C above estimated baseline for global warming. # § Energy⠀➾ # ⚓ Nuclear_Waste_Risks_Can_be_“Minimized”_and_Other Myths⠀⇛ This observation comes within an AP story headlined: “Majority of US states pursue nuclear power for emission cuts”, and which has garnered significant pickup in numerous media outlets. (However, we never do learn the secret to precisely how nuclear waste risks can be “minimized”.) The agency surveyed “the energy policies in all 50 states and the District of Columbia,” finding that “about two-thirds” plan to use nuclear power to replace fossil fuels. # ⚓ 260+_Companies_Demand_‘Big,_Bold_Action’_on_Clean Energy⠀⇛ As Democrats sketch out a path forward for at least parts of President Joe Biden’s flagship Build Back Better Act, a group of over 260 companies on Monday called on Congress to urgently finalize negotiations on the legislation and seize “a once-in-a-generation opportunity” to deliver the “big, bold action to deliver the clean energy future Americans want and deserve.” “The time to act is now,” the energy firms wrote in a letter addressed to Senate Majority Leader Chuck Schumer (D-N.Y.) and House Speaker Nancy Pelosi (D-Calif.) # ⚓ Three_Electric-Jaguar_Years⠀⇛ Range · So, here’s the thing: Range doesn’t matter. No, really, it doesn’t. What that linked piece explains, in 1,300 or so words, is that range only matters for long-hauling, that most modern EVs have plenty, and that charging speed matters way more. So… # § Wildlife/Nature⠀➾ # ⚓ The_Silent_E:_The_Extinction_of_Experience_and Empathy⠀⇛ # ⚓ How_Logging_Contributes_to_Climate_Change⠀⇛ The problem with such ebullient pronouncements is that they fail to provide a full accounting of the carbon losses and emissions. A number of studies that reviewed carbon emissions conclude that logging and wood processing emits far more carbon than a fire. # ⚓ PG&E’s_War_Against_Trees⠀⇛ Government leaders in San Jose and San Francisco have called for PG&E to be taken out of investor control, and to be run by the  government or  its customers. PG&E  often refuses to respond, an increasingly frequent reaction to government authorities  among the nation’s giant corporations and monied interests. It claims it needs no permits since vegetation management is mandated by state law. # § Overpopulation⠀➾ # ⚓ Middle_East:_Running_out_of_water⠀⇛ According to the paper, the projected average temperature increase for these countries in the Middle East and North Africa will be 2.0 to 2.7 degrees C between 2040 and 2059. In specific areas, it may even become up to 3.3 degrees hotter. Moreso, since four-fifths of the region is desert or desert-like areas, the Mideast is already suffering from considerable drought, and additional environmental problems will exacerbate the situation further. # ⚓ Golden_State_tarnished:_Ex-pats_reveal_‘why_we_left California_for_good’⠀⇛ Kelly: “We moved to El Segundo when it was the perfect fit for us — it was known in the area as ‘Mayberry.’ But with the popularity of the Silicon Beach area just north of us, crowds and high-density housing in the surrounding areas made the freeways impossible.” o § Finance⠀➾ # ⚓ Are_Used_Car_Prices_Bankrupting_Workers?⠀⇛ # ⚓ Why_Student_Body_Leaders_are_Calling_on_Biden_to_Cancel Student_Debt⠀⇛ # ⚓ Henry_Cuellar’s_Corporate_Ties⠀⇛ It’s no secret that Representative Henry Cuellar, the conservative Texas Democrat whose home and campaign office were raided as part of an FBI investigation this week, has deep corporate ties. Cuellar, a nine-term incumbent, is known as “Big Oil’s favorite Democrat.” He’s a top congressional recipient of oil and gas money, as well as private prison industry cash, and has been caught providing favors to lobbyists. Business interests, from Koch- linked groups to the immensely powerful US Chamber of Commerce, prop up Cuellar. And he returns the generosity, using his power in Congress to cater to their preferences and safeguard capital. # ⚓ Opinion_|_Larry_Summers_Is_Wrong:_Corporate_Consolidation Fuels_Inflation⠀⇛ In the face of rising inflation, the Biden administration has moved to use antitrust powers to combat corporate price hikes. This has led to pushback from prominent macroeconomists, including the disgruntled tweeting of former Treasury Secretary Larry Summers. # ⚓ ‘A_No-Brainer’:_Lawmakers_Urge_Pelosi_to_Hold_Vote_on_Stock Trading_Ban⠀⇛ A bipartisan group of U.S. lawmakers on Monday urged the top Democrat and Republican in the House of Representatives to “swiftly bring legislation to prohibit members of Congress from owning or trading stock” to the floor. “This common-sense, bipartisan legislation is unfortunately necessary in light of recent misconduct.” o § AstroTurf/Lobbying/Politics⠀➾ # ⚓ Opinion_|_Biden_Missed_Big_Opportunities_in_His_Very_Long Press_Conference⠀⇛ President Joe Biden last week broke the record for the longest presidential press conference ever – going nearly two hours fielding question after question. He stood that long to prove his stamina and dispel bigoted charges of ageism. # ⚓ Opinion_|_Is_All_This_“Polarization”_a_Cause_or_a Symptom?⠀⇛ “We are a polarized nation!”  Seems self-evident, right?  # ⚓ American_Roulette⠀⇛ # ⚓ Lost_Opportunities_in_Joe_Biden_News_Conference⠀⇛ How did he do by his own standards? First, his opening remarks naturally touted the bright spots in the economy and the administration’s efforts to control Covid-19 during his first year in office. However, he missed an important opportunity to connect with the public and focus the tunnel-vision media on the serious legislation he wants to advance. For example, early on Biden proposed reversing some of the tax cuts for giant corporations and the super-wealthy that Trump rammed through Congress in 2017. Biden did not say why it is urgent for Congress to act on this matter or explain that these taxes are necessary not just for fairness, but to pay for the major proposals he has on Capitol Hill. Therefore, the media will not pay attention and assume he has given up. # ⚓ Biden’s_Pledges_to_Palestinians—a_Year_of_Disappointment⠀⇛ As we mark the end of the first year of the Biden presidency, pundits and interest groups of all sorts will be evaluating how successful he has been in advancing the agenda he set for his administration. Because I was involved in negotiations with the Biden team over the language that would shape its platform on Middle East–related issues, I want to focus on some of the commitments the Biden campaign made both in its platform and directly to Arab Americans—specifically those related to addressing the Israel/Palestine conflict. # ⚓ A_Fascist_World_is_Breathing⠀⇛ I mean it. Have you checked where you stand on the idea that the United States is inherently different from other nations, and that the ghastly things that happen elsewhere, like fascism, or authoritarian rule, can’t happen here? I thought about this recently when I had the pleasure of interviewing Arundhati Roy, the renowned Indian novelist, essayist and activist. This spring, the good people at Haymarket Books are publishing a second edition of Roy’s latest collection of essays. It’s called Azadi, Fascism, Fiction and Freedom in the Time of the Virus, and in it she brings readers up to date on, among other things, the state of democracy in India. # ⚓ 25_House_Democrats_Urge_Pelosi_to_Bring_Congressional_Stock Trading_Ban_to_Vote⠀⇛ # ⚓ Sanders_Says_Arizona_Democrats’_Decision_to_Censure_Sinema Was_“Exactly_Right”⠀⇛ # ⚓ Voter_turnout_in_county_elections_a_bleak_sign_for democracy,_views_researcher⠀⇛ “It’s bleak for democracy that the majority of people opted not to vote,” Sami Borg, an election researcher at Tampere University, remarked to YLE on Sunday. “This was hardly a surprise,” he added. “The most popular guess before the elections was that the turnout would land somewhere between the European and municipal elections. The European elections here have had a turnout of 40–42 per cent.” He also drew attention to the fact that voter turnout exceeded 50 per cent in only three of the 21 counties. The turnout rose the highest, to 53.8 per cent, in Ostrobothnia but fell short of even the 40-per-cent mark (39.2%) in the well-being services county of Vantaa and Kerava. # ⚓ Iran’s_UN_Rights_Restored_After_Paying_Off_Membership Arrears⠀⇛ South Korea confirmed that it has paid Tehran’s membership delayed dues, amounting to US$18 million, to the UN from Iranian funds frozen in the country. o § Misinformation/Disinformation⠀➾ # ⚓ No_License_for_Disinformation:_Why_are_doctors_so threatened?⠀⇛ I’ve long lamented how physicians can practice quackery and promote pseudoscience and spread medical conspiracy theories while state medical boards only rarely do anything concrete to stop them. Indeed, so uncommon is it for a state medical board to suspend or revoke the license of even the worst quacks that, when a quack does suffer sanctions from his state medical board, we tend to write about it here. Examples include when Florida revoked the license of a “Lyme literate” doctor and New York sanctioned other promoters of the fake diagnosis that is “chronic Lyme disease“. Surprisingly to me, even pediatricians and other doctors who are leaders of the antivaccine movement have largely escaped discipline from their state medical boards, to the point that it is noteworthy when they are actually disciplined, with the example of Dr. Bob Sears and Dr. Paul Thomas coming to mind. # ⚓ [Old] Pseudo_local_news_sites_in_Michigan_reveal_nationally expanding_network⠀⇛ First reported Oct. 20 by the Lansing State Journal, nearly 40 websites have appeared this fall, masquerading as local Michigan news outlets and maintaining a conservative-leaning tone. The different websites are nearly indistinguishable, sharing identical stories and using regional titles such as the Ann Arbor Times, Grand Rapids Reporter and Lansing Sun. The only articles with named authors contain politically skewed content. The rest of the articles on the sites are primarily composed of press releases from local organizations and articles written by the Local Labs News Service. # ⚓ Opinion_|_How_the_US_and_NATO_Could_Settle_Dispute_Over Ukraine_Without_War⠀⇛ We have been bombarded by news reports and announcements from President Joe Biden and Secretary of State Antony Blinken that a Russian invasion of Ukraine is imminent. On January 18, as he prepared to leave for Kyiv, Berlin and Geneva, Secretary of State Blinken, said “We’re now at a stage where Russia could at any point launch an attack in Ukraine.” A day later President Biden announced that he expected Russian President Vladimir Putin to order an invasion. And both backed their fear inducing warnings with the less than fully accurate claim of NATO unity and the threat that a Russian invasion of Ukraine will be met with “severe, and united response.” # ⚓ Opinion_|_One_Very_Long_War_From_Vietnam_to_Afghanistan⠀⇛ In the long and storied history of the United States Army, many young officers have served in many war zones. Few, I suspect, were as sublimely ignorant as I was in the summer of 1970 upon my arrival at Cam Ranh Bay in the Republic of Vietnam. # ⚓ Disarming_Putin’s_history_weapon⠀⇛ Putin’s central message is the idea that Ukraine has always been part of Russia and must remain so. He routinely refers to Russians and Ukrainians as “one people” and frequently blames outside influences for manufacturing what he regards as an artificial divide between the two modern nations. In reality, while today’s Russia and Ukraine do indeed share long periods of common history, they have spent considerably more time apart than together. Ukraine’s experience of Russian rule is also much darker than Putin cares to admit and makes a mockery of his attempts to sanitize the imperial past. Far from being fraternal nations, many Ukrainians see their historical relationship with Russia as being more akin to that of an abused spouse in a forced marriage. o § Censorship/Free Speech⠀➾ # ⚓ Internet_disrupted_in_Burkina_Faso_amid_military_uprising⠀⇛ Network data from NetBlocks and third-party traffic data confirm significant disruptions to internet service in Burkina Faso on the morning of Sunday 23 January 2022. The incident comes amid reports of an uprising and gunfire at military camps on Sunday morning, and is ongoing as of Monday afternoon. Authorities initially denied a military coup attempt, however later on Monday state TV announced the resignation of President Roch Kabore and the suspension of the country’s constitution by the army. # ⚓ Measuring_HTTP/3_censorship_with_OONI_Probe⠀⇛ Last year, QUIC emerged as a new internet protocol for creating reliable connections and encrypting communications between clients over the new HTTP/ 3 protocol. Observing the emergence and growing deployment of HTTP/3, we want to enable OONI Probe to measure HTTP/3 censorship and monitor how censors respond and adapt to technical innovation. We therefore added HTTP/3 support (in early 2021) into OONI Probe (through our urlgetter research tool) to conduct measurements in China, Iran, India and Kazakhstan to investigate the state of HTTP/ 3 censorship in these countries. We discovered that the deployment of HTTP/ 3 censorship varies significantly between the observed countries and networks. While some censors do not filter HTTP/3 traffic at all and some collaterally block HTTP/3 hosts, we uncovered HTTP/ 3-targeting censorship in Iran. We collaborated with Kathrin Elmenhorst, who has described and analysed the measurements thoroughly in her Bachelor thesis. We have summarized the results in a short research paper and submitted it to AMC Internet Measurement Conference. Our paper was published and presented by Kathrin at the conference. # ⚓ 217_artists_stand_in_solidarity_with_Sezen_Aksu⠀⇛ Artist Sezen Aksu’s song “Living is a Wonderful Thing” was brought up 5 years after being written and used by Turkish President Recep Tayyip Erdogan to threaten the singer. The president said: “We’ll cut your tongue off”. Sezen Aksu responded to the threats from the government and its supporters with the poem “Hunter”. This poem was translated into dozens of languages ​​in a short time. 217 people, including Latife Tekin, Nur Sürer, Pınar Aydınlar, Elif Şafak, Ece Temelkuran, Birhan Keskin and Sema Kaygusuz, supported Sezen Aksu with a joint statement. o § Freedom of Information/Freedom of the Press⠀➾ # ⚓ British_Court_Rules_Assange_Can_Appeal_US_Extradition⠀⇛ This is a developing story… Check back for possible updates… A U.K. court ruled Monday that WikiLeaks founder Julian Assange can appeal a December decision permitting his extradition to the United States, where the Department of Justice is attempting to prosecute the journalist for publishing classified information that exposed war crimes. # ⚓ Assange_extradition_argument_certified_for_UK_Supreme_Court appeal⠀⇛ In an extremely brief court hearing in London this morning, the UK’s High Court announced that it has certified a point of law for Julian Assange to be able to apply to appeal to the Supreme Court. The High Court ruled not to allow the appeal itself but to certify the question of what stage in the extradition hearing process ‘assurances’ can or should be introduced. Assange is now allowed to apply to appeal on that specific point to the UK Supreme Court. # ⚓ Explanatory_Background_Note:_High_Court_Decision_in_USA_v Julian_Assange_Extradition_Proceedings⠀⇛ # ⚓ Julian_Assange’s_Supreme_Court_Certification_Application⠀⇛ # ⚓ Your_Man_in_the_Public_Gallery:_Assange_Hearing_Day_Oh_God It_Never_Ends⠀⇛ It feels like a recurring nightmare. On the sadly misnamed sleeper train once again, down to London and a dash to the Royal Courts of Justice to hear yet another judgement intoned. Julian not in court again and not in good health; Stella battling on but fighting to keep her health as well; Gareth Peirce her calm and unstoppable self; my friends from Wikileaks marshaling legal and media resources and remaining determinedly resolute and cheerful. # ⚓ British_High_Court_Opens_Door_For_Assange_To_Appeal_To Supreme_Court⠀⇛ This article was funded by paid subscribers of The Dissenter Newsletter, a project of Shadowproof. Become a paid subscriber and help us expand our work. WikiLeaks founder Julian Assange prevailed in his effort to obtain certification from the British High Court of Justice, which would allow him to appeal their prior decision to the Supreme Court. # ⚓ British_High_Court_Opens_Door_For_Assange_To_Appeal_To Supreme_Court⠀⇛ Support coverage of WikiLeaks founder Julian Assange’s case. Become a paid monthly subscriber. # ⚓ Julian_Assange_Wins_Right_to_Appeal_Extradition;_Stella Moris_Blasts_“Politically_Motivated_Prosecution”⠀⇛ A British judge has ruled that political dissident and WikiLeaks founder Julian Assange can appeal his extradition to the United States. The ruling dealt a major blow to the Biden administration’s efforts to put Assange on trial for espionage charges. Assange has spent over 1,000 days locked up in the Belmarsh high-security prison in London, where he recently suffered a mini-stroke. The “politically driven” prosecution of Assange is punishing “a publisher for doing his work, for having published evidence of U.S. crimes,” says Stella Moris, Assange’s fiancée. “For every win that we get, Julian’s situation doesn’t change. And this is punishment through process.” # ⚓ Trial_of_Assange_friend_starts_in_Ecuador⠀⇛ The trial of Swedish programmer and internet activist Ola Bini, a friend of WikiLeaks founder Julian Assange who is accused of hacking the computer systems of Ecuador’s public telecommunications company CNT, has kicked off in Quito. “After almost three years (and) more than 100 violations of Ola’s rights, and thanks to the support of more than 100 organisations at the national and international level, including the United Nations, the Inter-American human rights system… we finally have the opportunity to appear before a court,” the defendant’s lawyer Carlos Soria said. # ⚓ WikiLeaks_founder_Assange_wins_right_to_appeal_against_US extradition⠀⇛ But lawyers for Assange then challenged the decision, arguing that the country’s highest court should rule on “points of law of general public importance”. # ⚓ British_High_Court_to_rule_on_whether_Assange_can_appeal extradition⠀⇛ The British High Court will reveal on Monday, at 10:45 a.m. UK time, whether WikiLeaks publisher Julian Assange is permitted to challenge its December ruling allowing for his extradition to the United States. # ⚓ Julian_Assange_Can_Appeal_Decision_to_Extradite_Him_to U.S.,_U.K._Court_Rules⠀⇛ A British court ruled on Monday that the WikiLeaks founder Julian Assange can appeal a decision that would allow for his extradition to the United States to face charges under the Espionage Act in connection with obtaining and publishing secret government documents. The latest twist in the long-running case comes after a decision last month that he could be extradited to the United States to face the charges, a reversal of a lower-court decision. # ⚓ Second_Mexican_journalist_killed_in_Tijuana_in_less_than seven_days⠀⇛ A journalist was killed in Tijuana Sunday, the local prosecutor said, the second media worker murdered in less than a week in the northern Mexican border city. o § Civil Rights/Policing⠀➾ # ⚓ Toward_a_New_Bill_of_Human_Rights⠀⇛ Williams proposed “a firm commitment to basic rights as a condition of membership in the federation. We can begin with the Bill of Rights and move on through other political, and social and economic foundations of a democratic socialist community.”[1] There’s that scary word, to many at least. Socialism. Even buffered by “democratic,” it still raises images out of the Cold War, of repressive police states requiring gulags, and inefficient economies with lines for poorly made consumer goods. Having grown up in a conservative Roman Catholic family in the 1950s and ‘60s, I had it hammered into me. So I understand how people recoil from the word. # ⚓ John_Roberts_Gets_an_F_on_His_Annual_Report⠀⇛ Every December, the chief justice of the Supreme Court of the United States composes a “Year-End Report on the Federal Judiciary.” Despite the apparent ambition indicated by its title, it is meant to be boring. It is meant to be anodyne. It is not supposed to be the judicial version of the State of the Union so much as a trite message about how “great” things are going on the bench, usually with some boilerplate stats that show how hard judges are working. # ⚓ Right-Wing_Supreme_Court_Takes_Up_Challenge_to_Affirmative Action⠀⇛ The U.S. Supreme Court on Monday agreed to hear a pair of affirmative action cases related to college admissions, giving its right-wing supermajority an opportunity to strike down race-conscious selection policies in higher education. “Without programs like affirmative action, my whole life could have gone in an entirely different direction.” # ⚓ We_Are_Still_Here⠀⇛ Driving down international boulevard, East Oakland’s main inner-city thoroughfare, it’s hard to miss the Intertribal Friendship House. With its mural-rimmed courtyard featuring larger-than-life portraits of Natives, both famous and unknown, the community center, which some call the “urban rez,” stands apart from its surroundings in Oakland’s Little Saigon. And like pretty much everything involving Indigenous Americans, it’s been here a while. # ⚓ “The_Janes”:_Meet_the_Women_Who_Formed_a_Collective_to Provide_Safe_Abortions_Before_Roe_v._Wade⠀⇛ As conservative justices on the Supreme Court threaten to overturn the landmark 1973 Roe v. Wade ruling that legalized abortions nationwide, we speak to the filmmakers and a subject of “The Janes” about life before Roe, when a collective of women in Chicago built an underground service for women seeking an abortion. Heather Booth, who founded the Jane Collective as a college student, speaks about adopting lessons from the civil rights movement and antiwar sentiments of the time. “You have to stand up to illegitimate authority,” says Booth. The directors of the film, Emma Pildes and Tia Lessin, speak about their motivation to encourage others to take action in the face of human rights under threat. # ⚓ Gingrich_Tells_Dems_to_Prepare_for_“Jail”_Over_January_6 Inquiry⠀⇛ # ⚓ Snapshots_from_Sakharovo_One_year_ago,_thousands_of_people were_arrested_at_pro-Navalny_rallies_across_Russia._This ‘special’_detention_center_became_a_symbol_of_those protests.⠀⇛ In the winter of 2021, Russia was rocked by large- scale protests demanding the release of opposition leader Alexey Navalny. After spending months abroad recovering from chemical nerve-agent poisoning, Navalny had returned to Russia only to be thrown in jail. During the ensuing pro-Navalny rallies, thousands of people were detained. Police in Moscow made so many arrests that the capital’s detention centers were overflowing. As a result, many detainees were sent to a migrant detention center in Sakharovo, a village just outside of Moscow. The detainees shared striking accounts of how they were held on freezing buses outside the detention center for hours on end, only to be placed in overcrowded cells without bedding and basic hygiene products. Photographs taken inside the detention center drove these experiences home. At the same time, the detainees themselves recall the special atmosphere inside those same cells. One year later, Meduza reached out to those jailed in Sakharovo and asked for photographs of what went on there. Here are their snapshots. # ⚓ Buddhist_Monk_Thich_Nhat_Hanh,_Hailed_by_MLK_as_“Apostle_of Peace_&_Nonviolence,”_Dies_at_95⠀⇛ World-renowned Buddhist monk, poet, teacher and antiwar activist Thich Nhat Hanh has died in his native Vietnam at the age of 95. He was exiled from Vietnam for decades beginning in the 1960s after he spoke out publicly against the war. In 1966, he traveled to the United States and met with Dr. Martin Luther King Jr., helping to persuade King to speak out against the U.S. War on Vietnam. King went on to nominate Thich Nhat Hanh for a Nobel Peace Prize a year later, calling him an “apostle of peace and nonviolence.” # ⚓ Opinion_|_Around_1_in_3_Child_Care_Workers_Are_Going Hungry⠀⇛ Of the nearly one million child care workers in the United States, in a recent white paper, my colleagues and I found that 31.2% – basically 1 out of every 3 – experienced food insecurity in 2020, the latest year for which we analyzed data. Food insecurity means there is a lack of consistent access to enough food. This rate of food insecurity is anywhere from 8 to 20 percentage points higher than the national average. # ⚓ FL_District_Scraps_History_Lecture_Over_“Red_Flag”_Fears_of Critical_Race_Theory⠀⇛ # ⚓ REI_Retail_Workers_in_Manhattan_File_to_Form_Company’s First_Union⠀⇛ # ⚓ An_Afghan_woman_says_a_Taliban_gunman_struck_her_mom_across the_face_and_left_a_bruise_because_she_was_outside_without_a male_escort⠀⇛ An Afghan woman said a Taliban gunman once struck her mom across the face and left a bruise because she was outside without a male escort. A woman identified as Pahlawan said was walking with her mother in Kabul in November 2021 when a pickup truck pulled up next to them, the Washington Post reported. # ⚓ Girl,_8,_fatally_struck_by_stray_bullet_while_walking_with mom_in_Chicago⠀⇛ An 8-year-old girl was struck and killed by a stray bullet while walking with her mother on a Chicago street Saturday afternoon, reports said. Melissa Ortega was struck in the head by one of several rounds fired by a male suspect toward a 26- year-old known gang member near the intersection of 26th Street and Pulaski Road in Little Village just before 3 p.m., the Chicago Sun-Times reported. o § Internet Policy/Net Neutrality⠀➾ # ⚓ Correcting_Error_402:_Rethinking_The_Web_And_Monetization⠀⇛ We’re excited today to announce that we’ve received a grant from Grant for the Web to create a content series on Techdirt exploring the history (and future?) of web monetization, entitled “Correcting Error 402.” We’ll get more into this once the series launches, but lots of people are aware of the HTTP 404 Not Found error code — and some people are at least vaguely aware of 403 Forbidden. What most people probably don’t know about is the Error Code 402: Payment Required. It’s been in the HTTP spec going back decades, with “This code is reserved for future use.” But no one’s ever actually done anything with it. # ⚓ Yet_Another_Telecom-Backed_Think_Tank_Insists_U.S. Broadband_Is_Great,_Actually⠀⇛ U.S. broadband suffers from significant regional monopolization, which directly results in the country being mediocre on nearly every broadband metric that matters… be it broadband prices, coverage, speeds, and customer service. This isn’t something to debate; the data is everywhere, and anybody who has spent much time dealing with giants like AT&T or Comcast knows the sector has major problems. By developing national standards U.S. broadband is slow, expensive, inconsistently available, with terrible customer support. The cause has always been regional monopolization and the state and federal corruption that protects it. # ⚓ The_Internet_Infrastructure’s_SOPA/PIPA_Silver_Lining⠀⇛ Register now for our online event featuring Rep. Zoe Lofgren » o § Monopolies⠀➾ # § Copyrights⠀➾ # ⚓ Movie_Companies_Use_DMCA_‘Shortcut’_To_Expose_Alleged CenturyLink_Pirates⠀⇛ Personal data and other records held by ISPs on their customers are highly sensitive and as such, can only be handed over to third parties when the law requires it. In movie piracy cases, judges often order this type of disclosure after consideration but in a new case involving CenturyLink customers, customer details could already be in the hands of some extremely litigious copyright holders. # ⚓ RIAA_Discards_EFF’s_YouTube-DL_Letter,_Notes_That_it ‘Regularly_Sides_With_Infringers’⠀⇛ YouTube rippers FLVTO.biz and 2conv.com are contesting Magistrate Judge Buchanan’s recommendation to award $82 million in piracy damages to the RIAA. The YouTube-rippers cited a letter where the EFF defends the non- infringing nature of the youtube-dl software. The RIAA, however, argues that this letter is irrelevant and suggests that the EFF is far from a neutral expert. # ⚓ Creative_Commons_Receives_$1M_Grant_from_Robert_Wood Johnson_Foundation_to_Advance_Better_Sharing⠀⇛ The internet has global ownership with people sharing more information and ideas than ever before; but not all sharing supports equity and the public’s best interests. Better Sharing involves a concerted effort and dedication to building a globally produced, open commons of knowledge, data, culture, and innovation that is universally applicable and accessible. # ⚓ The_Internet_Wins:_Adblocking_(And_Other_Extensions) Don’t_Violate_Copyright_Law_In_Germany⠀⇛ For way too long now, short sighted publishers have insisted that ad blocking is “stealing.” That’s always been bullshit. Back before we turned off all our 3rd party ads last year, we were perfectly fine with people using ad blockers (and we even let you just turn off ads in your preferences, if you preferred that approach). ䷩ 𝚕𝚒𝚗𝚎 5225 ╒═══════════════════ 𝐃𝐀𝐈𝐋𝐘 𝐋𝐈𝐍𝐊𝐒 ═════════════════════════════════════════════╕ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.25.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Links_26/1/2022:_No_ARM_for_Nvidia,_End_of_EasyArch,_and_WordPress_5.9_is Out⠀✐ Posted in News_Roundup at 9:40 pm by Dr. Roy Schestowitz 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇GNOME bluefish⦈ § Contents⠀➾ * GNU/Linux o Distributions o Devices/Embedded * Free_Software/Open_Source * Leftovers * § GNU/Linux⠀➾ o ⚓ The_Software_Upgrade_Threadmill_and_Life’s_crazy_chain_of dependencies_—_an_epic_tale_about_Firefox,_GTG,_Python,_and_Linux distros_–_The_Open_Sourcerer⠀⇛ Modern software development happens at a breakneck pace, and while staying on ancient versions (hello, Debian Stable / Ubuntu LTS / Android users) is not really a safe and realistic option anymore (try reporting bugs without getting laughed out of the room by upstream maintainers), it is becoming a challenge for users to keep up. When it works, it works… but when something breaks down in the upgrade threadmill, the chain of dependencies to get back on track can become absolutely ludicrous and throw your digital life in turmoil. Just like needing to replace that one light bulb… Case in point: I’m finally publishing this article in 2022, while I initially meant to blog about this way back in 2017… but more stuff kept breaking all the time, resetting my productivity and accidentally adding more potential content for this blog post. More value for you, dear reader! As someone who has been running Linux for 19 years (as of 2022), I think I know my way around most hurdles you can possibly encounter. Undoubtedly, running Linux-based operating systems on desktop/laptop computers has overall gotten incredibly easier compared to 2003, but also, as one gradually becomes highly dependent on specific tools and committed to well-oiled workflows, the upgrade threadmill can become a real high-stakes pursuit. o § Audiocasts/Shows⠀➾ # ⚓ deepin_20.4_overview_|_Smart_and_Powerful_–_Invidious⠀⇛ In this video, I am going to show an overview of deepin 20.4 and some of the applications pre- installed. o § Kernel Space⠀➾ # ⚓ NXP_Continues_Work_On_Linux_Driver_Bring-Up_Of_“Amphion” Video_Encoder/Decoder_–_Phoronix⠀⇛ NXP engineers continue persevering for bringing up a mainline-suitable, open-source kernel driver for their Amphion video encoder/decoder hardware. Out today is their 15th revision to the Amphion driver patches. The Amphion v15 driver patches were posted this morning for handling this video encoder and decoder found via the video (VPU) block with the NXP i.MX8Q platforms. Initially the IMX8QXP and IMX8QM SoCs are supported by this Amphion driver work. # § Graphics Stack⠀➾ # ⚓ A_Pixel’s_Color_&_new_documentation_repository⠀⇛ My work on Wayland and Weston color management and HDR support has been full of learning new concepts and terms. Many of them are crucial for understanding how color works. I started out so ignorant that I did not know how to blend two pixels together correctly. I did not even know that I did not know – I was just doing the obvious blend, and that was wrong. Now I think I know what I know and do not know, and I also feel that most developers around window systems and graphical applications are as uneducated as I was. Color knowledge is surprisingly scarce in my field it seems. It is not enough that I educate myself. I need other people to talk to, to review my work, and to write patches that I will be reviewing. # ⚓ Initial_Bits_Land_In_Mesa_22.0_For_Intel_Raptor_Lake –_Phoronix⠀⇛ In addition to Mesa 22.0 landing Vulkan 1.3 support today with the Radeon RADV and Intel ANV Vulkan drivers, Mesa today also received initial support for next-gen Raptor Lake S processors. With the in-development Linux 5.17 kernel there is the initial i915 kernel driver support for Raptor Lake S so now that the DRM/KMS side has initial RPL-S support, Mesa has landed its dependent support. o § Vulkan⠀➾ # ⚓ Open-Source_Intel_&_Radeon_GPU_Drivers_Ready_With_Day-One Support_For_Vulkan_1.3⠀⇛ For the just-announced Vulkan 1.3, the open-source Intel “ANV” and Radeon “RADV” Vulkan drivers within Mesa are prepared to land support for this updated specification. On the same day as the graphics vendors shipping beta proprietary drivers with Vulkan 1.3 support, the open-source ANV/RADV drivers within Mesa are good to go too with their Vulkan 1.3 support. Granted, Vulkan 1.3 is about making official various extensions as part of the core specification that previously were optional. The Intel and Radeon Vulkan Mesa drivers have supported the 23 extensions already promoted to core, so the hurdle today isn’t too extremely challenging. In any case, this same-day support is a remarkable difference compared to the old days of Mesa where it was months/years behind the upstream OpenGL driver specification for its hardware drivers. # ⚓ NVIDIA,_AMD_&_Intel_Announce_Day_One_Driver_Support_For Vulkan_1.3_API_on_Windows_&_Linux_Platforms⠀⇛ With the release Tuesday of Vulkan 1.3, NVIDIA continues its unparalleled record of day one driver support for this cross-platform GPU application programming interface for 3D graphics and computing. Vulkan has been created by experts from across the industry working together at the Khronos Group, an open standards consortium. From the start, NVIDIA has worked to advance this effort. NVIDIA’s Neil Trevett has been Khronos president since its earliest days. “NVIDIA has consistently been at the forefront of computer graphics with new, enhanced tools, and technologies for developers to create rich game experiences,” said Jon Peddie, president of Jon Peddie Research. o § Applications⠀➾ # ⚓ Albert_and_Catfish_–_search_tools,_and_horses_for_courses_– Real_Linux_User⠀⇛ One of the superpowers of computers is being able to find what you are looking for quickly and efficiently. Finding a needle in a haystack may have been an impossible challenge in the pre- computer days, but the advent of the computer has made finding things a lot easier, faster and more effective. For us Linux enthusiasts, there are plenty of alternatives available to make finding specific files, such as documents, photos, videos and applications, easier and faster. In this article, written by Paul Surman, one of the readers of this website, two powerful search applications for Linux are described based on his personal experiences. Paul shares his enthusiasm for Albert and Catfish and the way these tools makes his life in Linux easier, so enjoy and see if these powerful tools can be something for you as well. The question as to which is the best program for any specific purpose depends on the program, but also on the person who is going to use it. Exceptional programs tend to rise in popularity, like the ones that most often come with Linux distributions. But what works best for you is what really matters. This article is about Albert and Catfish, but I am not about to tell you they are the best, only that they have best suited me, and the reasons why. You may have different, perfectly valid reasons, for an entirely different choice. It’s a question of horses for courses. Linux offers diverse choices, and that is one of its many strengths. # ⚓ Free_technology_in_housing_and_construction⠀⇛ When building, self-building, renovating or extending a home, software and hardware products are almost indispensable. For floorplans and CAD drawings there is FreeCAD and LibreCAD. The former, FreeCAD, appears to offer more features for 3D and a BIM workbench for Building Information Modelling. Even if you use architects and engineers to do most of the drawing and design work, it can be really helpful being able to view their drawings at home using one of these tools. Once you have a plan for a building it is important to make calculations about energy requirements. One of the most well known tools for this is the Passive House Planning Package (PHPP). Some web sites refer to it as open source software but it is neither free nor open source. It is a spreadsheet and there is a charge for downloading it. There are discussions about an equivalent feature for FreeCAD and another discussion in OSArch. For the construction phase, some of the tools promoted by Open Source Ecology offer the possibility to help with everything from earthworks to decorating. o § Instructionals/Technical⠀➾ # ⚓ Learn_about_Virtual_memory_statistics_using_vmstat_–_TREND OCEANS⠀⇛ We can use multiple tools to monitor system statistics, but if you are looking for virtual memory, use vmstat, which support numerous options and parameters. And you can set vmstat with screen or any other screen multiplexer for best usage. # ⚓ openSUSE_15.4/15.3/Tumbleweed_NVIDIA_[510.39.01_/_495.46_/ 470.94_/_390.147_/_340.108]_Drivers_Install_Guide_–_If_Not True_Then_False⠀⇛ This is guide, howto install NVIDIA proprietary drivers (manually using .run files) on openSUSE Leap 15.4 Alpha/15.3/Tumbleweed and disable Nouveau driver. This guide works with GeForce 8/9/200/300/ 400/500/600/700/800/900/10/20/30 series cards. # ⚓ How_to_Use_XBPS_Package_Manager_on_Void_Linux⠀⇛ XBPS is the default command line package manager tool in Void Linux. Here’s how to use it to install, remove, update, and upgrade packages in Void Linux in a breeze. # ⚓ How_to_install_Sublime_Text_on_Zorin_OS_16_–_Invidious⠀⇛ In this video, we are looking at how to install Sublime Text on Zorin OS 16. # ⚓ How_I_Enabled_a_Translucent_Blur_Effect_on_Ubuntu_21.10_– OMG!_Ubuntu!⠀⇛ Glance at Windows 11, macOS, or even customised KDE Plasma desktops, and you’ll quickly learn that blurred window effects are a real vibe. But did you know that you can get a similar look on your GNOME-based Ubuntu desktop? Oh yes, all thanks to the third-party, unofficial, no-warranties, use- at-your-own-risk mutter-rounded repository on Github. Translucent app windows on Linux is not a new idea. The road to a feted desktop is littered with code from projects that have, in one form or another, tried to bring this feature to the fore, for all, over the years. # ⚓ How_to_install_Elasticsearch_and_manage_with_docker⠀⇛ Elasticsearch is a distributed search and analytics engine built on Apache Lucene. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents. Elasticsearch has quickly become the most popular search engine and is commonly used for log analytics, full-text search, security intelligence, business analytics, and operational intelligence use cases. In this guide, we will learn how to install Elasticsearch using docker. # ⚓ How_to_install_Shotcut_video_editor_on_a_Chromebook⠀⇛ Today we are looking at how to install Shotcut video editor on a Chromebook. Please follow the video/audio guide as a tutorial where we explain the process step by step and use the commands below. If you have any questions, please contact us via a YouTube comment and we would be happy to assist you! # ⚓ How_to_Install_ZOOM_on_Ubuntu_–_buildVirtual⠀⇛ Over the last couple of years Zoom has become extremely popular, either as a tool to use whilst working from home, or to keep in touch with friends and family. It’s available on many platforms – typically I use it on a Mac but recently had a need to install Zoom on my Ubuntu 20.04 system. This article covers a couple of ways in which you can install Zoom on Ubuntu using the Linux terminal / bash. # ⚓ How_To_Install_Envoy_Proxy_on_Ubuntu_20.04_LTS⠀⇛ In this tutorial, we will show you how to install Envoy Proxy on Ubuntu 20.04 LTS. For those of you who didn’t know, Envoy is an open-source edge and service proxy, designed for cloud-native applications. Built on the learnings of solutions such as Nginx, HAProxy, hardware load balancers, and cloud load balancers, Envoy runs alongside every application and abstracts the network by providing common features in a platform-agnostic manner. 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 Envoy Proxy on Ubuntu 20.04 (Focal Fossa). You can follow the same instructions for Ubuntu 18.04, 16.04, and any other Debian-based distribution like Linux Mint. # ⚓ How_PetaSan_Can_Help_To_Manage_Your_Data⠀⇛ Welcome Back! today we are going to discuss PetaSAN. A storage management solution for day to date backups and data protection. While looking for some good article material, I was able to find a decent and dedicated NAS OS that not only comes with Ubuntu OS as backed but is also easy to manage and install. A storage device that is based on modern storage technology. Highly scalable storage which provides agility and elasticity. Let’s discuss features and installation processes one by one. # ⚓ How_to_install_and_upgrade_OpenSSH_server_on_FreeBSD⠀⇛ Another day I wrote about setting up ssh public key password-less authentication for FreeBSD server version 12/13 with an optional 2FA hardware USB key (FIDO 2) for additional protection. However, FIDO2 and key type ecdsa-sk and ed25519-sk are not supported by the OpenSSH client and server version shipped with FreeBSD 12 or 13. But, fear not, we can safely upgrade the OpenSSH version using ports collection. This page explains how to install and configure the latest portable version of the OpenSSH client and server on FreeBSD 13. # ⚓ How_to_Use_the_findmnt_Command_on_Linux⠀⇛ Discover everything about your file system mount points with the Linux findmnt command. It’s an all- in-one tool with a very easy syntax. We show you how to use it. # ⚓ The_idea_of_a_tutorial⠀⇛ Sooner or later, almost everyone who looks at some software that they or their team have created imagines a user getting to grips with it, and a pang of empathy for that unknown person prompts them to think: what we need here is a tutorial. # ⚓ Linux_Uptime_Command_Examples_–_buildVirtual⠀⇛ The Linux uptime command is often used when troubleshooting a Linux system. One of the first puzzles to solve when investigating an outage may be to check if a system has been rebooted, or how long it has been available for. Quite often its as simple as running the uptime command, but there are a few additional options that it is useful to be aware of. First of all – do you have the uptime command? The answer is most certainly yes! The uptime command is present on all Linux distributions (such as Ubuntu, Red Hat, Centos etc), and many other operating systems including Unix and VMware ESXi. It can generally be found at /usr/bin/uptime. o § Games⠀➾ # ⚓ Valve_Rolling_Out_Dynamic_Cloud_Sync_For_Moving_Between_The Steam_Deck_&_PC_–_Phoronix⠀⇛ Ahead of the Linux-based Steam Deck hopefully shipping around the end of February, Valve announced a new Steamworks feature called Dynamic Cloud Sync. Steam’s Dynamic Cloud Sync can simply be summed up as, “This feature allows players to seamlessly move between Deck and PC instances of the game without needing to worry about exiting the game on the Steam Deck.” # ⚓ Cities:_Skylines_–_Airports_DLC_is_out_now_with_some_extra DLC_packs_|_GamingOnLinux⠀⇛ Paradox and Colossal Order have today release a number of DLC packs including Cities: Skylines – Airports. [...] “The teams at Paradox Interactive and Colossal Order are excited to give fans an all new transportation option to integrate into their designs” said Magnus Lysell, Cities: Skylines Product Manager at Paradox Interactive. “Fans have long been requesting the possibility to integrate airports into their cities, and we can’t wait to see the things our community delivers with these new tools.” # ⚓ New_Steam_Games_with_Native_Linux_Clients_–_2022-01-25 Edition_–_Boiling_Steam⠀⇛ Between 2022-01-18 and 2022-01-25 there were 34 new games released on Steam with native Linux clients. For reference, during the same time, there were 281 games released for Windows on Steam, so the Linux versions represent about 12.1 % of total released titles. Here’s a quick pick of the most interesting ones… o § Desktop Environments/WMs⠀➾ # § K Desktop Environment/KDE SC/Qt⠀➾ # ⚓ Latte_Dock_v0.10.8_|_Bug_Fix_Release⠀⇛ Let’s welcome Latte Dock v0.10.8 the 8th Official Bug Fix Release of v0.10.x branch! Go get it from, download.kde.org # § GNOME Desktop/GTK⠀➾ # ⚓ GNOME_42_Lands_DRM_Privacy_Screen_Support_– Phoronix⠀⇛ Now that Linux 5.17 has prepared DRM privacy screen support, the GNOME 42 is ready with its user-space side support for making use of this new standardized interface. A growing number of newer laptops are having built-in electronic privacy screens for helping prevent others from viewing your screen contents. With Linux 5.17 the exposing of this support to user-space has been standardized for Direct Rendering Manager (DRM) / Kernel Mode-Setting (KMS) drivers plus there is x86-specific initialization code and other related infrastructure work for privacy screens. For user-space is a new privacy screen property for capable GPU/ connector combinations so it can be easily toggled. o § Distributions⠀➾ # ⚓ Stopped_work_on_EasyArch⠀⇛ Yes, have a working desktop, and even have the bin and lib folder symlinks just like it is in Arch. Actually, most of the issues are resolved I think, but it has been “dependency hell”. To build a distro with everything builtin, Scribus, OBS- Studio, Shotcut, LibreOffice, Inkscape etc., I ended up with a download file over 800MB — compared with about 580MB for the Dunfell img.gz file. Could create a smaller build with minimal apps, like peebee has done, but have decided cannot see the point of it. Yes, there is a big package repository, and I tested it by installing Shotcut video editor, and it works. But that is not giving me enough reason to keep working on it. Takes away too much time that could be spent working on improving EasyOS itself. # § Canonical/Ubuntu Family⠀➾ # ⚓ Charmed_Kubeflow_1.4_Brings_Smart,_Agile_MLOps_to_any Cloud_–_LinuxInsider⠀⇛ Canonical is pushing the limits on its MLOps platform to automate the full lifecycle of feature engineering, training, and release workflows for machine learning (ML) models. The Canonical Data Platform team on Tuesday announced the release of its MLOps platform Charmed Kubeflow 1.4. The new free release enables data science teams to securely collaborate on AI/ML innovation on any cloud, from concept to production. Charmed Kubeflow is an open source MLOps platform released under the Apache License 2.0. The platform helps data scientists automate the workflow from ideation to production. o § Devices/Embedded⠀➾ # § Open Hardware/Modding⠀➾ # ⚓ Purism_2022_Roadmap⠀⇛ Looking back on the road we have already traveled, Purism has pioneered many areas. These include securing boot firmware (PureBoot), manufacturing in the USA (Librem Key and Librem 5 USA), and creating the first truly convergent operating system (PureOS) by authoring the foundational pieces for mobile GNU/Linux (Phosh, Phoc, Squeekboard, Calls, Chats, etc). These innovations and growth have happened due to the unflinching support of our team, early backers, supporters and customers. As we look ahead to 2022, we wanted to share where we are going next. # ⚓ Nano-ITX_carrier_extends_RPi_CM4_with_eight_USB ports,_M.2,_and_mini-PCIe⠀⇛ UUGear’s $201-and-up “PiGear Nano” carrier for the Raspberry Pi CM4 provides 8x USB 3.0, 4x COM, HDMI, MIPI-DSI/CSI, GbE, CAN, ADC, DIO, M.2 for NVMe, and mini-PCIe with SIM. UUGear has launched a full-featured, 120 x 120mm Nano-ITX carrier board for the Raspberry Pi Compute Module 4. The PiGear Nano starts at $201 without the CM4 module or case. The board ships with UWI (UUGear Web Interface) software for mobile access. UUGear started in Prague, Czech, but last year moved to the Netherlands, incorporating the company as Dun Cat B.V, but continuing with the UUGear branding. The company has produced a bevy of Raspberry Pi add-ons, such as the Witty Pi RTC/PMIC board, the Mega4 4- ort USB 3./1 hub, and Zero2Go OMINI power supply. # ⚓ RAKwireless_introduces_16_new_WisBlock_modules_with LoRaWAN,_NFC_reader,_etc…_–_CNX_Software⠀⇛ RAKwireless will add new modules to its WisBlock IoT modular system every quarter. Last July, WisBlock family welcomed 14 new modules, and in September 2021, RAK11310 Raspberry Pi RP2040 LoRaWAN core was introduced together with a new baseboard and various sensor modules. This time around, the company launched 16 new Wisblock modules with two wireless modules, one adding LoRaWAN to an ESP32 core module, the other acting as an RFID and NFC card reader, as well as six sensor modules, and eight “interface” modules ranging from barcode scanners to keypads. # ⚓ Capture_macro_photos_with_this_Arduino-powered platform_|_Arduino_Blog⠀⇛ Getting that perfect up-close macro shot is touch, especially since even the smallest movement can throw off a focused image or make the subject leave the frame. This need for stability and precision is what drove Kike Glez (AKA ‘TelekikeG’ on Instructables) to build a motorized photography platform that would be able to gradually move closer/ further away relative to the subject with extreme levels of granularity. The device utilizes an Arduino Uno as its primary microcontroller and its job is to generate pulses for the DRV8825 stepper driver, which turns the stepper motor as well as accepts user inputs from a series of five buttons — all mounted on a custom PCB shield. The board also features several TIL331 seven- segment modules for a more vintage appearance. Rather than constructing the entire platform from scratch, an old CD-ROM drive was repurposed in order to use the laser head gantry to move the subject instead. Lastly, a pair of bright lights were placed in front of the subject that provided plenty of illumination. # § Mobile Systems/Mobile Applications⠀➾ # ⚓ Android_updates:_Features_aren’t_the_problem, security_is_–_9to5Google⠀⇛ # ⚓ How_To_Wipe_An_Android_Smartphone?_–_Fossbytes⠀⇛ # ⚓ Sony’s_Android_12_update_includes_a_welcome_change you’ll_probably_never_see⠀⇛ # ⚓ Nokia_2.4_currently_tested_for_Android_12_| Nokiamob⠀⇛ # ⚓ Google_fixes_Android_12_bug_that_blocks_touchscreen_– 9to5Google⠀⇛ # ⚓ Phosh_0.15.0_Wayland_Shell_for_GNOME_on_Mobile Devices_Adds_Full_VPN_Support,_Swipeable_Notification Frames_|_Tux_Machines⠀⇛ Several months in the works, Phosh 0.15.0 is massive update with hundreds of changes, starting with full support for VPN authentication. This means that there’s now a VPN indicator in the top-bar that displays the VPN state, as well as a VPN quick setting that will appear when there’s at least one VPN configured. In addition, the new VPN implementation supports the WireGuard VPN protocol. The Phosh 0.15.0 release also adds a swipe- to-remove gesture for notification frames, adds support for arbitrary passwords on the lockscreen through a new button on the keypad that unfolds the on-screen keyboard and shows a text entry to enter passwords, and brings back gamma control protocol support. o § Free, Libre, and Open Source Software⠀➾ # ⚓ Mullvad_VPN⠀⇛ There is a new application available for Sparkers: Mullvad VPN # § Events⠀➾ # ⚓ Waag_founder_Marleen_Stikker_to_keynote_LibrePlanet 2022⠀⇛ The Free Software Foundation (FSF) today announced Marleen Stikker as its opening keynote speaker for LibrePlanet 2022. The annual technology and social justice conference will be held virtually on March 19 and 20, 2022, with the theme “Living Liberation.” # ⚓ Covid_Concerns_Push_Scale_19x_to_July_and_to_a_New Venue_–_FOSS_Force⠀⇛ Scale, otherwise known as the Southern California Linux Expo, announced in an email sent yesterday that due to Covid concerns this year’s conference has been pushed back to July 28-31. In addition, the event will be returning to its original home, Los Angeles, at a facility that’s yet to be named. The event, which is one of three major community-focused Linux and open source conferences held on the U.S. West Coast each year (along with LinuxFest Northwest and Seattle GNU/Linux Conference), was originally scheduled to take place March 3-6 at the Pasadena Convention Center, where it’s been held since Scale 14x in 2016. Before that it was held at various venues in Los Angeles, mostly at facilities located near the city’s international airport. Last year’s event was canceled entirely due to the pandemic. Yesterday’s announcement was brief and to the point, evidently primarily intended to make the organization’s email subscribers aware of the change before they made travel and hotel arrangements, which might be costly to cancel or reschedule. # § Web Browsers⠀➾ # § Chromium⠀➾ # ⚓ Google_Chrome_97_media_playback_pausing randomly_on_Windows_&_Linux⠀⇛ In recent weeks, Google Chrome users have been suffering from an annoying problem that directly affects the playback of videos through the popular browser. Apparently, Google Chrome 97 (the most recent stable update) is causing media playback pausing randomly on Windows and Linux for many users (1, 2, 3). # § Mozilla⠀➾ # ⚓ Use_Mozilla_DeepSpeech_to_enable_speech_to_text in_your_application⠀⇛ One of the primary functions of computers is to parse data. Some data is easier to parse than other data, and voice input continues to be a work in progress. There have been many improvements in the area in recent years, though, and one of them is in the form of DeepSpeech, a project by Mozilla, the foundation that maintains the Firefox web browser. DeepSpeech is a voice-to-text command and library, making it useful for users who need to transform voice input into text and developers who want to provide voice input for their applications. # ⚓ Firefox_Nightly_Begins_Activating_Wayland_For Capable_Systems_–_Phoronix⠀⇛ In recent days Mozilla has begun activating Wayland support by default on Firefox Nightly for configurations capable of running Wayland. Mozilla tweeted a notice that “Wayland was activated by default on Firefox Nightly (only) for eligible configurations last week.” They encourage those Firefox Linux users on Wayland to check this bug ticket and connected dependent tickets regarding the Wayland port for known issues. There have been recent new bugs submitted around crashes, WM_CLASS handling changes, dragging tabs sometimes freezing Firefox, and menu alignment issues. # § SaaS/Back End/Databases⠀➾ # ⚓ Database_Management_and_Hosting_|_ObjectRocket⠀⇛ MongoDB is one of the most extensively used databases on the market. There are three parts to it: Express, Angular, and Node. Developers choose NoSQL databases since data is stored in documents rather than relational tables; this has dramatically boosted its appeal. NoSQL databases include pure document databases, key-value stores, wide-column databases, and graph databases. Unlike SQL relational databases, MongoDB databases can be dispersed over multiple servers. The structure’s flexibility and efficiency make it useful in various situations. MongoDB cloud hosting is an excellent and cost-effective choice for your company. The database organizes all of the data so that the user can access it quickly when needed. # § Productivity Software/LibreOffice/Calligra⠀➾ # ⚓ Using_a_Matrix_Bridge_with_LibreOffice_IRC_Channels⠀⇛ Ever wondered about using modern chat tools to discuss LibreOffice? Here we will discuss using a Matrix bridge to connect to the LibreOffice IRC rooms, to participate more efficiently in LibreOffice-related discussions. Traditionally, IRC has been the preferred way of communication for the FOSS communities including the LibreOffice community. There are multiple IRC rooms that you can join, and the one related to the LibreOffice development is #libreoffice-dev at Libera Chat network. # § Content Management Systems (CMS)⠀➾ # ⚓ WordPress_5.9_Josephine⠀⇛ Introducing 5.9, Joséphine. Named in honor of acclaimed international jazz singer Joséphine Baker, this latest, most versatile WordPress release is here: download it or update it directly from your dashboard. As a lifelong civil rights campaigner, Joséphine Baker believed that all people could live in harmony together, just as different instruments in a jazz band blend together to make a whole piece. Turn on a playlist from your favorite music service and enjoy her famous renditions of “You are the greatest love”, “Sans Amour”, and “Love is a Dreamer” as you discover all the features of this brand-new WordPress release. # ⚓ NZ’s_Catalyst_IT_delivers_open-source_system_for_uni library_–_Services_–_Software_–_CRN_Australia⠀⇛ Kiwi open-source cloud solutions provider Catalyst IT has completed the rollout of the Koha Library Management System for Auckland University of Technology (AUT). The Linux-based system is one of the most widely used open-source library management systems in the world, and it was first developed in NZ. “Koha is open source software which connects us to an international community of over 15,000 libraries working collaboratively to continually improve it,” AUT research and learning director Ben Conyers stated in August when the project began. “It’s great that the best system for AUT was first developed in New Zealand, and in Catalyst, we have a New Zealand-based company to implement and support it. Our collective team is keen to embrace the ways we can approach the project and ongoing system support in a te ao Māori way, which we have not had the opportunity to explore before now.” The project began with two in-person workshops between Catalyst and AUT. After an interruption due to lockdowns, the rest of the project was delivered remotely. It was delivered by Catalyst’s Koha team and included server setup and configuration, data migration, development, training, and consulting, a statement said. # § Programming/Development⠀➾ # ⚓ Git_2.35.0_released_[LWN.net]⠀⇛ Version 2.35.0 of the Git source-code management system has been released. There are a lot of changes, as usual; see the announcement and this GitHub blog entry for details. # ⚓ QT_Lets_Devs_Embed_ADS_In_Desktop_&_Mobile_Apps_– Invidious⠀⇛ QT recently announced the qt digital advertising platform to make it easier than ever for developers to embed ads into both their mobile and desktop qt apps but is this going to lead to a horrible result/. # ⚓ Create_Your_Apps_Faster_With_Qt⠀⇛ If you could create your app in 5 instead of 6 months, would it matter? If you could build the first prototype within 4 hours instead of one week, would it matter? We as Product Managers always have had three dimensions to play with when steering a software development project: Scope, Time, and Quality. The number of developers is most of the time fixed for multiple reasons. The amount of quality issues customers are willing to tolerate is limited. That leaves us typically with two dimensions to manage the expectations of management and customers: Scope and Time. But there is another way to increase R&D velocitywithout cutting down the Minimum Viable Product to a bare minimum. # ⚓ Qt_Quick_3D:_interactive_2D_content⠀⇛ Qt Quick 3D has some new features in 6.2. One of them is that you can map interactive Qt Quick scenes onto 3D objects. During a hackathon last year, we developed the Kappa Tau Station demo: a model of a space station in which you can use the WASD keys to walk around (as in many games), but also containing some 2D UI elements on some surfaces. # § Perl/Raku⠀➾ # ⚓ Functional_hypering_|_Playing_Perl_6␛b6xA Raku⠀⇛ In my last post I used a one-shot- operator to improve neatness. Sadly, by defining custom operators we also improve Rakudo’s slowness. After staring at the code form quite some time, I realised that hyper- and meta- operators are code generators. They produce a new operator in-place, which is then used with two operands. In functional programming we do the same thing by returning a sub from a sub. # § Shell/Bash/Zsh/Ksh⠀➾ # ⚓ Scripting_a_temperature_notifier⠀⇛ My wife and I go for an early morning walk by a nearby river every day. I like to know in advance how cold it’s been overnight, so I can wear suitably warm clothing. There’s no local weather station recording the riverside temperature, but a fair approximation is the minimum overnight temperature at Devonport Airport here in northwest Tasmania. The airport reports its temperature data to the Bureau of Meterorology (BOM; Australia). Previously, to get the minimum and current temperature I would open a browser, go to the BOM website page with Tasmanian observations, then look for the Devonport Airport figures: see screenshot. # § Java⠀➾ # ⚓ Oracle_Releases_GraalVM_22.0_With_New_Features –_Phoronix⠀⇛ GraalVM 22.0 has been released for this Java VM/JDK that also supports other programming languages and run-times / execution modes. GraalVM continues to be performant and showing promising results not just for Java with JIT’ing but also ahead-of-time Java compilation to Native Image as well as for its Python implementation, WebAssembly run- time, and other targets. GraalVM 22.0 is the newest quarterly release from Oracle. The free, open- source community edition of GraalVM 22.0 is available alongside its GraalVM Enterprise variant. # ⚓ Creating_and_initializing_lists_in_Java_and Groovy_|_Opensource.com⠀⇛ I like the Groovy programming language a lot. I like it because, in the end, I like Java, even though Java sometimes feels clumsy. And because I like Java so much, I don’t find many other JVM languages especially attractive. Kotlin, Scala, and Clojure, for example, don’t feel much like Java, pursuing their own perspectives on what makes a good programming language. Groovy is different; in my view, Groovy is the perfect antidote to those situations when a programmer who likes Java just needs something a bit more flexible, compact, and sometimes even straightforward. A good example is the List data structure, which is used to hold an ordered list of numbers, strings, or objects, and allows the programmer to iterate through those items in an efficient fashion. Especially for people writing and maintaining scripts, “efficiency” is mostly about clear and brief expressions that don’t require a bunch of ceremony that obscures the intent of the code. * § Leftovers⠀➾ o ⚓ The_Road_Is_Peppered_With_Rock_Salt_Alternatives_|_Hackaday⠀⇛ Every winter, millions of tons of rock salt is sprinkled across roads in the US, mostly in the Midwest and Northeast regions. It’s a cheap and effective way to prevent accidents. Rock salt is chemically the same as the stuff that sits next to the pepper, except it isn’t as finely ground, and it doesn’t have sodium or potassium iodine added to it to prevent goiters. Both table salt and rock salt melt ice by lowering the freezing point of water. So does sugar. Much of what we salt the Earth with every winter comes from underground networks of salt crystal that formed when various ancient seas dried up. As natural as it may be, rock salt is bad for the environment. For one thing, chloride is forever, and can’t easily be decoupled from the soil and water it taints when it washes away. Rock salt also corrodes concrete, makes its way into the groundwater, and is bad for pets. Worst of all, its efficacy drops along with the temperature. At 15° F (-9° C), rock salt loses more than 86% of its melting power. o ⚓ Building_A_Lightsaber_And_Scoring_A_World_Record,_Too_| Hackaday⠀⇛ As we all know, the lightsaber is an elegant weapon, for a more civilized age. [Alex Burkan] is doing what he can to bring that technology to fruition, and even secured a Guinness World Record in the process. o ⚓ Tiny_Homemade_Injection_Molder_|_Hackaday⠀⇛ With 3d printing continually gaining ground, some hackers might not see the need for traditional injection molding. After all, you can tweak the code or the model and print dozens of different iterations with fairly minimal lead time. Things get trickier when you need to print hundreds or thousands of the same thing and that ten-hour print time adds up quickly. [Actionbox] built a tiny injection molder they dubbed INJEKTO to speed up their manufacturing. The design was optimized to be accessible as it is held together with brackets and cheap aluminum flat stock. The hardest part to source is the heating chamber, as it is a piece of turned aluminum. A PID controller keeps the temperature relatively stable and heats the plastic pellets you can dump in the top. Next, you’ll need an external air compressor to power the dual 2″ pneumatic pistons. The pistons push the plastic out of the spring- loaded extruder nozzle. [Actionbox] is already planning on a version 2 with 4″ pistons that provide significantly more force to extrude larger amounts of plastic as the current version tops out at about 27 grams. o § Science⠀➾ # ⚓ Saving_Martian_Colonists_Using_Table_Salt_And_Rocket Science_|_Hackaday⠀⇛ Imagine for a moment that you are a member of an early Mars colony. You’re stranded, and the only way to get a message home is to launch a radio well above the surface. To make matters worse, you’ve got no rockets! It was this thought experiment that has motivated [Thoisoi2] to experiment with making a rocket motor using only ingredients and methods available to your average Martian colonist. The methods he has chosen can be seen in the video below the break. If you skipped Rocketry 101, a quick refresher might help: Rockets work by burning a fuel in an enclosed chamber and then expelling it at high speed in one direction. To get the fuel to burn more quickly (and therefore adding more oomph to the angry end) a compliment to the fuel called an Oxidizer is added. It serves to create an oxygen rich environment for the fuel to burn in. It’s the same reason a oxy-propane torch burns hotter than propane by itself. o § Hardware⠀➾ # ⚓ NVIDIA_Reportedly_Close_To_Admitting_Defeat_In_Arm Acquisition⠀⇛ According to a report this morning from Bloomberg, NVIDIA is communicating to their partners that they face the real possibility their deal to acquire Arm will not come to pass. # ⚓ Nvidia_Quietly_Prepares_to_Abandon_$40_Billion_Arm_Bid⠀⇛ Nvidia Corp. is quietly preparing to abandon its purchase of Arm Ltd. from SoftBank Group Corp. after making little to no progress in winning approval for the $40 billion chip deal, according to people familiar with the matter. Nvidia has told partners that it doesn’t expect the transaction to close, according to one person, who asked not to be identified because the discussions are private. SoftBank, meanwhile, is stepping up preparations for an Arm initial public offering as an alternative to the Nvidia takeover, another person said. The purchase — poised to become the biggest semiconductor deal in history when it was announced in September 2020 — has drawn a fierce backlash from regulators and the chip industry, including Arm’s own customers. The U.S. Federal Trade Commission sued to stop the transaction in December, arguing that Nvidia would become too powerful if it gained control over Arm’s chip designs. The acquisition also faces resistance in China, where authorities are inclined to block the takeover if it wins approvals elsewhere, according to one person. But they don’t expect it to get that far. # ⚓ Young_Maker_Mixes_Traditional_Japanese_Construction_With Modern_Art_|_Hackaday⠀⇛ We’re Makers. By definition, we make things. Some of us prefer to build from scraps, while others like to make their own IC’s in their garage. [Make With Miles] on the other hand prefers one of the oldest types of making around: woodworking. And in this build, he goes a step further by using a very old Japanese method of woodworking called Kumiko to build a Stratocaster style electric guitar. The results are absolutely stunning as you can see in the video below. Inspired by a challenge put forth by [The Modern Maker Podcast] to build a woodworking project that ties into another hobby that isn’t related to woodworking, [Miles] knocked it out of the park by including several art forms in this one-off Strat. # ⚓ 555_Teardown_Isn’t_Just_A_Good_Time,_It’s_To_Die_For_| Hackaday⠀⇛ It seems only appropriate that hot on the heels of the conclusion of Hackaday’s 555 Timer Contest that [Ken Shirriff] posts a silicon die teardown of an early version of a hacker’s favorite chip, the 555. o § Health/Nutrition/Agriculture⠀➾ # ⚓ Swollen_lymph_nodes_after_Covid_booster⠀⇛ There is a lot that happens in life that puzzles me. For example, the Australian authorities do not recognize “natural immunity” of someone who has already caught Covid-19. Instead, they are insisting everyone has to be vaccinated. There was recently a very high-profile case, a tennis star was issued with a visa to enter Australia, but it was revoked when he arrived at an Australian airport, and he was deported. He had, apparently, cought Covid-19 twice before, but they did not recognise that and made a big fuss about him being unvaccinated. There is a lot that happens, that the authorities are insisting on, that I don’t think is justified, or is not entirely rational. Our State Government for example, insisting that everyone has to have the new SecureWA app on their phone. Ha ha, better stop now. o § Integrity/Availability⠀➾ # § Proprietary⠀➾ # § Security⠀➾ # ⚓ Security_updates_for_Tuesday_[LWN.net]⠀⇛ Security updates have been issued by CentOS (java-11-openjdk), Debian (aide, apr, ipython, openjdk-11, qt4-x11, and strongswan), Fedora (binaryen and rust), Mageia (expat, htmldoc, libreswan, mysql-connector-c++, phpmyadmin, python-celery, python- numpy, and webkit2), openSUSE (kernel and virtualbox), Red Hat (etcd, libreswan, nodejs:14, OpenJDK 11.0.14, OpenJDK 17.0.2, and rpm), Slackware (expat), SUSE (java-1_7_1-ibm, kernel, and zxing-cpp), and Ubuntu (strongswan). # ⚓ Linux_kernel_bug_can_let_hackers_escape Kubernetes_containers [Ed: Kubernetes and containers do not mean Linux kernel, but when a site is determined to boost Microsoft everything will_always_be_blamed_on_“Linux”]⠀⇛ A vulnerability affecting Linux kernel and tracked as CVE-2022-0185 can be used to escape containers in Kubernetes, giving access to resources on the host system. # ⚓ Major_Linux_PolicyKit_security_vulnerability uncovered:_Pwnkit_|_ZDNet [Ed: ZDNet does not know the difference between Linux and systemd]⠀⇛ If it’s not one thing, it’s another. After one real Linux problem — the heap overflow bug in the Linux kernel’s fs/ fs_context.c program — is found and fixed, then a new security problem is discovered. This time security company Qualys has uncovered a truly dangerous memory corruption vulnerability in polkit’s pkexec, CVE-2021-4034. Polkit, formerly known as PolicyKit, is a systemd SUID-root program. It’s installed by default in every major Linux distribution. # § Privacy/Surveillance⠀➾ # ⚓ US_services,_EU_privacy_rules⠀⇛ Our brief history begins at the end of the ’90s when the EU and the US agreed on the International Safe Harbor Privacy Principles. On the 26th July 2000, the European Commission (EC) formalized it with the Commission Decision 2000/520/EC, where it was defined that data could be freely moved from the EU to the US. The assumption was that the data on US soil would have comparable (or better) protection than the same data on EU soil, and therefore the privacy of European citizens was not at risk. On 6th October 2015, the European Court of Justice (ECJ) invalidated this decision on the basis that in the US laws were authorizing public authorities to have access on a generalized basis to the content of electronic communications, and this was deemed to be “compromising the essence of the fundamental right to respect for private life” (the quote is from the ECJ decision). o § Environment⠀➾ # § Energy⠀➾ # ⚓ Would_Nuclear_Winter_Cancel_Out_Global_Warming?⠀⇛ Nuclear war was very much a front-of-mind issue during the fraught political climate of the Cold War era. Since then, atomic sabre rattling has been less frequent, though has never quite disappeared entirely. Outside of the direct annihilation caused by nuclear war, however, is the threat of nuclear winter. The basic concept is simple: in the aftermath of a major nuclear war, the resulting atmospheric effects could lead to a rapid cooling in global temperatures. Some say it couldn’t ever happen, while others – including Futurama – suggest with varying degrees of humor that it could help cancel out the effects of global warming. But what is the truth? [...] The effect would not last forever, either. Following the models, within a decade or two, any cooling effect from lofted soot would likely have passed, while humanity would be left with huge swathes of burned-out areas for its trouble and likely a not-negligible contribution to CO2 levels from the multiple firestorms. Along the way, if the effect was overdone, excess cooling would still cause trouble for agriculture which could lead to widespread starvation. The answer to the question of which catastrophe would win out is: short term, nuclear winter; long term, global warming. Other methods of generating high-altitude aerosols are being explored to these ends, all of which would prove far less destructive and more maintainable than the idea of a nuclear winter. Humanity’s current problems need more complex solutions than simply blowing everything up. It was ever thus! Regardless, it is important to understand the science, in order to know how we may best preserve our lifestyles today, and into the future beyond. o § Finance⠀➾ # ⚓ Average_Tech_Salary_Breaks_Six_Figures,_Some_Workers_Still Feel_Underpaid [Ed: Misleading headline. Not everyone in the world lives in the same country.]⠀⇛ The average salary for a tech worker reached US$104,566 in 2021, yet nearly half still feel they’re underpaid. Forced to digitize operations and move to virtual work because of a worldwide pandemic, as well as address increased security concerns raised by those developments, organizations were hungry for tech talent in 2021 and willing to pay for it, Dice, a technology-focused employment website, noted in its annual tech salary report released last week. According to the survey, technologists in IT management — CEOs, CIOs, CTOs and such — made the highest average salary ($151,983) in 2021, followed by systems architect ($147,901) and cloud architects and engineers ($140, 571). o § Civil Rights/Policing⠀➾ # ⚓ Can_Bahrain_predict_a_protest?_–_Coda_Story⠀⇛ Abuses of technology happen in the dark. We’re turning on the light. Welcome to Authoritarian Tech, Coda Story’s newest newsletter. Each week, we’ll bring you stories from around the world on how people in power are abusing technology — and what it means for all of us. I’m Caitlin Thompson, a reporter at Coda and self-proclaimed surveillance nerd, and I’ll be on this journey with you as the curator/author of this newsletter. Sign up to make sure you get the newsletter each week. It’s only a matter of time before authoritarian governments start using predictive AI to crush protests before they even begin. Bahrain might be ahead of the curve. Data provided to Coda Story by The Markup showed Geolitica, the American predictive policing company formerly called PredPol, used their predictive analytics to show where past protests in Bahrain took place as a proof of concept. It seems to have just been a demo, and it’s not clear who the potential clients were or whether a deal progressed. But it marks a potential pivot to preemptive surveillance of protests. o § Monopolies⠀➾ # § Copyrights⠀➾ # ⚓ Hieroglyphics_of_a_Rope-Dancer:_*The_Book_of_Fate*_ (1822)_–_The_Public_Domain_Review⠀⇛ An oracular hoax by William Henry Ireland, aka Herman Kirchenhoffer, that profited from the 19th-century mania for Egyptology and Napoleonic relics. ╘══════════════════════════════════════════════════════════════════════════════╛ ¶ Lines in total: 6925 ➮ Generation completed at 02:45, i.e. 63 seconds to (re)generate ⟲