𝕿𝖊𝖈𝖍𝖗𝖎𝖌𝖍𝖙𝖘 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]
⢀⡄⠀⢂⣀⠀⠀⠀⢀⡀⠀⠀⠀⡞⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⢀⠇⢀⠀⠀⠀⡈⣀⠀⣀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⣇⠀⣀⢀⡁⣀⡀⠀⠀⢀⡁⡀
⣸⠀⡟⢸⠃⢸⢰⡁⣋⣐⠛⠰⠹⠁⠀⠀⠰⡘⠤⢓⡛⡇⡏⠀⡟⡝⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣃⢃⠏⢡⡃⢹⠆⣼⢀⠏⠇⠎⡎⠀⠀⢸⠁⠼⠸⠸⠀⠰⠁⠎⠀⠀⠀⣸⠀⠇
⠈⠀⠁⠈⠀⠀⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀
⠀⠀⠀⠀⠀⢀⠄⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠈⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⡏⠐⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠐⠀⠀⠁⡜
⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣈⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡄⠀⠀⢀⢤⢠⡄⡄⡤⠠⠀⢰⠓⢂⢤⠀⡤⠤⣤⣤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡅
⠸⠰⡁⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠋⠇⠘⠘⠀⢣⠆⠀⠘⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⢠
⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠃⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡠⢌⠁⢀⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠁⠀⠀⠀⠀⠀⠀
⠀⠀⡄⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡆⣄⢠⣤⡄⢶⣃⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢂⡇⠘⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀
⣠⠸⠁⣴⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠁⡇⣿⢸⣼⡇⡞⠙⡆⢀⡆⡄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⢀⠆⠦⠒⠀⡾⠲⢸⢱⠭⠀⢸⢁⡔⠂⠀⡰⡽⢰⠃⠏⢰⠹⢸⠚⠀⢰⠓
⠛⠓⠉⠈⠸⠈⠁⠂⠐⠀⠈⠓⠀⠋⠀⠐⠂⠊⠐⠐⠂⠈⠋⠉⠁⠀⢹⣼⠤⠹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠉⠁⠀⠉⠀⢁⢠⠃⠁⠁⠈⠀⠀⠈⠀⠈⠀⠀⠈⠉⠁⠀⠁⠈⠁⠈⠀⠀⠀⠁
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⣶⡆⣿⢸⡇⣷⢰⣰⣦⡄⡖⣦⢺⠃⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⢻⣇⢧⢟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⠀⢀⡀⢰⢀⠀⠀⡀⡀⢀⣀⢀⠀⡀⡀⢀
⢶⢶⡂⣊⢃⡘⣚⣘⢀⣀⡀⢀⣋⠎⡎⠸⣠⢑⣲⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⠉⠉⢁⣹⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⠼⠰⠄⢇⠀⠏⠏⠀⢨⠏⠇⡜⠀⠆⠠⠁⠇⠇
⠈⠈⠁⢹⢸⡇⣿⠼⢸⡇⡓⠈⣿⢹⣶⡯⠧⢹⢱⡏⣿⣿⢖⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀⣼⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⠚⠃⠛⠀⠘⠳⠃⠀⠛⠚⠋⠓⢃⣸⣨⣷⣯⣻⣸⣿⣞⣾⣿⠗⠀⠀⠀⠀⠀⠀⠀⠘⣿⣧⠘⣀⠇⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡄⢠⠒⠀⠀⢠⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆
⡀⣀⢀⣀⡀⣀⠀⢀⣀⠀⣔⡀⢀⡀⠀⣆⠠⣟⣽⢻⡟⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡏⠀⣿⠀⢹⣿⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⠂⡄⡄⡸⢠⠄⠄⠀⣺⢂⠤⠀⠀⡄⡄⢸⠸⠀
⠻⠹⢼⡇⣿⣿⠁⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠃⢠⣿⠀⢸⡿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠄⠇⠐⠃⠘⡞⠀⠀⠃⠈⠒⠀⠀⠃⠀⠇⠇⠀
⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠭⡅⣭⡭⠬⠍⢱⣿⣭⣬⣥⣭⡈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢠⢸⣿⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀
⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣬⣥⣤⣤⣼⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢸⣿⠆⣼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⣿⣿⡿⣿⢇⣿⢿⣿⢽⣽⣿⣿⣿⣿⢿⣛⡀⡀⡀⣀⡀⣀⣆⣀⠀⢀⣀⢀⣀⢀⣀⢀⣠⢼⣿⣂⣹⣁⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢹⡠⣸⠱⢰⠒⢸⢲⠀⠖⠖⡆⡆⠆
⣿⣿⣿⣷⣾⣾⣿⣿⣯⣦⣿⣽⣿⣯⣿⣿⣿⣿⠾⠛⠖⠛⠗⠛⠑⠛⠖⠓⠟⠀⢸⡾⠙⠞⠙⠞⠻⠚⢾⣿⣳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀
⠉⠿⠿⣿⠯⢿⠍⠹⠿⠿⠯⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡀⠀⠀⡀⠀⠀⠀⢀⠀⠀⠀⠀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣴⣷⣿⣿⣿⣿⣿⣷⣶⣄⠀⠀⠀⠀⠇⢀⠀⠀⠀⡈⠀⠀⢀⠁⡀⡀⠀⠀⠀⠀⠀⡄⢀⢇⠀⣀⢀⡀⣀⡀⠀⠀⢀⠀⡀
⣸⠀⡝⢸⠁⢘⢠⠁⣋⣐⠁⠰⢹⠀⠀⠀⠰⠘⠠⢓⡓⠃⡎⠀⡝⡜⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣃⢃⠏⢡⠁⢡⠀⢜⢀⠇⡇⠮⡆⠀⠀⠰⠁⠜⠸⠸⠀⠰⠅⠎⠀⠀⠀⢸⠀⠅
⠈⠀⠀⠈⠀⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀
⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢠⠀⠀⠀⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⠐⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠐⠀⠀⠁⡌
⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⠀⡀⢀⢰⠃⣈⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠄⠀⠀⢀⢤⠀⡄⠄⡤⠠⠀⢰⠓⢂⠤⠀⡤⠤⣤⢤⠀⠀⠀⡠⠄⢀⠃⠀⠀⠀⠸⡄
⠸⠰⠁⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠂⠆⠘⠘⠀⢣⠆⠀⠘⠀⠈⠂⠐⠁⠘⠘⠘⠀⠀⠀⠑⠀⠘⠀⠀⠀⠀⢄⠠
⠀⠀⠀⠈⠉⠁⠙⠉⠈⠁⠁⠉⠈⠊⠈⠋⠁⠘⠋⠀⠈⠋⠁⠉⠉⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠠⢈⠁⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀
⠀⠀⡄⠀⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⡄⢲⣁⠆⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠂⢂⠇⠘⠀⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡌⢀⠀⠀⠀⠀⠀⠀⠀
⣠⠸⠁⣔⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠀⡇⣿⢸⣼⡇⡎⠙⡆⠀⠆⡄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠆⠆⠀⠄⡸⠀⠆⠦⠒⠀⡾⠲⢸⢡⠭⠀⢸⠁⡔⠂⠀⡰⡘⢠⠃⠇⢰⠩⢐⠊⠀⢐⠁
⠑⠒⠉⠈⠰⠈⠁⠂⠐⠀⠈⠓⠀⠋⠀⠐⠂⠂⠐⠐⠂⠈⠋⠉⠀⠀⢘⡬⠄⠹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠁⠀⠁⠀⠁⢠⠁⠁⠁⠈⠀⠀⠈⠀⠈⠀⠀⠀⠁⠀⠀⠁⠈⠀⠈⠀⠀⠀⠁
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⢶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠁⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⢷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⢀⣠⣷⣦⣀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⠀⢀⡀⢰⠀⠀⠀⡀⡀⢀⣀⢀⠀⡀⡀⢀
⢖⢲⡂⣊⢃⡘⣘⣘⢀⣀⡀⠀⣋⠊⡎⠸⢠⢀⡂⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⠟⠀⠀⠀⠀⣿⣿⡿⠉⠉⢁⣹⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠇⠸⠰⠀⠇⠀⠏⠇⠀⢨⠃⠇⠜⠀⠆⠠⠁⠅⠇
⠀⠈⠀⢹⢸⡇⣿⠼⢸⡇⡃⠀⣿⢹⣶⡯⠇⢹⢡⡏⣷⢸⠂⣾⠷⢻⣿⣿⣿⡟⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀⣼⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⠚⠃⠛⠀⠘⠓⠃⠀⠛⠚⠉⠓⠃⠘⠈⠓⠋⠙⠀⢛⣞⣾⣿⣿⡿⠀⠀⠀⠀⠀⠀⠘⣿⣧⠘⢀⠀⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠀⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆
⡀⡀⢀⣀⡀⣀⠀⢀⣀⠀⣐⡀⢀⡀⠀⣄⠀⣃⣠⢠⡄⣀⣀⣿⣿⣿⣿⣿⣇⣴⣿⡷⠀⠀⠀⠀⣿⡏⠀⢸⠀⢹⣿⠀⠀⠀⠿⠿⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡖⠂⡄⡄⡘⢠⠀⠄⠀⡸⠀⠤⠀⠀⡄⡄⠸⠰⠀
⠻⠹⢸⡇⣿⣿⠁⣿⣿⢸⡇⡁⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⢸⠁⠀⣿⠀⢸⡿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠄⠃⠐⠃⠘⡜⠀⠀⠃⠀⠒⠀⠀⠃⠀⠇⠇⠀
⠀⠀⠘⠋⠁⠉⠀⠉⠉⠈⠉⡅⣭⡭⠨⠉⠁⠉⠉⠈⣥⣿⣬⣴⣓⣫⣿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠈⢠⢸⣿⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀
⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣥⣤⣤⣤⣤⠀⠀⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠄⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⡿⣿⢇⣿⢿⣿⢽⣼⣿⣿⣿⣴⠄⣿⣿⡻⡟⣁⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣠⢼⣿⣀⣸⣁⡀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢹⡀⢰⠰⢰⠒⢰⢰⠀⠖⠖⠆⡆⠄
⣿⣿⣿⣷⣾⣾⣿⣿⣯⣦⣿⣽⣿⣮⣿⣿⣿⣿⠞⠛⠷⣿⠟⠛⠑⠛⠖⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⠚⢾⣿⢳⣟⠳⠋⠻⠓⠿⠚⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠋⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀
⠉⠟⠿⣿⠏⢿⠍⠹⠿⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡀⠀⠀⡀⠀⠀⠀⢀⡀⠀⠀⠀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣴⣷⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠇⢀⠀⠀⠀⡈⠀⠀⢀⠁⡀⡀⠀⠀⠀⠀⠀⡄⢀⢇⠀⣀⠀⡀⣀⡀⠀⠀⢀⡀⡀
⢸⠀⡝⢸⠁⢘⢠⠁⣊⣐⠁⠰⠹⠀⠀⠀⠰⠘⠤⢓⡓⡃⡏⠀⡝⡝⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣃⢃⠏⢡⠃⢩⠂⢜⢀⠏⡇⠎⡆⠀⠀⠰⠁⠜⠸⠸⠀⠰⠁⠎⠀⠀⠀⢸⠀⠅
⠈⠀⠀⠈⠀⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢠⠃⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀
⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢄⠀⠀⠀⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⠂⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠐⠀⠀⠁⡌
⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣈⠀⡀⣀⢠⠄⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠄⠀⠀⢀⢤⠀⡄⠀⡤⠀⠀⢰⠓⢂⠤⠀⡤⠤⣄⢤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡄
⠸⠰⠁⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠂⠆⠘⠘⠀⢣⠂⠀⠘⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠀⠸⠀⠀⠀⠀⢄⠠
⠀⠀⠀⠘⠉⠁⠙⠙⠈⠁⠃⠉⠈⠊⠈⠃⠃⠘⠋⠀⠈⠋⠁⠉⠉⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡠⢌⠁⠀⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀
⠀⠀⡄⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡆⣄⢠⣤⡄⢲⣁⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢂⠇⠘⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡌⢀⠀⠀⠀⠀⠀⠀⠀
⣠⠸⠀⣴⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠀⡇⣿⢸⣼⡇⡎⠙⡆⠀⠆⡄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⠀⠆⢦⠒⠀⡾⠲⢸⢱⠈⠀⢸⠁⡔⠂⠀⡰⡸⢠⠃⠇⢰⠹⢐⠂⠀⢰⠀
⠑⠓⠉⠈⠐⠈⠁⠂⠐⠀⠈⠓⠀⠉⠀⠐⠂⠂⠐⠐⠂⠈⠋⠉⠀⠀⢙⣬⠤⠹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠈⠁⠀⠁⠀⢁⢀⠁⠁⠁⠈⠀⠀⠈⠀⠈⠀⠀⠀⠁⠀⠀⠁⠈⠁⠀⠀⠀⠀⠀
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⢶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠁⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⢷⠆⣻⣺⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⠀⢀⡀⢰⠀⠀⠀⡀⡀⢀⡀⢀⠀⡀⡀⢀
⢖⢒⠂⣊⢃⡘⣘⣘⢀⣀⡀⠀⣃⠊⡎⠸⢠⢀⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣦⠀⠀⣿⣿⡿⠉⠉⠁⣬⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⠨⠰⠀⠇⠀⠏⠇⠀⢨⠃⠇⠜⠀⠆⠠⠁⠇⠇
⠈⠈⠀⢹⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢡⡏⣷⢸⠆⣾⠵⠀⠀⠀⠀⣠⣾⣿⣿⡿⠀⢸⣿⡇⠀⠀⣜⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⠚⠃⠛⠀⠘⠓⠃⠀⠛⠚⠉⠓⠃⠘⠈⠓⠋⠚⠀⠛⠚⠀⠀⢀⣾⣿⣿⣿⡟⠀⠀⠘⣿⣧⠘⣀⠁⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠀⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆
⡀⡀⢀⣀⡀⣀⠀⢀⣀⠀⣐⡀⢀⡀⠀⣄⠀⣃⣠⢠⡄⣀⣀⠀⡀⡀⢠⣿⣿⣿⣿⠏⠀⠀⠀⠀⢿⡟⠀⣿⠀⢸⣿⠀⠀⠀⠿⠿⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡗⠂⡄⡄⡘⢠⠀⠄⠀⢺⠂⠤⠀⠀⡄⡄⢸⠸⠀
⠹⠹⢸⡇⣿⣿⠁⣿⣿⢸⡇⡁⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⣧⣿⣿⣿⣿⣿⣀⣶⣶⠀⠀⢸⠇⢀⣿⠀⢸⡿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠄⠃⠐⠃⠘⡞⠀⠀⠃⠀⠒⠀⠀⠃⠀⠇⠇⠀
⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠭⡥⣭⡭⠬⠉⠁⠉⠉⠈⠁⠉⠈⣐⣓⣫⣿⣿⣿⣿⣿⡿⠋⠁⠀⠀⠀⢠⢸⣿⠀⢨⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠈⢸⣿⠁⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⡿⣿⢇⣿⢿⣿⢽⣽⣿⣿⣿⣴⠄⣀⡀⣿⡿⣿⣿⣗⣆⣀⠀⢀⣀⢀⣀⢀⣀⢀⣠⢼⣿⣀⣸⣁⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣠⣀⠀⠀⠀⢢⢹⡀⠰⠰⢰⠒⢰⢲⠀⠖⠖⠆⡆⠆
⣿⣿⣿⣷⣾⣾⣿⣿⣯⣦⣿⣽⣿⣮⣿⣿⣿⣿⠞⠛⠖⠛⣿⡻⠹⠛⠖⠓⠝⠀⢸⡾⠘⠞⠙⠞⠻⠚⢾⣯⡳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠋⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀
⠉⠟⠿⣿⠯⢿⠍⠹⠿⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠹⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣾⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡀⠀⠀⡀⠀⠀⠀⢀⠀⠀⠀⠀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣴⣷⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠇⢀⠀⠀⠀⡈⠀⠀⢀⠃⡀⡀⠀⠀⠀⠀⠀⡄⢀⢇⠀⣀⠀⡀⣀⡀⠀⠀⢀⠀⡀
⣸⠀⡜⢸⠁⢘⢠⠁⣊⣐⠉⠰⠹⠀⠀⠀⠰⠘⠤⢓⡓⡃⡎⠀⡝⡜⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣃⢃⠏⢠⠃⢡⠀⣜⢀⠇⡇⠎⡌⠀⠀⢰⠁⠜⠸⠸⠈⠰⠁⠎⠀⠀⠀⣸⠀⠅
⠈⠀⠀⠀⠀⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀
⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠀⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡟⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠐⠀⠀⠁⡌
⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⠀⡀⢀⢰⠃⣈⠀⡀⣀⢠⠄⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⢀⢠⠀⡄⠄⡤⠀⠀⢰⠓⢂⠤⠀⡤⠠⣄⢤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡄
⠸⠰⠁⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠃⠇⠘⠘⠀⢣⠂⠀⠘⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠀⠸⠀⠀⠀⠀⢄⠠
⠀⠀⠀⠈⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠃⠁⠘⠋⠀⠈⠋⠁⠉⠉⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡤⢌⠁⠀⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀
⠀⠀⡄⠀⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡆⣄⢠⣤⡄⢲⣁⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠂⢂⠇⠘⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀
⣠⠸⠁⣔⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠀⡇⣿⢸⣼⡇⡎⠙⡆⠀⠆⡄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠆⠆⠀⠄⣸⠀⡆⢦⠒⠀⡾⠲⢸⢱⠨⠀⢸⠁⡔⠂⠀⡰⡸⢠⠃⠇⢰⠹⢐⠂⠀⢐⠁
⠑⠒⠉⠈⠐⠈⠁⠂⠐⠀⠈⠓⠀⠉⠀⠐⠂⠊⠐⠐⠂⠈⠋⠉⠀⠀⢘⣌⠤⠹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠁⠀⠁⠀⢁⢠⠁⠁⠁⠈⠀⠀⠈⠀⠈⠀⠀⠀⠁⠀⠀⠁⠈⠁⠈⠀⠀⠀⠁
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⢶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠁⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⢷⠆⣻⣺⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⠀⢀⡀⢰⠀⠀⠀⡀⡀⢀⡀⢀⠀⡀⡀⢀
⠖⢒⡂⣊⢃⡘⣘⣘⢀⣀⡀⠀⣃⠊⡎⠸⢀⢀⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⣿⣿⡿⠉⠉⠁⣩⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⠸⠰⠀⠇⠀⠏⠇⠀⢨⠃⠇⠞⠀⠆⠠⠁⠇⠇
⠈⠈⠀⢹⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⢺⠆⣾⠵⠀⠀⠀⠀⠀⢀⣴⣿⣧⡄⢹⣿⡇⠀⠀⣜⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⠚⠃⠛⠀⠘⠓⠃⠀⠛⠚⠉⠓⠃⠘⠈⠓⠋⠘⠀⠛⠚⠀⠀⠀⠀⣰⣿⣿⣿⡟⠁⠸⣿⣧⠘⣀⠁⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠀⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆
⡀⣀⢀⣀⡀⣀⠀⢀⣀⠀⣀⡀⢀⡀⠀⣄⢀⣃⣠⢠⡄⣀⣀⠀⡀⡀⠀⢠⣾⣿⣿⣿⠏⠀⠀⠀⣿⡟⠀⣿⠀⢸⣿⠀⠀⠀⠿⠿⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠂⡄⡄⡸⢠⠀⠄⠀⢸⠂⠤⠀⠀⡄⡄⢸⠸⠀
⠹⠹⢸⡇⣿⣿⠁⣿⣿⢸⡇⡁⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⢠⣾⣿⣿⣿⡏⢠⣤⡀⠀⢸⠇⠀⣿⠀⢸⡿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠄⠃⠐⠃⠘⡞⠀⠀⠃⠀⠂⠀⠀⠃⠀⠇⠇⠀
⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠭⡥⣭⡭⠬⠉⠁⠉⠉⠈⠁⠉⠈⠐⠓⣣⣿⣿⣿⣿⣿⣷⡿⠟⠁⠀⠈⢠⢸⣿⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⢸⣿⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⡿⣿⢇⣿⢿⣿⢽⣼⣿⣿⣿⣴⠄⣀⡀⣸⣿⣿⣿⣏⣏⣋⠉⢀⣀⢀⣀⢀⣀⢀⣠⢼⣿⣀⣸⣁⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢹⡀⡰⠰⢰⠒⢰⢲⠀⠆⠖⠆⡆⠆
⣿⣿⣿⣷⣾⣾⣿⣿⣯⣦⣿⣽⣿⣯⣿⣿⣿⣿⠞⠛⠶⠛⢿⣿⠿⠛⠟⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⠚⢾⣯⠳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠋⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀
⠉⠟⠿⣿⠏⢿⠍⠹⠿⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⢸⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣼⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡀⠀⠂⡀⠀⠀⠀⢀⡀⠀⠀⠀⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣶⣷⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⠇⢀⠀⠀⠀⡈⠀⠀⢀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⢇⠀⣀⢀⡀⣀⡀⠀⠀⢀⡀⡀
⡸⠀⡝⢸⠁⢸⢠⠁⣊⣐⠃⠰⢹⠁⠀⠀⠰⠘⠤⢓⡗⡃⡏⠀⡟⡜⢰⡹⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣃⢃⠏⢡⠃⢹⠆⣼⢀⠏⡇⠎⡆⠀⠀⢰⠁⠜⠸⠸⠀⠰⠁⠎⠀⠀⠀⢸⠀⠅
⠈⠀⠁⠈⠀⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠃⠀⠀
⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢙⢄⡀⠀⠁⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⡏⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠐⠀⠀⠁⡜
⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣈⠀⡀⣀⢠⠄⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⢀⢤⠠⡄⠄⡤⠠⠀⢰⠓⢂⠤⠀⡤⠠⣤⢤⠀⠀⠀⡠⠄⢀⠃⠀⠀⠀⠸⡄
⠸⠰⠁⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠋⠇⠘⠘⠀⢣⠆⠀⠘⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⠠
⠀⠀⠀⠘⠉⠁⠙⠉⠈⠁⠃⠉⠈⠊⠈⠋⠁⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡠⢌⠁⢀⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀
⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡆⣄⢠⣤⡄⢲⣁⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢂⡇⠘⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀
⣠⠸⠀⣴⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠁⡇⣿⢸⣼⡇⡎⠙⣆⠀⠆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⢀⠆⠦⠒⠀⡾⠲⢸⢱⠭⠀⢸⠁⡔⠂⠀⡰⡸⢠⠃⠇⢰⠹⢰⠚⠀⢰⠓
⠓⠓⠉⠊⠰⠈⠁⠂⠐⠀⠈⠓⠀⠋⠀⠐⠂⠊⠐⠐⠂⠈⠋⠉⠀⠀⢙⡜⠠⠹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠈⠁⠀⠁⠀⠁⢠⠁⠁⠁⠈⠀⠀⠈⠀⠈⠀⠀⠀⠁⠀⠀⠁⠈⠁⠈⠀⠀⠀⠁
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⢖⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠁⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⢷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⠀⢀⡀⢰⠀⠀⠀⡀⡀⢀⡀⢀⠀⡀⡀⢀
⢖⢲⠂⣊⢃⡘⣘⣘⢀⣀⡀⠀⣋⠊⡏⠸⢠⢁⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⡟⠉⠉⢁⣽⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⠸⠰⠄⠇⠀⠏⠏⠀⢨⠇⠇⠞⠀⠎⠠⠁⠇⠇
⠈⠈⠀⢹⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠂⣾⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡇⠀⠀⢸⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⠚⠃⠛⠀⠘⠳⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⢹⣿⣧⠘⣀⠸⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡄⢠⠐⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆
⡀⣀⢀⣀⡀⣀⠀⢀⣀⠀⣔⡀⢀⡀⠀⣔⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⣀⣠⣴⣾⣿⣿⡀⠀⠀⠘⣿⡇⠀⣿⠀⣿⣿⠀⠀⠀⠿⠿⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡿⠂⡄⡄⡼⢠⠄⠄⠀⣺⠂⠤⠀⠀⡄⡄⢰⠸⠀
⠹⠹⢸⡇⣿⣿⠁⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⣿⣿⣿⣿⣿⠿⠋⠀⠀⠀⠀⣿⠀⢠⣿⠀⣸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠄⠃⠐⠃⠘⡞⠀⠀⠃⠀⠒⠀⠀⠃⠀⠆⠇⠀
⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠩⡥⣭⡍⠈⠉⠁⠉⠉⠈⠁⠉⢈⣴⣓⣫⣿⣿⠿⠋⠀⠀⠀⠀⠀⠀⠸⢠⢸⣿⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀
⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣬⣤⣥⣤⣤⣤⣤⢀⣀⣠⣶⣿⣿⣿⣿⣿⣿⣷⣦⣤⡄⠀⠀⠀⠀⠀⡇⢸⣿⠀⣻⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⣿⣿⡦⢷⢵⣧⣽⣴⣿⣿⣿⣿⢿⣿⡿⡿⡿⣿⣿⣟⣟⣟⠛⢋⣀⢀⣀⢀⣀⢀⣣⢼⣿⣀⣸⣁⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢹⡀⡰⠱⢰⠒⢰⢲⠀⠖⠖⡆⡆⠄
⣿⣿⣿⣷⣾⣾⣿⣿⣽⣶⣿⣽⣯⣾⣿⣿⣿⣿⣾⣿⣷⣟⡟⠻⠙⠛⠟⠓⠟⠀⢸⡾⠙⠞⠙⠞⠻⠚⢾⣿⠳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠋⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀
⠉⠟⠿⣿⠯⢿⠍⠹⠿⠟⠏⠉⠉⠉⠉⠉⠉⠙⣿⡟⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣼⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡄⠰⢂⣄⠀⠀⠀⢠⡀⠀⠀⠀⡎⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣾⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⢀⡇⢀⠀⠀⠀⡊⣀⠀⣀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⢇⠀⣀⢀⡁⣀⡀⠀⠀⢀⡁⡀
⣸⠀⣟⢸⢃⢸⣰⡃⣋⣐⠛⠲⢹⠁⠀⠀⠸⡜⠤⢓⡿⡗⣏⠄⡟⡟⢴⣹⠀⠀⢰⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠤⣓⢃⠏⢱⡃⢹⠆⣼⢀⠏⡇⠮⡎⠀⠀⢸⡁⠜⠸⠸⠈⠰⠅⠎⠀⠀⠀⣸⠀⠇
⠈⠀⠉⠈⠁⠈⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢠⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀
⠀⠀⠀⠀⠀⢀⠄⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠉⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠋⡟⠒⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠐⠀⠀⢓⡜
⣀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣜⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡄⠀⠀⢠⢤⢠⣤⡄⣤⢠⠀⢰⠓⢂⢤⠠⡤⠤⣤⣤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡅
⠸⠰⡅⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡯⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠻⠇⠘⠘⠂⢣⠇⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⡸⠀⠀⠀⠀⢄⠤
⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⢙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⣴⢮⠁⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡤⠁⠀⠀⠀⠀⠀⠀
⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡖⣄⢠⣤⡔⢷⣋⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢃⣇⡸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀
⣠⢸⠁⣴⠀⣿⣬⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠃⡇⣿⢸⣼⡇⡎⠹⣆⢀⡆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⢀⡦⢦⠒⠀⡾⠲⢸⢱⠯⠀⢸⢃⡖⠂⠀⡰⡼⢰⠃⡏⢰⠽⢰⠚⠀⢸⠓
⠓⠛⠉⠚⠸⠈⠁⠚⠐⠂⠈⠓⠐⠋⠀⠐⠊⠊⠐⠐⠂⠈⠋⠙⠁⠀⢙⣼⠧⠹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠉⠁⠀⠉⠀⠉⢠⠋⠁⠁⠈⠀⠀⠈⠀⠈⠁⠀⠈⠉⠁⠀⠉⠈⠁⠈⠀⠀⠀⠁
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢸⣁⠀⠀⡀⡀⣀⣀⣈⠀⡀⡀⢀
⢷⢶⡇⣊⢃⡚⣚⣘⢀⣀⡀⢀⣋⠾⣿⣿⣿⢗⣲⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡟⠉⠉⢉⣽⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⢼⢰⠅⢇⠄⠏⠏⠀⢸⠇⠇⡾⠀⡮⠰⠡⠇⠇
⠈⠈⠁⣿⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠧⢹⢱⡏⣷⣾⠆⣾⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡇⠀⠀⣸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⠞⠃⠛⠀⠘⠳⠃⠉⣛⣺⣿⣳⣫⣸⣨⣳⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣧⠘⣀⠘⣿⣿⡇⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠒⠂⠀⢠⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠆
⡀⣀⣀⣀⡀⣀⠀⢀⣀⠠⣜⣿⢿⡿⡿⣿⣿⣿⣭⢩⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⣿⠀⣿⣿⠃⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠆⡄⡄⡼⢠⠄⠄⠀⣺⢂⠤⠀⠀⡄⡄⢸⠸⠀
⠻⠹⢸⡇⣿⣿⠃⣿⣿⢸⡇⡃⣿⣛⢸⡟⣋⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠃⢠⣿⠀⢸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠆⠇⠐⠃⠘⡾⠀⠀⠗⠉⠓⠀⠀⠃⠀⠇⠇⠀
⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠭⡵⣭⡽⠿⢿⣿⣿⣽⣬⣥⡍⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⢰⢸⣿⠀⢸⣿⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠸⠈⠀⠀
⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣭⣶⣷⣶⣾⣿⣿⠛⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢸⣿⡄⣸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⣿⣿⣿⡿⣼⣿⣿⣯⣧⣿⣿⣿⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣫⢼⣿⣃⣹⣇⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢻⡰⣸⠵⢰⠒⢸⢲⠀⠖⢖⡆⡆⠆
⣿⣿⣿⣷⣾⣾⣿⣿⣽⣽⣯⣿⣿⣽⣿⣿⣿⣿⠞⠛⠶⠛⠟⠻⠑⠛⠖⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⠞⢾⣿⣳⣟⡳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠃⠆⠀⠀⠠⠘⠁⠈⠁⠉⠀⠁⠈⠈⠈⠀⠁⠉⠀
⠉⠿⠿⣿⠯⢿⠍⠹⠩⠟⠏⠙⠋⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣷⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡄⠐⢂⡄⠀⠀⠀⢠⡀⠀⠀⠀⡎⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣾⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⢀⠇⢀⠀⠀⠀⡈⡀⠀⣀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⢇⠀⣀⢀⡀⣀⡀⠀⠀⢀⡀⡀
⣸⠀⡟⢸⠃⢸⣰⡃⣋⣐⠫⠰⢹⠁⠀⠀⠰⡜⠤⢓⡛⡃⡏⠇⡟⡟⢴⡹⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣓⢃⠏⢡⡃⢹⠆⣼⢀⠏⡇⠮⡎⠀⠀⢸⡁⠜⠸⠸⠈⠰⠅⠎⠀⠀⠀⣸⠀⠇
⠈⠀⠁⠈⠁⠈⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢠⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡸⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀
⠀⠀⠀⠀⠀⢀⠄⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢄⡀⠀⠁⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⡏⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠐⠀⠀⠁⡜
⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣘⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡄⠀⠀⢀⢤⢠⣄⡄⣤⠠⠀⢸⠓⢂⠤⠀⡤⠠⣤⢤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡅
⠸⠰⡁⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠋⠇⠘⠘⠂⢣⠆⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⠠
⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⡀⡴⢎⠁⢄⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀
⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⡄⢶⣃⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢂⣇⠸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀
⣠⠸⠁⣴⠀⣿⣬⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠁⡇⣿⢸⣼⡇⡞⠹⡆⠀⡆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⢀⡆⢦⠒⠀⡾⠲⢸⢱⠭⠀⢸⠃⡔⠂⠀⡰⡙⢠⠃⡏⢰⠽⢐⠚⠀⢰⠓
⠓⠓⠙⠚⠐⠈⠁⠊⠐⠂⠈⠓⠀⠋⠀⠐⠂⠊⠐⠐⠂⠈⠋⠙⠀⠀⢘⣼⠧⣹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠉⠁⠀⠁⠀⢉⢠⠃⠁⠁⠈⠀⠀⠈⠁⠈⠁⠀⠀⠉⠁⠀⠁⠈⠁⠈⠀⠀⠀⠁
⠀⠀⣶⡄⣿⢠⣶⡄⣶⢴⢠⢶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠂⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⡆⣿⣷⠿⣸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢰⣁⠀⠀⡀⡀⢀⡀⣀⠀⡀⡀⢀
⢿⣿⣿⣿⢃⣿⣟⣘⢀⣀⡀⠀⣋⠎⡟⠸⢡⢁⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠉⠉⢡⣼⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠇⢸⢰⠄⢇⠄⠏⠏⠀⢨⠇⠇⡞⠀⡮⠰⠡⠇⠇
⡘⣿⣿⣿⢸⣿⣿⠼⢸⡇⡓⠈⣿⢹⣶⡯⠇⢹⢡⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⡏⠀⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⣿⣾⣿⣿⣄⣸⣷⡫⠃⠛⠚⠋⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣧⠘⣀⠄⣿⣿⡇⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠒⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆
⣿⣿⣿⣿⡿⣿⠿⣿⣿⡏⣔⣀⢀⡀⠀⣆⠀⣀⣠⢠⡄⣀⣀⠀⡀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡏⠀⣿⠀⢸⣿⡇⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡿⠂⡄⡄⡼⢠⠄⡄⠀⣺⢂⠤⠀⠀⡄⡄⢰⠸⠀
⢻⣿⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⠇⢀⣿⠀⢸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠄⠇⠐⠃⠘⡾⠀⠀⠃⠁⠒⠀⠀⠃⠀⠇⠇⠀
⠀⠹⣟⣫⣿⣽⣼⣿⠉⠨⠭⡥⣭⡭⠨⠉⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⢰⢸⣿⡇⢨⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠰⠀⠀⠀
⣤⣼⣿⣿⣿⣿⣿⣯⣤⣤⣤⣬⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣾⢸⣿⡇⢸⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⡿⣸⣿⣿⡯⣯⣿⣿⣿⣿⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣫⢼⣿⣇⣸⣁⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢹⡐⡰⠵⢰⠒⢸⢲⠀⠖⢖⡆⡆⠆
⣿⣿⣿⣷⣾⣼⣿⣵⣾⣯⣿⣷⣿⣿⣿⣿⣿⣿⠞⠛⠖⠛⠗⠻⠑⠛⠞⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⠚⢾⣿⡳⣟⡳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠋⠃⠆⠀⠀⠠⠘⠁⠈⠁⠉⠀⠁⠈⠈⠈⠀⠁⠁⠀
⠉⠿⠿⣿⠉⠻⠍⠩⠹⠟⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡧⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡀⠐⢂⡄⠀⠀⠀⢀⡀⠀⠀⠀⡎⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣴⣷⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡇⢀⠀⠀⠀⡈⡀⠀⣀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⢇⠀⣀⢀⡀⣀⡀⠀⠀⢀⡀⡀
⣸⠀⡟⢸⠃⢸⣠⡁⣛⣐⠋⠰⢹⠁⠀⠀⠰⠘⠤⢓⡻⡃⡏⠀⡟⡝⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣸⠠⣃⢃⠏⢡⡃⢹⠆⣼⢀⠏⡇⠮⡎⠀⠀⢸⡁⠼⠸⠸⡈⠰⠅⠎⠀⠀⠀⣸⠀⠇
⠈⠀⠁⠈⠁⠀⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀
⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢄⡀⠀⠁⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠊⡟⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠐⠀⠀⢁⡜
⢀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣈⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡄⠀⠀⢀⢤⢠⣄⡄⡤⢠⠀⢰⠓⢂⠤⠀⡤⠤⣤⣤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡄
⠸⠰⡅⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠋⠇⠘⠘⠀⢣⠇⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⠠
⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠉⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡴⢎⠁⢀⠌⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀
⠀⠀⡔⠂⠀⣠⣄⢰⣤⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡖⣄⢠⣤⡄⢶⣃⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢂⣇⡸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀
⣠⢸⠁⣴⠀⣿⣨⢸⢸⡇⣿⣻⢸⣇⡅⣿⣧⢸⠀⡇⣿⢸⣼⡇⡎⠹⡆⠀⡆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⢀⡆⢦⠒⠀⡾⠲⢸⢱⠽⠀⢸⠁⡔⠂⠀⡰⡹⢠⠃⡏⢰⠽⢰⠚⠀⢸⠃
⠓⠓⠙⠊⠰⠈⠁⠂⠐⠂⠈⠓⠀⠋⠀⠐⠂⠂⠐⠐⠂⠈⠋⠉⠁⠀⢙⣼⠧⣹⠁⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠉⠁⠀⠉⠀⢉⢠⠃⠁⠁⠈⠀⠀⠈⠀⠈⠀⠀⠀⠉⠀⠀⠁⠈⠁⠈⠀⠀⠀⠁
⠀⠀⢠⣄⣿⢠⣶⡄⣶⢰⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠂⠁⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢠⣶⠘⣿⡿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢰⠀⠀⠀⡀⡀⢀⡀⣐⠀⡀⡀⢀
⠞⣿⣇⣻⢟⡸⣿⣘⢀⣀⡀⠀⣋⠎⡟⠸⢡⢁⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠉⠉⢡⣽⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⠸⢰⠄⢇⠀⠏⠏⠀⢨⠇⠇⡜⠀⡎⠰⠡⠇⠇
⡀⢻⣿⣿⢸⣯⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡏⠀⠀⢹⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣾⣿⣿⣾⣿⣿⣇⠘⣳⣧⣦⠛⠚⠉⠓⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣧⠘⣀⠘⣿⣿⠇⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⡆
⣿⣿⣿⣿⣿⣿⢿⢿⣾⡿⣋⡀⢀⡀⠀⣆⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⡇⠀⣿⠀⢿⣿⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠂⡄⡄⡼⢠⠄⠄⠀⣺⢂⠤⠀⠀⡄⡄⢸⢸⠀
⢻⣿⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⢠⣿⠀⢸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠄⠇⠐⠃⠘⡞⠀⠀⠃⠀⠒⠀⠀⠃⠀⠇⠇⠀
⠀⠹⣟⣫⣿⣽⣼⣭⡉⠈⠍⡥⣭⡭⠈⠉⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⢰⢸⣿⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀
⣤⣤⣿⣿⣿⣿⣿⣿⣤⣤⣤⣬⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠏⡿⢸⣿⡇⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⣿⣿⣿⣽⣼⣿⣿⣿⣿⣿⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣣⢼⣿⣇⣹⣃⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢻⡀⣹⠵⢰⠒⢸⢲⠀⠆⠖⡆⡆⠄
⣿⣿⣿⣷⣾⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠞⠛⠖⠛⠗⠻⠑⠛⠖⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⡚⢾⣿⡳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠃⠆⠀⠀⠠⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀
⠉⠟⠿⣿⠉⠹⠍⠩⠩⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡄⠀⠂⣄⠀⠀⠀⢀⠀⠀⠀⠀⡞⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣶⣷⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡇⢀⠀⠀⠀⡈⣀⠀⢀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⣇⠀⣀⢀⡁⣀⡀⠀⠀⢀⡁⡀
⣸⠀⡝⢸⠃⢸⢠⡃⣛⣐⠯⠰⢹⠁⠀⠀⠰⠸⠤⢓⡳⡇⡏⠀⡝⡝⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢰⣸⠠⡃⢃⠏⢡⠁⢹⠀⣼⢀⠏⡇⠎⡎⠀⠀⢸⡁⠼⠸⠸⠈⠰⠅⠎⠀⠀⠀⢸⠀⠅
⠈⠀⠁⠈⠁⠈⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀
⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢄⡀⠀⠉⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⡏⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⠐⠀⠀⠁⡜
⣀⠀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢠⠃⣘⠀⡀⡀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡄⠀⠀⢀⢤⢀⣄⡄⣤⢠⠀⢰⠗⢃⠤⠀⡤⠤⣤⣤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡄
⠸⠰⡅⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠊⠇⠘⠘⠀⢣⠆⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⠤
⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠉⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡤⢎⠁⢀⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀
⠀⠀⡄⠂⠀⣠⣄⢰⣤⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡆⣄⢠⣤⡄⢲⣃⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢂⣇⡸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀
⣠⢸⠁⣴⠀⣿⣨⢸⢸⡇⣿⣻⢸⣇⡅⣿⣧⢸⠀⡇⣿⢸⣼⡇⡞⠙⡆⠀⡆⡄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⢀⡆⢦⠒⠀⡾⠲⢰⢡⠼⠀⢸⠃⡔⠂⠀⡰⡸⢰⠃⠏⢰⠹⢰⠊⠀⢰⠃
⠓⠒⠙⠚⠐⠈⠁⠂⠐⠀⠈⠓⠀⠋⠀⠐⠂⠊⠐⠐⠂⠈⠋⠉⠁⠀⢸⣼⠧⣹⠃⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠁⠁⠀⠉⠀⢁⢠⠃⠁⠁⠈⠀⠀⠈⠀⠈⠁⠀⠀⠁⠁⠀⠁⠈⠁⠈⠀⠀⠀⠁
⠀⠀⠀⢀⣿⢠⣶⡄⣶⢰⢠⢶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠂⠁⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣠⡄⢻⣿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⠈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢰⡀⠀⠀⡀⡀⢀⡀⣐⠀⡀⡀⢀
⢶⢿⣿⣺⢻⡚⣻⣟⢀⣀⡀⠀⣋⠊⡏⠸⢡⢁⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣟⠉⠉⢡⣽⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⢸⢰⠄⢇⠀⠏⠏⠀⢨⠇⠇⡜⠀⡎⠰⠡⠇⠇
⡀⠸⣿⣿⢸⣇⣿⠼⢸⡇⡓⠈⣿⢹⣶⡯⠇⢹⢱⡏⣷⣼⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⡏⠀⠀⢹⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣶⣿⣿⣾⣿⣿⣿⠘⢳⣣⣤⡛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣷⠘⣀⠘⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠆⠆
⣸⣿⣿⣿⡿⣿⠿⣿⣧⡾⣟⣋⢀⡀⠀⣆⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⡇⠀⣿⠀⢿⣿⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠂⡄⡄⡸⢠⠄⠄⠀⣺⠂⠤⠀⠀⡄⡄⢰⢸⠂
⠫⣿⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠁⢀⣿⠀⢸⡿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠄⠇⠀⠃⠘⡴⠀⠀⠃⠀⠒⠀⠀⠃⠀⠇⠇⠀
⠀⠘⣟⣯⣿⣿⣼⢯⡍⠨⠉⡥⣭⡭⠈⠉⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢰⢸⣿⠀⢸⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣤⣤⣾⣿⣿⣿⣿⣿⣧⣤⣤⣤⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⣾⢸⣿⠂⢼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣫⢼⣿⣃⣸⣃⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢻⡐⢰⠵⢰⠒⢰⢲⠀⠖⠖⡆⡆⠆
⣿⣿⣿⣷⣾⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠞⠛⠖⠛⠗⠻⠑⠛⠞⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⡞⢼⣿⡳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀
⠉⠟⠿⣿⠉⠹⠍⠩⠹⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠃⢸⣿⣾⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡄⠀⢂⣄⠀⠀⠀⢀⠀⠀⠀⠀⡞⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⣼⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡇⢀⠀⠀⠀⡈⢀⠀⣀⠃⡀⡀⠀⠀⠀⠀⠀⡄⢀⣇⠀⣀⢀⡈⣀⡀⠀⠀⢀⡁⡀
⣸⠀⡝⢸⠁⢸⣠⡃⣛⣐⠫⠲⢹⠁⠀⠀⠰⡘⠤⢓⡟⡃⡏⠀⡟⡝⢰⡹⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣹⠠⡃⢃⡏⢡⡃⢹⠆⢼⢀⠏⡇⠮⡎⠀⠀⢸⡁⡼⠸⠸⠈⠰⠅⠎⠀⠀⠀⢸⠀⠇
⠈⠀⠉⠈⠁⠈⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀
⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠁⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⡟⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⠐⠀⠀⠁⡜
⣀⡀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠇⣘⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⢀⢠⠠⣄⡄⣤⢠⠀⢰⠗⢃⠤⠀⡤⠤⣤⣤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡄
⠸⠰⡡⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠋⠇⠘⠸⠀⢣⠆⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⢤
⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠉⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⣤⢎⠁⢀⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⡔⠂⠀⣠⣄⢰⣤⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡆⣄⢠⣤⡄⢲⣃⠇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠪⢃⣇⡸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀
⣠⢸⠁⣴⠀⣿⣨⢸⢸⡇⣿⣻⢸⣇⡅⣿⣧⢸⠀⡇⣿⢸⣼⡇⡞⠙⡆⠀⡆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⠀⠆⢦⠒⠀⡾⠲⢰⢡⠼⠀⢸⠃⡔⠂⠀⡰⡹⢠⠇⡏⢰⠹⢰⠚⠀⢰⢓
⠓⠒⠙⠚⠐⠈⠁⠚⠐⠂⠈⠓⠀⠋⠀⠐⠂⠊⠐⠐⠂⠈⠋⠙⠁⠀⢹⣜⠧⣹⠃⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠉⠁⠀⠉⠀⢉⢠⠃⠁⠁⠈⠀⠀⠈⠀⠈⠁⠀⠈⠁⠁⠀⠁⠈⠁⠈⠀⠀⠀⠁
⠀⠀⠀⣀⣿⢠⣶⡄⣶⢰⢠⢶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠒⠁⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⣠⡄⢿⣿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⡀⢀⡀⢰⡀⠀⠀⡀⡀⣀⣀⣀⠁⡀⡀⢀
⣶⢿⣷⣺⢻⡚⣿⣟⢀⣀⡀⠀⣋⠂⡟⠸⣡⢁⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠉⠉⢩⣽⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠇⢸⢰⠀⢇⠄⠏⡏⠀⢨⠇⠇⡜⠀⡎⠠⠡⠇⠇
⡈⠸⣿⣿⢸⣇⣿⠼⢸⡇⡓⠈⣿⢹⣶⡯⠇⢹⢡⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⡏⠀⠀⢸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣶⣿⣿⣾⣿⣿⣿⠘⢳⣣⣤⡛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣷⠘⣀⠘⣿⣿⠁⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠒⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠆
⣸⣿⣿⣿⣿⣿⢿⣿⣧⡾⣟⣋⢀⡀⠀⣖⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⡏⠀⣿⠀⢻⣿⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠂⡄⡄⡸⢠⠄⠄⠀⣺⢂⡤⠀⠀⡄⡄⢸⢸⠂
⠫⣿⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⠃⢀⣿⠀⢸⡿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠄⠃⠀⠃⠘⡾⠀⠀⠃⠁⠓⠀⠀⠃⠀⠇⠇⠀
⠀⠘⣟⣫⣿⣿⣼⢿⡍⠨⠉⡥⣭⡭⠈⠉⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⢰⢸⣿⠀⢸⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀
⣤⣤⣾⣿⣿⣿⣿⣿⣧⣤⣤⣬⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⢸⣿⡆⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣣⢼⣿⣃⣸⣃⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠀⢢⢹⡀⣱⠵⢰⠒⢸⢲⠀⠆⠖⡆⡆⠇
⣿⣿⣿⣷⣾⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠞⠛⠖⠛⠗⠻⠑⠛⠞⠓⠟⠀⢸⡾⠙⠞⠙⠞⠻⡞⢼⣿⡳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀
⠉⠟⠿⣿⠉⠻⠍⠩⠹⠟⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡄⠀⠂⣄⠀⠀⠀⢀⠀⠀⠀⠀⡞⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣾⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡇⢀⠀⠀⠀⡈⢀⠀⢀⠃⡀⡀⠀⡀⠀⠀⠀⡤⢀⣇⠀⣀⢀⡈⣀⡀⠀⠀⢀⡀⡀
⣸⠀⣝⢸⠃⢸⢠⡃⣛⣐⠯⠰⢹⠁⠀⠀⠰⠸⠤⢓⡛⡃⡏⠂⡟⡜⢰⡹⠀⠀⢠⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣹⠠⣃⢃⠏⢡⡃⢹⠄⢸⢀⠏⡇⠎⡎⠀⠀⢰⡡⡼⠸⠸⠀⠰⠁⠎⠀⠀⠀⢸⠀⠇
⠈⠀⠁⠈⠁⠈⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀
⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠁⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⡟⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⠐⠀⠀⠁⡜
⣀⡀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣘⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⢀⢠⠀⣄⡄⣤⢠⠀⢠⠗⢃⠤⠀⡤⠤⣤⣤⠀⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡅
⠸⠰⡡⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠄⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠊⠇⠘⠘⠀⢣⠆⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⠠
⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⡤⢎⠁⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠁⠀⠀⠀⠀⠀⠀
⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡆⣄⢠⣤⡄⢳⣃⠇⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠢⢃⣇⠸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀
⣠⢸⠁⣴⠀⣿⣬⢸⣽⡇⣿⣿⢸⣇⡅⣿⣧⢸⠁⡇⣿⢸⣼⡇⡞⠙⡆⠀⡆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⠀⡆⢦⠒⠀⡾⠲⢰⢡⠾⠀⢸⠃⡖⠂⠀⡰⡸⢠⠇⡏⢰⠹⢠⠚⠀⢰⠃
⠓⠒⠙⠊⠐⠈⠁⠂⠐⠀⠈⠓⠀⠉⠀⠐⠂⠊⠐⠐⠂⠈⠋⠙⠁⠀⢙⣜⠅⣹⠃⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠁⠁⠀⠉⠀⢉⢠⠃⠁⠁⠈⠀⠀⠈⠀⠈⠁⠀⠈⠉⠀⠀⠁⠈⠁⠈⠀⠀⠀⠁
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠂⠁⠈⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⣀⣸⣿⡸⣷⢦⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢰⣁⠀⠀⡀⡀⢀⡀⣀⠁⡀⡀⢀
⠖⢶⣿⣛⢻⣿⣛⣻⣦⣀⡀⠀⣋⠊⡟⠸⢡⢃⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠉⠉⢁⣽⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠇⢸⢰⠄⢇⠄⠏⠏⠀⢨⠇⠇⡜⠀⡎⠠⠡⠇⠇
⣬⡄⢹⣿⢸⣿⣿⣼⣸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢡⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⡏⠀⠀⢸⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠻⣿⣮⣽⣾⣿⣿⣿⣿⣷⢃⣴⣿⡺⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣷⠘⣀⠈⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠀⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠆
⡀⠘⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⢏⡀⠀⣔⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡟⠀⣿⠀⢻⣿⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⡾⠂⡄⡄⡸⢠⠄⠄⠀⣸⢂⠤⠀⠀⡄⡄⢰⢰⠂
⠻⠹⢽⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⡇⢀⣿⠀⢸⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠆⠃⠀⠃⠘⡼⠀⠀⠃⠁⠒⠀⠀⠃⠀⡆⠇⠀
⠀⠀⠘⠋⣿⣿⣾⣿⣿⡿⠭⡥⣭⡭⠬⠉⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⢰⢸⣿⡆⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠰⠃⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀
⣤⣤⣤⣤⣽⣿⣿⣿⣿⣷⣦⣬⣬⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣾⢸⣿⡇⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⣿⣿⣻⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣫⢼⣿⣃⣸⣃⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣠⣀⠀⠀⠀⣦⢻⡀⣱⠱⢰⠒⢸⢲⠀⠖⢖⡆⡆⠆
⣿⣿⣿⣷⣾⣾⣿⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠞⠛⠖⠛⠗⠻⠑⠛⠞⠓⠟⠀⢸⡾⠙⠞⠙⠞⠻⠞⢼⣿⡳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠃⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠁⠀
⠉⠿⠿⣿⠍⢽⠍⠩⠩⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡄⠀⢂⣄⠀⠀⠀⢀⠀⠀⠀⠀⡞⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣾⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡇⢀⠀⠀⠀⡈⣀⠀⢀⠃⡀⡀⠀⠀⠀⠀⠀⡤⢀⣇⠀⣀⢀⡉⣀⡀⠀⠀⢀⡀⡀
⣸⠀⡝⢸⠃⢸⣠⡃⣛⣐⠫⠰⢹⠁⠀⠀⠰⠸⠥⢓⡟⡇⣏⠂⡟⡝⢰⡹⠀⠀⢰⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢸⣹⠠⣃⢃⠏⢡⡃⢹⠄⢼⢀⠏⡇⠮⡎⠀⠀⢸⡁⠼⠸⠸⠈⠰⠅⠎⠀⠀⠀⢸⠀⠇
⠈⠀⠉⠈⠁⠈⠈⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠃⠀⠀
⠀⠀⠀⠀⠀⢀⠀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠉⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠃⡟⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⠐⠀⠀⠁⡜
⣀⡀⡀⢠⣤⡎⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢰⠃⣘⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⢀⢤⠠⣄⡄⣤⢠⠀⢰⠗⢃⠤⠀⡤⠤⣤⣤⠄⠀⠀⡠⠄⢀⠇⠀⠀⠀⠸⡅
⠸⠰⡁⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠈⢸⢹⡇⣿⣿⠸⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠪⠇⠘⠘⠂⢣⠆⠀⠜⠀⠈⠒⠐⠁⠘⠘⠘⠀⠀⠀⠑⠂⠸⠀⠀⠀⠀⢄⠤
⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⢙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⣤⢎⠁⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⠁⠀⠀⠀⠀⠀⠀
⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡖⣄⢠⣤⡄⢷⣃⠇⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠮⢃⡇⡸⠁⠀⠀⠀⠀⠀⡎⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡜⢀⠀⠀⠀⠀⠀⠀⠀
⣠⢸⠁⣴⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠁⡇⣿⢸⣼⡇⡞⠙⡆⠀⡆⡔⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⠀⡆⢦⠒⠀⡾⠲⢰⢡⠬⠀⢸⢃⠔⠂⠀⡰⡸⢠⠃⡏⢰⠽⢰⠞⠀⢸⠓
⠓⠓⠙⠊⠐⠈⠁⠒⠐⠂⠈⠓⠐⠋⠀⠐⠂⠊⠐⠐⠂⠈⠋⠙⠁⠀⢹⣼⠧⣹⠃⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠉⠁⠀⠉⠀⢉⢠⠋⠁⠁⠈⠀⠀⠈⠀⠈⠁⠀⠈⠉⠁⠀⠁⠈⠁⠈⠀⠀⠀⠁
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠒⠁⠈⠀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢰⡁⠀⠀⡀⡀⢀⣀⣀⠁⡀⡀⢀
⡖⣖⡆⣊⢁⡘⣘⣘⢂⣀⡀⢀⣛⠿⣿⢾⣷⢇⣂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣯⠉⠉⢡⣽⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠇⢸⢰⠅⢇⠀⠏⠏⠀⢨⠇⠇⡜⠀⡎⠠⠡⠇⠇
⠀⠀⠁⢿⢸⡇⣿⠼⢸⡇⡓⠈⣿⢹⣶⡯⠧⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡏⠀⠀⢹⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⠞⠃⠛⠀⠘⠳⣃⣀⣛⣺⣻⣳⣫⣘⣈⠳⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡷⠘⣀⠸⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠂⠀⢀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠆
⡀⣀⣀⣀⡀⣀⠀⢀⣀⠀⣞⣿⢿⡿⡿⣿⣿⣿⣭⢠⡄⣂⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⠇⠀⣿⠀⣿⡟⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠂⡄⡄⡼⢠⠄⠄⠀⣺⢂⠤⠀⠀⡄⡄⢰⢰⠂
⠻⠹⢽⡇⣿⣿⠁⣿⣿⢸⡇⡃⣿⣛⢸⡟⣛⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⢀⣿⠀⢻⡇⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠆⠇⠐⠃⠘⡾⠀⠀⠃⠁⠓⠀⠀⠃⠀⡏⡇⠀
⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠭⡵⣭⡽⠿⢿⣿⣿⣽⣼⣧⡭⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣰⢸⣿⠀⣸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠴⠀⠀⠀
⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣬⣤⣵⣶⣾⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠏⣿⢸⣿⠀⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⣿⣿⣿⣻⣟⣿⣿⣿⣿⣿⣿⣷⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣫⢼⣿⣀⣻⣀⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣠⣀⠀⠀⠀⣢⢹⡀⣰⠱⢰⠒⢸⢲⠀⠖⠖⡆⡦⠆
⣿⣿⣿⣷⣾⣾⣿⣿⣾⣷⣷⣿⣿⣿⣿⣿⣿⣿⠾⠛⠖⠛⠗⠛⠑⠛⠞⠛⠟⠀⢸⡾⠙⠞⠙⠞⠻⡞⢾⣷⡳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠡⠘⠁⠈⠁⠉⠀⠁⠈⠈⠀⠀⠁⠉⠀
⠉⠿⠿⣿⠯⢿⠍⠹⠿⠿⠏⠉⠙⠿⣿⣿⠍⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡇⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡀⠀⠂⣀⠀⠀⠀⢀⡀⠀⠀⠀⡜⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣴⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡎⢀⠀⠀⠀⡘⢀⠀⣀⠃⡀⠀⠀⠀⠀⠀⠀⡤⢀⣇⠀⣀⢀⡈⣀⡀⠀⠀⢀⡀⡀
⢸⠁⣹⢠⠃⢸⢠⡇⣚⣀⠫⠳⠣⠁⠀⠀⠰⠹⠤⢓⡇⡇⡏⠁⡽⣸⢰⢹⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢰⣱⠀⣇⢃⡏⢡⡃⢹⠄⢸⢀⠏⡇⠾⡌⠀⠀⢰⡡⠸⠸⠸⡁⠰⠁⠞⠀⠀⠀⢰⠁⠇
⠈⠀⠀⠈⠁⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠋⠀⠀
⠀⠀⠀⠀⠀⢀⣀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢀⡀⠀⠈⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⡏⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠐⠀⠀⠑⡜
⣀⡀⡀⢠⣤⡞⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢠⠇⣘⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠄⠀⠀⢀⢠⠀⡄⡄⣤⢀⠀⢠⠇⢂⠤⠀⡤⠤⣄⣤⠄⠀⠀⡠⠄⠀⡇⠀⠀⠀⠸⡇
⠸⠐⠅⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠘⢸⢹⡇⣿⣿⠸⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠈⠊⠘⠑⠂⢻⠆⠀⠜⠀⠈⠂⠐⠃⠐⠐⠘⠀⠀⠀⠘⠂⢸⠀⠀⠀⠀⢄⠠
⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠃⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢠⢎⡁⢄⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⡔⠀⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡖⣄⢠⣤⡄⢧⣃⡇⠀⠠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠨⠂⡇⠸⠁⠀⠀⠀⠀⠀⡌⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡼⢀⠀⠀⠀⠀⠀⠀⠀
⢠⢰⠁⢰⠀⣿⣩⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠇⡇⣿⢸⣼⡇⡜⠙⣆⠀⡆⡤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⠀⡆⠦⡒⠀⡾⢰⢰⢣⠮⠀⢨⠃⣴⠂⠀⡰⡸⢠⠇⡏⢠⠩⢀⠖⠀⢰⠑
⠐⠒⠈⠚⠐⠈⠁⠒⠐⠂⠈⠓⠀⠋⠀⠐⠂⠊⠐⠐⠒⠈⠋⠑⠁⠀⢘⣎⠧⣹⠃⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠁⠁⠀⠁⠀⢉⢠⠃⠁⠁⠈⠁⠀⠈⠀⠈⠁⠀⠈⠉⠀⠀⠁⠈⠁⠈⠀⠀⠀⠁
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠒⠁⠀⠁⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⡀⢀⡀⢠⢁⠀⠀⣀⡀⢀⡀⢀⠁⡀⡀⢀
⡖⣖⡆⣊⢁⡘⣘⣘⢀⣀⡀⠀⣚⠒⡟⠸⢣⢂⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣯⠉⠉⢡⣽⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠷⢸⢰⠅⠇⠀⡏⠎⠀⢠⠇⠇⠼⠁⠬⠠⠃⠇⠇
⠀⠀⠁⢹⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠆⣾⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡏⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠘⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⠚⠃⠛⠀⠘⠳⠃⠀⠛⠚⠉⠓⠃⢘⠈⠓⠋⠚⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⠘⣀⠸⣿⡇⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠀⠀⢀⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⡆
⡀⣀⣀⣀⡀⣀⠀⢀⣀⠀⣔⣀⢀⡀⠀⣔⠀⣇⣠⢠⡄⣀⣀⠀⣀⡀⠀⣰⣿⣷⣤⠀⠀⠀⠀⢻⣿⠃⠀⣿⠀⣿⡇⠀⠀⠀⠿⠿⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠂⡄⡄⡸⢠⡄⡄⠀⢲⠂⡤⠀⠀⣀⡀⢰⢰⠂
⠫⠻⢹⡇⣿⣿⠁⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⣧⣾⣿⣿⣿⠋⠀⠀⠀⠀⢸⣿⠀⠀⡏⠀⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠦⠃⠀⠃⠘⡶⠀⠀⠃⠀⠓⠀⠀⠃⠀⡎⡎⠀
⠀⠀⠘⠋⠁⠉⠀⠉⠉⠈⠍⡥⣭⡭⠬⠍⠁⠉⠉⠈⠁⠉⠈⠐⣓⣯⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⡿⢰⢸⣿⠀⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⠁⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀
⣤⣤⣤⣤⣤⣤⣤⢤⣤⣤⣤⣬⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⡇⣠⣶⣦⠀⠀⠀⠀⠁⣿⢸⣿⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⣾⣿⣿⣾⣾⣟⣟⢻⣿⣿⣿⣴⠄⣀⡀⡸⣿⣿⣿⣿⣿⣿⡿⢋⣁⢀⣀⢀⣀⢀⣫⢸⡟⣀⣱⣀⣀⣀⡀⣀⡀⣀⡀⢤⡄⢀⢀⢀⣀⡀⣀⣰⣀⠀⠀⠐⢢⢻⡠⢰⠱⢰⠒⢰⢲⠂⡆⠖⡆⡦⠄
⣿⣿⣿⣷⣾⣾⣿⣾⣾⣿⣷⣶⣿⣾⣿⣿⣿⣿⠾⢛⣷⣿⣿⣿⣿⣿⣿⡛⠝⠀⢸⡾⠙⠞⠙⠞⠻⡚⢼⣧⠳⡟⠳⠊⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠃⠃⠏⠃⠆⠀⠀⠡⠘⠁⠈⠁⠈⠀⠉⠈⠈⠀⠀⠁⠁⠀
⠉⠿⠿⣿⠯⢿⠍⠹⠿⠿⠿⠉⠉⠉⠉⠉⠉⠉⠀⠀⣿⣿⣏⣉⡉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡏⢸⣧⢸⣗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡄⠀⠂⣀⠀⠀⠀⢀⡀⠀⠀⠀⡜⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡏⢀⠀⠀⠀⡘⢀⠀⣀⠃⡀⠀⠀⢀⠀⠀⠀⡤⢀⣇⠀⣀⢀⡈⣀⡀⠀⠀⢀⡀⡀
⢸⠁⣽⢠⠃⢸⢠⡃⣚⣀⠏⠳⢫⠃⠀⠀⠰⠹⠥⢓⡏⡇⡏⠃⡽⣼⢰⣹⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢰⣹⠀⣇⠃⡏⢡⡃⢹⠄⢸⢀⠏⡇⠾⡌⠀⠀⢰⡡⠼⠸⠸⡁⠱⠇⠞⠀⠀⠀⢰⠁⠇
⠈⠀⠀⠈⠁⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠀⠀⢀⠇⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠏⠀⠀
⠀⠀⠀⠀⠀⢀⡀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⡓⢛⢤⡀⠀⠈⠉⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⡏⠒⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠐⠀⠀⠑⡜
⣀⡀⡀⢠⣤⡞⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢠⠇⣘⠀⡀⣀⢠⠆⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠄⠀⠀⢀⢤⠀⡄⡄⢤⢀⠀⢠⡗⢂⠤⠀⡤⠤⣄⣤⡄⠀⠀⣠⠄⠀⡆⠀⠀⠀⠸⣇
⠸⠐⠅⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠘⢸⢹⡇⣿⣿⠸⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠘⠎⠘⠑⠃⢻⠆⠀⠜⠀⠈⠒⠐⠃⠐⠘⠘⠀⠀⠀⠙⠂⢸⠀⠀⠀⠀⠄⠤
⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠂⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢤⢮⡁⣀⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀
⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡖⣄⢠⣤⡔⢧⣃⡇⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠠⠃⡇⠸⠃⠀⠀⠀⠀⠀⡌⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⡼⢀⠀⠀⠀⠀⠀⠀⠀
⢠⢰⠁⢰⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠇⡇⣿⢸⣼⡇⡜⠙⣆⠀⡆⡤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⣸⠀⡆⠦⡒⠀⣾⢲⢰⢣⠮⠄⢨⢃⢔⠂⠀⡰⡸⢠⠇⡏⢰⠩⢀⠟⠀⢰⠑
⠙⠒⠉⠚⠰⠈⠁⠚⠐⠂⠈⠓⠐⠋⠀⠐⠂⠊⠐⠀⠂⠈⠋⠙⠁⠀⢘⣎⠧⣹⠇⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠁⠀⠁⠀⢉⢀⠇⠁⠁⠈⠉⠀⠈⠁⠈⠁⠀⠈⠉⠀⠀⠁⠈⠁⠈⠀⠀⠀⠁
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠒⠁⠀⠁⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢀⠀⡀⢀⡀⢠⢁⠀⠀⣀⡀⢀⡀⢀⠁⡀⡀⢀
⡗⣖⡆⣊⢃⡘⣘⣘⢂⣀⡀⠀⣊⠚⡟⠸⣣⢃⡂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣯⠉⠉⢡⣽⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡷⢸⢰⠅⠏⠄⠏⠏⠀⢨⠏⠏⡼⠁⠮⠠⠃⠇⠇
⠀⠀⠁⣻⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠆⣾⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⡟⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⠘⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⠞⠃⠛⠀⠘⠳⠃⠀⠛⠚⠉⠳⠃⢘⠈⠓⠋⠚⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⡿⠘⣀⠸⣿⡇⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠂⠀⢀⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⡆
⡀⣀⣀⣀⡀⣀⠀⢀⣀⠀⣔⣀⢀⡀⠀⣔⠀⣇⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⢀⣤⣄⡀⠀⠀⠀⢹⣿⠃⠀⣿⠀⣿⡇⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⠂⡄⡄⣸⢠⡄⡄⠀⢰⠂⡤⠀⠀⣄⡀⢰⢱⠂
⠫⠻⢽⡇⣿⣿⠁⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⣠⣾⣿⣿⡟⠀⠀⠀⠸⣿⠀⠀⡟⠀⣻⠇⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠦⠃⠀⠃⠘⡶⠀⠀⠳⠀⠓⠀⠀⠃⠀⡎⡎⠀
⠀⠀⠘⠋⠁⠉⠀⠉⠉⠨⠭⡥⣭⡭⠬⠍⠁⠉⠉⠈⠁⠉⠈⠐⠓⢃⣾⣿⣿⣿⠏⠀⠀⠀⠀⠀⣿⢰⢰⣿⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠀⠀
⣤⣤⣤⣤⣤⣤⣤⡤⣤⣤⣤⣬⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⠇⢀⣤⡀⠀⠀⠀⠀⣿⢸⣿⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⡷⣿⣿⣿⣷⣿⣻⡛⣿⣿⣿⣴⠄⣀⡀⡀⡀⣾⣿⣿⣿⣿⣷⣿⣟⢁⣀⢀⣀⢀⣫⢼⡿⣀⣹⣀⣀⣀⡀⣀⡀⣀⡀⢤⡄⢀⢀⢀⣀⡀⣀⣠⣀⠀⠀⠐⣢⢹⡠⢰⠵⢰⠒⢰⢲⠂⡆⠖⡆⡦⠄
⣿⣿⣿⣷⣾⣾⣿⣿⣷⣿⣿⣾⣶⣷⣿⣿⣿⣿⠾⠛⠖⣻⣷⣿⣿⣿⣿⣿⣽⠟⢹⡾⠙⠞⠙⠞⠻⡞⢼⡧⠳⡟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠡⠜⠁⠈⠁⠉⠀⠉⠈⠈⠀⠀⠁⠁⠀
⠉⠿⠿⣿⠯⢿⠍⠹⠿⠿⠿⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⣿⣿⡿⠟⠿⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⢻⢸⣏⢰⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⡄⠀⠆⣀⠀⠀⠀⢀⡀⠀⠀⠀⡼⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡜⢀⠀⠀⠀⡘⢀⠀⣀⠃⢀⠀⠀⢀⠀⠀⠀⡤⠀⡇⡀⡀⡀⡈⢀⣀⠀⠀⢀⡀⣀
⢸⠃⣹⢀⠇⢸⢡⡇⣘⣀⠏⠧⡋⠇⠀⠀⠰⠹⠥⢓⡟⡇⣎⡃⣸⢸⢰⣹⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢰⣡⠁⣗⠃⡟⠉⡇⢹⡄⢸⢁⡏⡏⠸⡜⠀⠀⠠⡃⠸⠹⠱⠃⠡⠇⠼⠀⠀⠀⢰⠁⠇
⠈⠁⠈⠈⠁⠀⠀⠀⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠁⢀⢀⡆⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣄⣠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠎⠀⠀
⠀⠀⠀⠀⠀⢀⡀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⣓⠛⢠⡀⠀⠈⠈⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⡟⠓⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠐⠀⠀⠑⡜
⣀⡀⡀⢠⣤⡜⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢠⠇⣸⠀⡀⣀⢠⡦⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡄⠀⠀⢀⢤⠀⡄⡄⢠⢀⠀⢀⡇⠂⡤⠀⡤⠤⣄⡤⡄⠀⠀⢠⠄⠀⡆⠀⠀⠀⠀⣇
⠹⠁⡇⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠜⢸⢹⡇⣿⣿⠸⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠸⠺⠐⠓⠃⠹⡄⠀⠜⠁⠈⠓⠐⠃⠐⠑⠘⠃⠀⠀⠘⠂⢸⠀⠀⠀⠀⢄⠠
⠀⠀⠀⠘⠉⠃⠙⠙⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⠒⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢤⠎⡉⡄⠘⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠀⠀⠀⠀⠀⠀
⠀⠀⡔⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⡀⡖⣄⢠⣤⡔⢇⣇⡇⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠠⠂⡏⡠⠃⠀⠀⠀⠀⠀⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⢀⠀⠀⠀⠀⠀⠀⠀
⢠⢰⠃⢰⠀⣿⣨⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠆⡇⣿⢸⣼⡇⣼⠙⣇⠀⡆⡠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠆⠀⠄⢸⠃⡆⠦⡖⠂⣸⢲⢠⢇⠮⠆⢀⢏⢴⠒⠀⢰⢸⢀⠇⡝⣠⠯⢂⡟⠀⢰⠑
⠘⠚⠉⠚⠐⠈⠁⠚⠐⠂⠈⠑⠀⠛⠀⠐⠂⠘⠐⠁⠒⠈⠋⠑⠁⠀⢘⣆⠧⣩⠇⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠁⠁⠀⠁⠀⢉⢀⠇⠁⠈⠀⠉⠀⠈⠁⠈⠁⠀⠈⠉⠈⠀⠁⠀⠁⠈⠀⠀⠀⠁
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠉⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⢀⠀⡀⢀⡀⢠⢃⠀⠀⣀⡀⢀⣀⢀⠁⡀⡀⢀
⡖⡖⡆⣚⢑⡘⣚⣐⢂⣀⡀⠀⣚⠸⡽⠸⣇⢂⡒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⠉⠉⢡⣽⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠻⢸⠰⡇⢏⠄⡎⠞⠀⠀⡏⠝⠸⠁⠼⠠⠇⠇⢏
⠀⠁⠁⢿⢸⡇⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠆⣾⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⠀⠀⢸⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡘⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠘⠞⠃⠛⠀⠘⠳⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⠐⣀⠈⣿⣿⠀⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠐⠂⠀⠀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⡆
⡀⡀⣀⣀⡀⣀⠀⢀⣀⠀⣴⡄⢀⡀⠀⣔⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⣾⠀⢻⣿⠀⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠂⡄⡄⣸⠀⡄⡄⠀⢰⠃⡤⠀⠀⣠⠀⢰⢳⠃
⠫⠻⢿⡇⣿⣿⠁⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⣀⣤⣶⣷⣆⠀⠀⠀⠈⣿⠁⠀⣿⠀⢸⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠦⠃⠀⠃⠘⣷⠀⠀⠺⠀⠓⠀⠀⠃⠀⡜⡞⠀
⠀⠀⠘⠋⠁⠉⠀⠉⠉⠈⠍⡥⣭⡭⠬⠍⠁⠉⠉⠈⠁⠉⠈⠐⢓⣫⣾⣿⣿⣿⠿⠋⠀⠀⠀⠀⢿⢠⠀⣿⠀⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠀⠀
⣤⣤⣤⣤⣤⣤⣤⣤⣤⢤⣤⣬⣬⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⡟⠃⠀⠀⠀⠀⠀⠀⠘⣾⠀⣿⠂⣸⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⣿⣿⢾⣻⢿⣿⡾⢟⣟⢻⣿⣴⠄⣀⣰⡿⡿⣿⣿⣟⣇⣶⣦⣤⣀⢀⣀⢀⣀⢀⣩⢠⣿⣀⣸⣀⣀⣀⡀⣀⡀⣀⡀⢤⡄⢀⢀⣀⣀⡀⣀⣠⣀⠀⠀⠐⣲⢹⡠⢰⠱⢰⠖⢰⢶⠂⡶⡖⡆⡴⠴
⣿⣿⣿⣷⣾⣼⣿⣶⣾⣿⣿⣿⣿⣷⣾⣾⣿⣿⣾⣿⣷⣿⣿⣿⣿⣿⣿⡟⠟⠛⢹⡾⠙⠞⠙⠞⠻⠚⠼⣯⠳⣟⠳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠩⠜⠁⠈⠁⠈⠀⠈⠈⠀⠀⠁⠁⠉⠀
⠉⠿⠿⣿⠯⢿⠭⠹⠿⠿⠏⠉⠉⠉⠉⠉⠉⢉⣿⣿⣿⣉⠉⠙⠛⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⢸⣿⢀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⣄⠀⠆⣠⠀⠀⠀⢀⡀⠀⠀⠀⣼⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡞⢀⡀⠀⠀⡘⢀⠀⣀⡋⣀⣀⠀⣀⠀⠀⠀⡴⠀⣏⡀⣀⣀⣈⣀⣀⠀⠀⢀⡀⣀
⢹⠣⣹⢠⣇⢸⣡⡇⣘⣀⡯⠧⣯⠇⠀⠀⠰⠻⠥⢛⡟⡇⣞⡃⣹⣻⢰⣻⠁⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢰⣻⡡⣗⣋⡟⢩⡏⢹⡔⢸⣁⡏⡟⠼⡽⠀⠀⢠⡧⣸⠹⠱⡧⠡⡇⡾⠀⠀⠀⢰⠃⠧
⠈⠁⠉⠈⠁⠈⠈⠁⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠈⠀⠁⢈⢀⡟⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣤⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠦⠏⠀⡀
⠀⠀⠀⠀⠀⢀⣤⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⣓⢛⣦⡠⠀⠈⠉⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⡟⠓⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠒⠂⠀⠙⡼
⣀⡀⣀⢠⣤⡜⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢠⡏⣸⠀⡀⣠⢠⡦⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡄⠀⠀⢀⢤⠄⡄⡄⣤⢀⠀⢠⡗⢂⣤⠀⣤⠤⣤⡤⡄⠀⠀⢠⢤⠀⡞⠀⠀⠀⠘⣇
⠹⠗⣏⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡯⡇⢻⣼⠜⢸⢹⡇⣿⣿⠸⠕⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠸⠾⠰⠓⠇⢻⡎⠀⠜⠃⠈⠓⠐⠃⠐⠑⠙⠃⠀⠀⠘⠂⢸⠁⠀⠀⠀⢤⡤
⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⢙⣠⡖⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⡀⢤⢮⡉⣄⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡦⠊⠀⠀⠀⠀⠀⠁
⠀⠀⡴⠂⠀⣠⣄⢰⣤⡄⣠⣄⢄⣤⡀⣶⡤⢰⠀⡖⣄⢠⣤⣔⢧⣇⡇⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠸⠇⡏⡰⠃⠀⠀⠀⠀⠀⡼⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⣸⢀⠀⠀⠀⠀⠀⠀⠀
⢠⢶⠇⣰⡆⣿⣭⢸⢺⡇⣿⣻⢸⣇⡅⣿⣧⢸⡇⡇⣿⢸⣼⡇⣼⠙⣧⠀⡖⡴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡾⠆⠀⡆⢸⠃⡾⠦⡖⠂⣾⢲⢰⢇⠮⠆⢈⢏⢴⠓⠀⢰⣺⢣⡏⡽⣰⠯⢆⡟⠀⢰⢛
⠘⠚⠛⠛⠑⠊⠁⠚⠐⠂⠈⠓⠐⠛⠀⠐⠊⠘⠐⠑⠒⠈⠛⠑⢁⠀⢘⣮⠧⣭⠏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠓⠁⠀⠙⠉⠀⠉⠀⢉⢀⠏⠁⠉⠈⠉⠀⠈⠁⠈⠁⠀⠈⠉⠉⠀⠉⠈⠉⠈⠀⠀⠀⠁
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠉⠀⠁⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠈⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⡀⡀⢀⣀⢠⢃⠀⠀⣀⡀⢀⣀⢀⠁⣀⡀⢀
⡷⡖⡆⣚⢛⡸⣛⣘⢶⣒⡠⣤⣚⠸⣽⠹⣇⢇⡒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠉⠉⢩⣤⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡿⢸⣴⡇⢟⠄⡞⠾⠀⢈⡏⠟⡼⠁⣾⢠⠏⡇⢏
⠁⠁⠁⣿⢸⡇⣿⠼⢸⡇⡓⣿⣿⢹⣶⡯⠧⢹⢱⡏⣷⣾⠆⣾⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢔⡸⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢘⣾⣃⣛⣼⣞⣷⣣⣿⣻⣺⣛⡳⠋⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡔⢀⡄⢹⣿⡿⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠖⠂⠀⢀⡖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡔⡖
⡀⣀⣀⣀⡹⣛⠿⢿⣿⡿⣿⣿⣿⡿⡿⣿⡄⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⠁⣼⡇⠘⣿⡇⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⠂⣤⡄⣸⢡⡄⡄⠀⢰⠇⡤⠄⠀⣠⣠⢰⢳⠳
⠿⠿⢿⡇⣿⣿⠣⣿⣿⢸⡇⡃⣿⣛⢸⡟⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⠀⣿⡇⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠧⠧⠓⠋⠘⣷⠁⠀⠺⠂⠓⠂⠀⠳⠀⡾⡞⠀
⠀⠀⠘⠋⠁⢩⣼⣿⣿⡿⠿⡿⣿⡿⠿⢿⠕⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⣿⣿⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠴⠕⠁⠀
⣤⣤⣤⣤⣤⣬⣿⣿⣿⡷⣶⣿⣾⣷⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠐⣿⣿⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⣿⣿⢻⣿⣷⣿⡿⣿⣟⢿⣿⡛⣿⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣩⢴⣿⣟⣸⣛⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⣀⣀⡀⣀⣰⣀⠀⠀⠀⢻⢻⣤⢻⠿⢲⡖⢲⢶⡇⡶⡖⡖⡼⠵
⣿⣿⣿⣷⣾⣾⣿⣷⣾⣿⣿⣿⣾⣷⣾⣷⣿⣿⠾⠛⠷⠛⠟⠻⠑⠛⠾⠛⠟⠀⢼⡾⠙⠞⠙⠞⠻⠺⢾⣿⣷⠟⣳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠸⠻⠃⠳⠋⠃⠏⠇⠆⠀⠀⠩⠜⠁⠈⠉⠈⠀⠉⠈⠉⠁⠁⠁⠉⠁
⠉⠿⠿⣿⠯⢿⠟⠻⠿⠿⠟⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⢀⣀⠀⠆⣠⠀⠀⠀⢀⡄⠀⠀⠀⣸⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡜⠀⡀⠀⠀⡘⢀⠀⣀⡋⢀⢀⠀⠀⠀⠀⠀⣴⠀⡎⡀⣀⡀⣈⢀⣀⠀⠀⠀⡀⣀
⢹⢇⣸⢁⣇⢸⣃⡇⣘⣀⡏⠇⡏⠇⠀⠀⠰⠻⠧⢛⡟⡇⣞⡃⣸⢻⢰⣻⠃⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠠⣣⡃⣟⠂⡝⠉⡏⢹⡔⢹⡃⡞⡽⠸⡽⠀⠀⠀⡧⢰⠱⠃⠇⠡⠇⠼⠀⠀⠀⢠⠇⠧
⠈⠁⠈⠀⠁⠀⠁⠁⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠈⠀⠁⢀⠀⡜⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣠⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠎⠀⠀
⠀⠀⠀⠀⠀⠀⣀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠘⣓⠛⣢⡀⠀⠈⠉⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⡝⠓⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠒⠂⠀⠙⡸
⡀⡀⣀⢠⣤⡼⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢀⡏⣸⠀⡀⣠⠠⡤⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡄⠀⠀⢀⢤⠄⡄⡄⢠⠀⠀⠀⡗⠒⡤⠀⣤⠤⣤⡤⡄⠀⠀⢠⠤⠀⡞⠀⠀⠀⠀⣇
⠱⠇⢏⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡧⡇⢻⣼⠜⢸⢹⡇⣿⣿⠸⠕⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠸⠺⠰⠃⠇⠸⡜⠀⠔⠃⠀⠓⠀⠃⠐⠁⠁⠃⠀⠀⠘⠒⢰⠁⠀⠀⠀⢀⠠
⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠃⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⡔⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⢠⠮⡉⡄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠊⠀⠀⠀⠀⠀⠀
⠀⠀⡴⠂⠀⣠⣄⢰⣦⡄⣠⣄⢄⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⣄⢇⣏⡇⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠠⠆⡞⡠⠃⠀⠀⠀⠀⠀⡸⠀⠀⠀⢀⠀⠀⠀⠀⠀⠀⢰⢀⠀⠀⠀⠀⠀⠀⠀
⢠⢴⠃⢰⡂⣿⣭⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⡇⡇⣿⢸⣼⡇⣸⠉⣧⠀⡶⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡴⠆⠀⠄⢠⠇⡴⠦⡖⠂⢺⢲⢀⢇⡮⠆⠀⡏⢰⠓⠀⢠⢺⠃⡏⡹⣠⠯⢇⡟⠀⢰⠙
⠘⠚⠊⠛⠁⠊⠁⠚⠐⠂⠈⠑⠂⠛⠀⠀⠚⠘⠐⠁⠒⠈⠋⠑⠁⠀⢘⣧⠧⣉⠏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠁⠀⠀⠀⠉⠀⠁⠁⠉⠀⡏⠉⠈⠀⠉⠀⠈⠁⠈⠁⠀⠈⠉⠈⠀⠉⠀⠉⠈⠀⠀⠀⠁
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠉⠀⠁⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠈⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⢿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⡀⡀⢀⣀⢀⢇⠀⠀⣀⣀⢀⣀⢀⠁⣀⣀⢀
⣶⡾⣿⣚⢑⣺⣛⣀⢆⣀⡀⠀⣘⠸⣽⠨⣇⢂⡒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠋⠉⢹⣠⣽⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡻⠸⡡⡇⢞⠀⡜⠼⠀⠀⡟⠜⠸⠁⢼⠀⠏⡇⢮
⣿⣿⣿⣿⢸⣏⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡸⠀⠀⠀⠀⠀⠀⠀⠀⠀
⢸⣿⣿⣽⣞⣿⣟⠀⠘⠳⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡄⢀⡼⠸⣿⣿⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⡀⢠⠖⠂⠀⠀⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡐⡖
⣄⣿⣿⣿⡿⣿⠿⢄⣀⡠⣴⣄⢀⡀⠀⣴⠀⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠃⣸⣷⠀⣿⡟⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠂⣠⡄⢸⠁⡄⡠⠀⢰⠃⡤⠄⠀⢠⣠⢰⢳⠓
⣿⣿⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⠀⣿⣿⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠣⠣⠂⠋⠈⢷⠁⠀⠸⠀⠓⠂⠀⠑⠀⡸⡘⠀
⢹⣿⣿⣯⣿⣿⣾⣿⣿⡯⠍⡥⣭⡭⠬⠭⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⠀⣿⣿⠀⣻⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠁⠀
⣬⣿⣿⣿⣿⣿⣿⣿⣯⣤⢤⣬⣤⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⣿⣿⠀⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⡿⣿⣿⣿⣿⢾⣷⣿⢾⣾⣟⣿⢻⣴⠄⣀⡀⡀⡀⣀⡀⣀⣆⣀⠀⢀⣀⢀⣀⢀⣀⢀⣩⠄⣿⣟⣰⣙⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⣀⣀⡀⣀⣠⣀⠀⠀⠀⢲⠹⣤⢺⠿⢂⡖⢒⣗⡇⡶⡖⡖⡴⠵
⣿⣿⣿⣷⣾⣾⣿⣷⣶⣿⣿⣾⣿⣷⣿⣾⣾⣿⠞⠛⠖⠛⠗⠻⠑⠛⠾⠛⠝⠀⢸⡾⠙⠞⠙⠞⠻⠚⠶⣿⣳⠟⣳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠨⠜⠁⠈⠉⠈⠀⠈⠈⠁⠁⠁⠁⠈⠁
⠉⠟⠿⣿⡿⠿⠍⠩⠹⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⢠⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⠀⣀⠀⠆⣠⠀⠀⠀⢀⡄⠀⠀⠀⣸⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡼⢀⡀⠀⠀⡘⢀⠀⣀⡋⢀⢀⠀⠀⠀⠀⠀⣴⠀⣞⡀⣀⡀⣘⢀⣀⠀⠀⠀⡀⣀
⢹⢧⣸⢃⣏⢸⣃⡇⣘⣀⡏⠧⣏⠇⠀⠀⠰⠻⠯⢻⡟⣏⢞⡃⣸⢻⢰⣻⠃⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⢠⣧⡇⣟⡊⡟⠉⡏⢹⡔⢸⣃⡞⡽⠸⣽⠀⠀⠀⡇⢰⠱⠃⣇⠣⡇⠼⠀⠀⠀⢠⡇⠧
⠈⠁⠈⠀⠁⠀⠁⠁⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠁⢀⢀⡞⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣠⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠤⠞⠀⠀
⠀⠀⠀⠀⠀⠀⡀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠸⢓⠛⣧⡠⠀⠈⠉⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠋⣟⠓⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠒⠂⠀⠘⣸
⡀⡀⣠⢠⣤⡼⢀⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⢀⡟⣸⠀⡀⣠⠠⡤⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡄⠀⠀⢀⣤⠄⡄⡄⢠⢀⠄⠀⡟⠒⡤⡀⣤⠤⣤⡤⡄⠀⠀⢠⠤⠀⡞⠀⠀⠀⠀⣇
⠳⠇⢏⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡯⡇⢻⣼⠼⢸⢹⡇⣿⣿⠸⠕⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠸⠺⠰⠃⠇⠸⡜⠀⠔⠃⠀⠓⠂⠃⠐⠃⠃⠃⠀⠀⠘⠒⢰⠃⠀⠀⠀⢠⡤
⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣠⡔⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢤⠾⡉⡄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠊⠀⠀⠀⠀⠀⠈
⠀⠀⣠⠒⠀⣠⣄⢰⣦⡄⣠⣄⢀⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⡔⣇⣏⡷⠀⢠⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠰⠅⡾⡠⠃⠀⠀⠀⠀⠀⣼⠁⠀⠀⢀⠀⠀⠀⠀⠀⠀⢰⢁⡀⠀⠀⠀⠀⠀⠀
⢀⢤⠇⢰⡆⣿⣭⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠆⡇⣿⢸⣼⡇⣼⠉⣧⠀⡶⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡴⠆⠀⡤⢰⠇⡼⠦⡖⡆⢺⢶⢀⣇⡮⠆⢀⣏⢰⠓⠀⢠⢺⠃⡏⡹⣡⠯⢆⡟⠃⢰⡙
⠘⠚⠋⠛⠑⠊⠁⠚⠐⠓⠈⠑⠒⠛⠀⠀⠚⠘⠐⠁⠒⠈⠋⠑⢁⠀⢘⣧⠧⣉⡏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠑⠁⠀⠀⠋⠀⠁⠁⢉⡁⡏⠉⠈⠀⠉⠀⠈⠁⠈⠁⠀⠈⠉⠉⠀⠉⠀⠉⠈⠀⠀⠀⠉
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠉⠀⠁⠁⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡀⡀⡀⢀⣀⢀⣇⠀⠀⢀⣀⢀⣀⢀⠁⣀⣀⢀
⡶⡖⡖⣘⢙⡘⣚⣁⢆⣀⡀⠀⣘⠰⣽⠹⣇⢆⡐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠋⠉⢉⣤⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡻⠸⣡⡇⢞⠀⡾⠸⠀⠈⡟⠝⠸⠁⢼⠀⠏⡏⢾
⠁⠁⠁⣿⢸⡿⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠧⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⠀⠀⢸⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡸⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⣝⡞⣿⣟⢸⣿⡷⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡄⢀⡌⢹⣿⡟⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢀⡖⠂⠀⠀⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡰⡔
⣾⣦⣀⣻⡿⣿⢿⣾⣿⡇⣰⡄⢀⡀⠀⣰⠄⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⠁⣸⡇⠈⣿⡇⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⠆⣠⣄⢸⠁⡄⡠⠀⢰⠗⡠⠄⠀⢠⣠⢰⢷⠗
⠟⣿⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⣿⡇⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠣⠧⠂⠊⠈⣷⠃⠀⠸⠀⠓⠂⠀⠓⠀⡼⡘⠀
⠀⠀⢿⣯⣿⣿⣾⣿⣿⡿⠿⡿⣭⡭⠬⢭⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣧⠀⣿⣿⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠠⠱⠁⠀
⣤⣤⣼⣿⣿⣿⣿⣿⣿⣷⢶⣮⣬⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⠀⣿⣿⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⣿⣿⣿⣿⣿⢾⣷⣿⢾⣾⣟⣿⢻⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣩⠄⣿⣟⣰⣛⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⣀⣀⡀⣀⣰⣀⠀⠀⠀⢳⠹⣦⢺⠯⢖⡖⢲⣗⡆⡶⡖⡖⣰⠵
⣿⣿⣿⣷⣾⣾⣿⣿⣶⣿⣿⣾⣿⣷⣿⣾⣾⣿⠾⠛⠖⠛⠟⠻⠑⠛⠞⠓⠝⠀⢼⡾⠙⠞⠙⠞⠻⠚⠶⣿⣷⢟⡳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠨⠔⠁⠈⠉⠈⠁⠈⠈⠁⠁⠁⠁⠈⠁
⠉⠿⠿⣿⣿⣿⣿⡿⠹⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠀⣿⣿⢸⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⠀⣀⠀⠖⣠⡀⠀⠀⢀⡄⠀⠀⠀⢸⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡼⠀⡀⠀⠀⠘⢁⠀⣀⡘⢀⢀⠀⠀⠀⠀⠀⣠⠀⣜⡀⣀⡀⣈⢀⣀⠀⠀⠀⣀⢀
⢉⡇⢸⡃⣏⢸⣇⡎⣘⣁⡏⠇⡏⠏⠀⠀⠠⠯⠧⢹⡟⣟⢾⡓⢸⢻⢣⣯⠇⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠠⣏⡃⣾⡚⡽⠉⡏⠸⡶⢱⡃⡼⣹⠸⣽⠁⠀⠀⣇⢰⠣⠇⣇⠃⠏⠸⠁⠀⠀⢠⡇⠪
⠈⠁⠈⠀⠉⠀⠁⠁⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠀⠀⠀⠁⢀⠀⡜⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡠⣠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠨⠜⠀⡀
⠀⠀⠀⠀⠀⠀⡀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠸⢓⠞⡣⣤⠀⠈⠉⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⣽⠓⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠖⠂⠀⠘⣰
⡀⡀⣀⢠⣤⡼⢁⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⠀⡟⣰⠁⡀⣀⠄⡤⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣄⠀⠀⢀⣤⡄⣤⡄⢠⠀⡄⠀⡟⠚⡤⡄⢤⠤⣤⣤⡄⠀⠀⢠⠤⠀⡜⠀⠀⠀⠀⢧
⠏⠇⢏⢸⣿⡅⣯⣿⢸⡏⡇⣿⢸⢬⣘⡯⡇⢻⣼⠼⢸⢹⡇⣿⣿⠰⠷⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠸⠺⠀⠃⠇⠸⡼⠀⠴⠃⠀⠓⠂⠏⠀⠃⠃⠃⠀⠀⠈⠒⢠⠇⠀⠀⠀⢠⡠
⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣀⡔⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢠⠶⡉⡄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠊⠀⠀⠀⠀⠀⠈
⠀⠀⣠⠂⠀⣠⣄⢰⣦⡄⣠⣄⢀⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⡄⡏⣟⡹⠀⢠⠼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠰⠕⡼⡠⠇⠀⠀⠀⠀⠀⣰⠁⠀⠀⢀⠀⠀⠀⠀⠀⠀⢰⠁⡀⠀⠀⠀⠀⠀⠀
⢀⣤⠇⢰⡆⣿⣭⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⡇⡇⣿⢸⣼⡇⣸⠉⢧⠀⡶⢠⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡰⠶⠀⠤⢠⡇⣴⠶⡔⠆⢰⢷⢆⡇⡮⠇⠀⡏⢱⠒⠀⢠⢦⠇⡞⡸⣁⡯⠇⡟⠃⠠⡛
⠘⠚⠋⠛⠃⠎⠁⠘⠂⠓⠈⠑⠒⠛⠀⠀⠒⠘⠀⠃⠓⠈⠋⠑⠃⠀⠈⣧⠧⢍⡏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠙⠁⠀⠈⠉⠀⠉⠁⠉⡁⡞⠉⠈⠀⠉⠀⠀⠉⠀⠉⠀⠈⠉⠈⠀⠉⠀⠉⠈⠁⠀⠀⠉
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢴⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠊⠀⠉⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⡀⠀⢀⣀⢀⣇⠀⠀⢀⣀⢀⣀⣀⡁⣀⢀⢀
⡶⡖⡞⣘⢙⡘⣛⣃⢆⣀⡀⠀⣘⠰⣹⠉⣇⢆⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠋⠉⠉⣤⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡻⠸⡧⡧⢸⡀⡼⢸⠀⠀⡟⠜⢸⠃⢸⠀⠏⠏⢾
⠁⠁⠁⣿⢸⡏⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠧⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⠀⠀⢰⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣰⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢘⣾⢻⣿⢀⣿⡷⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡄⢂⡌⢹⣿⡇⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⢠⢀⡖⠂⠀⠀⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡴
⣸⣷⣀⣸⡿⣾⠿⣼⣿⡇⣰⡆⢀⡀⠀⣰⡄⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⠁⢸⡇⠈⣿⡇⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠲⢠⢤⢰⠃⡄⡰⠀⢰⡗⡠⠄⠀⢠⢠⢠⣷⠗
⠟⠟⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⠀⣿⣇⠀⣿⢇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠣⠳⠀⠚⠀⢳⠃⠀⠸⠈⠓⠂⠀⠘⠀⠸⡸⠀
⠀⠀⢘⣯⣿⣿⣾⣿⣿⡿⠿⡿⣯⡭⠌⢭⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣧⠀⣿⣿⠀⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠇⠃⠀
⣤⣤⣤⣿⣿⣿⣿⣿⣿⣷⢶⣯⣬⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⠀⣿⣿⠠⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⣿⣿⣿⣿⣿⢾⣿⣿⢾⣾⣟⣿⢻⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣩⠄⣿⣟⣸⣛⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⣀⣀⡀⣀⣰⣀⠀⠀⠀⢺⠙⣧⢺⠿⢆⡖⢒⡖⡆⡲⡶⣶⢰⠵
⣿⣿⣿⣷⣾⣾⣿⣷⣶⣿⣾⣾⣿⣷⣿⣾⣾⣾⠾⠛⠖⠛⠗⠻⠑⠛⠾⠓⠟⠀⢼⡾⠙⠞⠙⠞⠻⠚⠶⣿⣷⢟⡳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠸⠻⠃⠳⠋⠃⠏⠇⠆⠀⠀⠩⠔⠉⠈⠉⠈⠁⠈⠈⠁⠁⠁⠉⠈⠁
⠉⠿⠿⣿⣿⣿⣿⡿⠻⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⠀⣀⠀⠖⣠⠀⠀⠀⢀⣄⠀⠀⠀⢸⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⡸⠀⡀⠀⠀⠘⢁⠀⣀⡘⢀⢀⠀⠀⠀⠀⠀⣤⠀⡜⡀⣀⡀⣈⢀⣀⠀⠀⠀⣀⢀
⢉⠇⣸⡃⡏⢸⣇⡎⣘⣁⡮⠇⡏⠏⠀⠀⠠⠏⠧⢹⡾⡟⣾⡓⣸⢻⢡⣯⠇⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⣏⡣⣞⡚⡽⠉⣏⠹⡖⢡⡇⡼⢽⠸⣽⠁⠀⠀⣇⢰⠣⠇⡇⠃⠏⠸⠁⠀⠀⢀⡇⠮
⠈⠁⠈⠀⠉⠀⠁⠁⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠁⠈⠀⠁⢀⠀⡼⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠨⠜⠀⠀
⠀⠀⠀⠀⠀⠀⣀⡀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠸⢓⠞⣣⣠⠀⠈⠉⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⣽⠓⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠂⠂⠀⠘⣰
⣀⡀⣀⢠⣤⡼⢁⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⠀⡟⣰⠁⡀⣠⠀⡴⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣄⠀⠀⠀⣤⡄⣤⡄⢠⠀⡄⠐⡟⠚⡠⡄⢤⠤⣤⣤⡤⠀⠀⢀⠤⠀⡞⠀⠀⠀⠀⢧
⠇⠇⢏⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡯⡇⢻⣼⠼⢸⢹⡇⣿⣿⠰⠵⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠸⠸⠠⠃⠇⠸⡼⠀⠴⠃⠀⠓⠂⠏⠀⠃⠃⠃⠀⠀⠈⠒⢠⠇⠀⠀⠀⠠⡠
⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣀⡔⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢤⠶⡉⡄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠊⠀⠀⠀⠀⠀⠈
⠀⠀⣠⠂⠀⣠⣄⢰⣦⡄⣠⣄⢀⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⡄⡏⣟⡽⠀⢀⠼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠰⠔⡼⣀⠇⠀⠀⠀⠀⠀⣰⠁⠀⠀⢀⠀⠀⠀⠀⠀⠀⢰⠁⡀⠀⠀⠀⠀⠀⠀
⢀⣴⠇⢰⡆⣿⣭⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⠇⡇⣿⢸⣼⡇⣸⠉⢧⠀⣶⣠⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡰⠴⠀⠤⢠⡇⣴⠶⡔⠂⢲⢷⢆⡇⡮⠇⠀⡏⢰⠓⠀⢠⢮⠇⡞⡸⣁⡯⠇⡟⠃⢰⡛
⠘⠚⠋⠛⠁⠎⠁⠘⠀⠓⠈⠑⠃⠛⠀⠀⠒⠘⠀⠃⠓⠈⠋⠑⠋⠀⠈⣧⡧⢍⡏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠙⠁⠀⠈⠉⠀⠉⠁⠉⡁⡎⠉⠈⠀⠉⠀⠀⠉⠀⠉⠀⠈⠉⠉⠀⠉⠀⠉⠀⠁⠀⠀⠉
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠊⠀⠉⠁⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⡀⠀⢀⣀⢀⣇⠀⠀⢀⣀⢀⣀⣀⡁⣀⢀⢀
⡶⡖⡞⣘⢙⣘⣛⣃⢆⣀⡀⠀⣘⠰⣹⠉⣇⢆⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠋⠉⠉⣤⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡻⠸⡧⡧⢸⠀⡼⢹⠀⠀⡿⠜⢸⠃⢸⠀⠏⠏⢾
⠁⠁⠁⣿⢸⡏⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠧⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⠀⠀⢰⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢘⣾⢻⣿⡀⣾⡷⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡄⢂⡌⢸⣿⡇⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⢀⡖⠂⠀⠀⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡴
⣰⣷⣀⣸⡿⣿⠿⣷⣿⡇⣰⡆⢀⡀⠀⣰⡄⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⠁⢸⡇⠈⣿⡇⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠲⢠⢤⢰⠃⡤⡰⠀⢰⡗⡠⠄⠀⢠⢤⢀⢧⠗
⠟⠟⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⠀⣿⡇⠀⣿⢇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠣⠻⠂⠚⠀⢳⠃⠀⠸⠈⠑⠂⠀⠘⠀⢸⡸⠀
⠀⠀⢘⣯⣿⣿⣾⣿⣿⡿⠿⡿⣯⡭⠬⢭⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣯⠀⣿⣿⠀⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡠⠏⠀⠀⠀⠀⠀⠀⠀⠀⠠⠣⠃⠀
⣤⣤⣤⣿⣿⣿⣿⣿⣿⣷⢶⣯⣬⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⠀⣿⣿⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⣿⣿⣿⣿⣿⢾⣿⣿⢾⣾⣟⣿⢻⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣩⠄⣿⣟⣸⣛⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⣀⣀⡀⣀⣰⣀⠀⠀⠀⢺⠙⣇⢸⡯⢆⡖⢒⡖⡆⡲⡶⣶⢰⠵
⣿⣿⣿⣷⣾⣾⣿⣷⣶⣿⣿⣾⣿⣷⣿⣾⣾⣿⠾⠛⠶⠛⠗⠻⠑⠛⠞⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⠚⠶⣿⣷⢟⡳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠸⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠩⠔⠉⠈⠉⠈⠁⠈⠈⠁⠁⠁⠉⠈⠁
⠉⠿⠿⣿⣿⣿⡿⡿⠻⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
[22A⠀⣀⠀⠖⣠⠀⠀⠀⢀⡀⠀⠀⠀⢸⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢩⣶⣿⣿⣿⣿⣿⣿⣿⣶⣄⠀⠀⠀⠀⣸⠀⡀⠀⠀⢐⢁⡀⣀⡘⢀⢀⠀⠀⠀⠀⠀⣠⠄⣼⡀⢀⡀⣈⢁⣀⠀⠀⠀⣈⢀
⢁⡇⢸⡃⡏⢰⣇⡞⣘⣁⡾⠇⡎⠏⠀⠀⠠⠏⠯⢹⡞⣟⢾⡓⢸⢻⢣⣏⠇⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⣏⡇⣜⡚⣸⠉⡟⠘⡷⢡⡇⡼⢹⠰⣽⠀⠀⠀⣏⢰⠣⠇⢇⠃⠏⠸⠁⠀⠀⢀⡇⠺
⠀⠁⠈⠀⠉⠀⠁⠁⡷⣿⢸⡿⠇⣿⢹⢰⡏⡇⣿⢸⡏⠁⠈⠀⠁⢀⠀⡼⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣠⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠜⠀⠀
⠀⠀⠀⠀⠀⠀⡀⠀⠓⠛⠘⠛⠃⠛⠘⠈⠓⠃⠛⠸⢓⠟⣣⣠⠀⠈⠈⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠊⢽⠓⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠆⠂⠀⠘⣰
⣀⡀⢠⢠⣤⡼⢁⡀⢀⣀⡀⡀⢀⣀⠀⣀⡀⡀⢀⠀⡟⣰⠁⡀⣀⠀⡤⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣤⠀⠀⠀⡤⡄⣤⣤⢠⠄⡄⠀⡟⠚⡤⡄⢤⠤⣤⣤⡤⠀⠀⢀⠤⠀⡼⠀⠀⠀⠀⣯
⠇⠇⢏⢸⣿⡅⣫⣿⢸⡏⡇⣿⢸⢬⣘⡯⡇⢻⣼⠼⢸⢹⡇⣿⣿⠠⠇⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠸⠹⠀⠃⠇⠸⡼⠀⠰⠃⠀⠓⠂⠏⠀⠃⠃⠃⠀⠀⠈⠒⢠⠇⠀⠀⠀⠠⡠
⠀⠀⠀⠘⠉⠃⠙⠛⠈⠁⠃⠋⠈⠊⠈⠋⠃⠘⠋⠀⠈⠛⠁⠋⠙⣀⠔⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢠⠴⡉⡄⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠈⠀⠀⠀⠀⠀⠈
⠀⠀⣠⠒⠀⣠⣄⢰⣦⡄⣠⣄⢀⣤⡀⣶⡠⢰⠀⡖⣄⢠⣤⡄⡎⣟⡽⠀⢠⠼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠰⠕⡼⡀⠇⠀⠀⠀⠀⠀⣰⠁⠀⠀⢀⠀⠀⠀⠀⠀⠀⢰⠃⡀⠀⠀⠀⠀⠀⠀
⢀⣤⡇⢰⡆⣿⣭⢸⣿⡇⣿⣿⢸⣇⡅⣿⣧⢸⡆⡇⣿⢸⣼⡇⣸⠋⢷⠀⣶⢠⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣰⠲⠀⠠⢠⡇⣰⠷⡔⠆⢰⠷⢆⡏⡮⠇⠀⡏⣰⠒⠀⢠⢮⠇⡞⠸⣁⡮⠇⡟⠃⠠⡛
⠘⠚⠊⠛⠃⠎⠁⠘⠀⠓⠈⠑⠃⠛⠀⠀⠒⠘⠀⠃⠒⠈⠋⠑⠋⠀⠈⣧⡿⢍⡏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠙⠁⠀⠈⠋⠀⠉⠁⠉⡁⡞⠉⠈⠀⠁⠀⠀⠉⠀⠉⠀⠈⠉⠉⠀⠈⠀⠉⠀⠁⠀⠀⠉
⠀⠀⠀⠀⣿⢠⣶⡄⣶⢰⢠⣶⡆⣿⢸⡇⣷⢰⣰⡆⠀⡖⣦⢺⠃⠓⠊⠀⠉⠉⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠿⠸⣷⠆⣻⣾⠰⡯⠇⠿⠸⠇⠿⢈⣿⠃⠀⢧⠟⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⡀⠀⠀⣀⢀⣇⠀⠀⢀⣀⢀⣀⢀⡁⣀⢀⠀
⡲⡶⣖⣘⢙⡘⣓⣃⢆⣀⡀⠀⣘⠱⣹⠁⣇⢆⡰⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⠋⠉⢩⣨⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡹⠸⡧⡧⢸⡀⡼⢹⠀⠀⡿⠜⢰⠃⢸⠁⠏⠏⠺
⠁⠁⠁⣿⢸⡟⣿⠼⢸⡇⡓⠀⣿⢹⣶⡯⠇⢹⢱⡏⣷⣾⠆⣾⠵⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⠀⠀⢰⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣰⠃⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⢘⣾⢻⣿⢈⣿⡷⠃⠀⠛⠚⠉⠳⠃⠘⠈⠓⠋⠛⠀⠛⠚⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⡄⢃⡈⢸⣿⡏⠀⢰⣶⣶⣶⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⡔⠒⠀⠀⡔⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡰
⢰⣷⣀⣸⡿⣼⢿⣼⣿⡇⣰⡆⢀⡀⠀⣐⡄⣀⣠⢠⡄⣀⣀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⠁⢸⡇⠈⣿⡇⠀⠀⠿⠿⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⠴⢠⢤⢰⠇⡄⡰⠀⢰⡗⡠⠄⠀⢠⢠⢠⣧⠗
⡟⡟⣿⡇⣿⣿⢣⣿⣿⢸⡇⡃⣿⣛⢸⡗⡃⣿⢸⢸⡇⣿⢸⢸⣇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⠀⣾⡇⠀⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠣⠻⠀⠚⠀⢳⠃⠀⠸⠈⠑⠂⠀⠘⠀⢸⠸⠀
⠀⠀⢘⣯⣿⣿⣾⣿⣿⡿⠿⡿⣯⡭⠬⢭⠁⠉⠉⠈⠁⠉⠈⠐⠓⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣟⠀⣿⣿⠀⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣀⠏⠀⠀⠀⠀⠀⠀⠀⠀⠠⠧⠃⠀
⣤⣤⣬⣿⣿⣿⣿⣿⣿⣷⢶⣮⣬⣥⣤⣤⣤⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⠀⣿⣿⠀⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⣿⣿⣿⡟⢫⣿⣿⣿⣿⣿⢾⣿⣿⢾⣾⣟⣿⢻⣴⠄⣀⡀⡀⡀⣀⡀⣀⣄⣀⠀⢀⣀⢀⣀⢀⣀⢀⣩⠄⣿⣟⣰⣛⣀⣀⡀⣀⡀⣀⡀⢦⡄⢀⢀⢀⣀⡀⣀⣠⣀⠀⠀⠀⢺⠘⣇⢺⡯⠆⡖⢒⡗⡆⡲⡶⣶⢰⠱
⣿⣿⣿⣷⣾⣾⣿⣷⣶⣿⣿⣾⣿⣷⣿⣾⣾⣿⠾⠛⠶⠛⠗⠻⠑⠛⠾⠓⠝⠀⢸⡾⠙⠞⠙⠞⠻⠚⠶⣿⣷⢟⣳⠋⠻⠓⠿⠺⠑⠃⠸⠀⠘⠛⠃⠳⠋⠃⠏⠇⠆⠀⠀⠨⠔⠉⠈⠉⠈⠁⠈⠀⠁⠁⠁⠉⠈⠁
⠉⠿⠿⣿⣿⣿⡿⡿⠻⠿⠏⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
䷩ 𝚕𝚒𝚗𝚎 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 ⟲
text/plain;lang=en-GB
This content has been proxied by September (ba2dc).