𝕿𝖊𝖈𝖍𝖗𝖎𝖌𝖍𝖙𝖘 Bulletin for Tuesday, January 04, 2022 ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ Generated Wed 5 Jan 02:41:51 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/04/ ╒═══════════════════ 𝐑𝐄𝐂𝐄𝐍𝐓 𝐁𝐔𝐋𝐋𝐄𝐓𝐈𝐍𝐒 ════════════════════════════════════╕ Previous bulletins in IPFS (past 21 days, in chronological order): QmbheKKYhpyw3SvZSmHbavdgcv1PSaRtPdaQ746tgUFXbp QmZqoL722Mk7hDJcSz2oBxydXY7S2G5r4ByHgRdKBw7dUH QmTZSRzHEP7hwr4tL7ky23HxA9Z3tUBjQrfwYPAieSYsGe QmRKnWzns1EsWaoxUGG5KEEhiyhSELGYVdfVqSB5Ay4qhc QmZdVw5kGwFeXoGNexLWZDS8MJxeGKAeup4JpiAnmE946y QmYdAKSfCu9puR3SWGWwGW19Uzo1jj4L1aYpeGqpC5FCp6 QmZP4LnsTHrznHVdokybFZafDLWJqRPKyvvberG4dVRasQ QmfL4kPLDVa6CGiB1yXozobGCQ5fTPahv8T7hPstsxvkie QmP2Y5UBBDqcCEECSknvoPU6WVjL4V93dQMbKj34jYv56N QmTTqHT1gu1SWzp4ejhsMMHeEr1cnaDHeAQnawx8obkmR5 QmVjqVfy1bLLkjPbYtUagNsq6vfXCToNocEPu1s2Cvo3ab QmXVB3t7bvESJpBXVnHEH2koE5NY8MqsHXWVco5dbnNW1M QmUnmYrNuwB9WxrYeqcbFyf8Bew66hMkdU1YVc9WsKh4JC QmYjUQnBiQsqQMypkyvfTj7b9arksYuzUe1BzJ9a6JUTk4 QmarLrYBMcbMFgab1qAkPGRjRr57niwUpd5PEPbMp8225S QmYYUiUwcwdiuMNs9EXu5Ci3ELNhZcY4b7JsFUZqp7drnc QmTWhb5PucmgsMLVAJufczuFnxY37RcgjXGMTczMdhndPd QmVgY18p35Thp6aWh7cRUuoocqLYGYFW2QnLEJhuqn69Kw QmcN2LseMFZtt5HtSJMT5h9HDZa4ZNy6B7uWe7gK8fPeF9 QmfH2by4K6HCiZyvyGQ1L5syH6ZSfcHH12ph6TDo82aovk QmbfkzNgEcSLWg1uktyXVKRqXdn8cURLS2BGZZ8j7BRu53 ╒═══════════════════ 𝐈𝐍𝐃𝐄𝐗 ═══════════════════════════════════════════════════╕ ⦿ The EPO’s Race to the Bottom — Part II — “Playing People Off Against Each Other is Not the Way We Want to Go Forward!” | Techrights ⦿ The EPO’s Race to the Bottom — Part I — From Bad to Worse | Techrights ⦿ [Meme] High on Quantities | Techrights ⦿ IRC Proceedings: Monday, January 03, 2022 | Techrights ⦿ Dialogue With the OSI | Techrights ䷼ Bulletin articles (as HTML) to comment on (requires login): http://techrights.org/2022/01/04/epo-conflict-2020/#comments http://techrights.org/2022/01/04/epo-from-bad-to-worse/#comments http://techrights.org/2022/01/04/epo-quantities/#comments http://techrights.org/2022/01/04/irc-log-030122/#comments http://techrights.org/2022/01/04/osi-dialogue/#comments ䷞ Followed by Daily Links (assorted news picks curated and categorised): http://techrights.org/2022/01/04/kaos-2022-01/#comments http://techrights.org/2022/01/04/new-future-for-gnupg/#comments ䷩ 𝚕𝚒𝚗𝚎 60 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/04/epo-conflict-2020/#comments Gemini version at gemini://gemini.techrights.org/2022/01/04/epo-conflict-2020/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.04.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ The_EPO’s_Race_to_the_Bottom_—_Part_II_—_“Playing_People_Off_Against_Each Other_is_Not_the_Way_We_Want_to_Go_Forward!”⠀✐ Posted in Europe, Patents at 7:33 pm by Dr. Roy Schestowitz Series parts: 1. The_EPO’s_Race_to_the_Bottom_—_Part_I_—_From_Bad_to_Worse 2. YOU ARE HERE ☞ “Playing People Off Against Each Other is Not the Way We Want to Go Forward!” 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇Conflict: Chess Knights⦈ Dividing people along superficial lines such as colour (sectarian_tactics) Summary: The yellow unions and scabs at the EPO are part of a disturbing pattern that includes dog-eat-dog strategies; when a patent office is run by sociopathic politicians we can expect provocation and underhanded tactics, not science and policies based upon evidence AFTER the so-called “first wave” of COVID-19 (when kids were returning to schools) “the Central Staff Committee (CSC) [said it had] requested from the administration an impact study [on Childcare, Education, Payment of School fees], as the Office used to do in the past each time the scheme was amended.” “Europeans deserve to know what is done in their name (and at their expense).”The language used in the publication was remarkably polite and diplomatic, but the concluding words express growing dissatisfaction, seeing that António_Campinos had the same objectives as Benoît_Battistelli, albeit with a slight attitudinal difference (at least on the shallow surface). Battistelli had already done a lot of the ‘dirty work’ for Campinos (e.g. “Strike Regulations” which Campinos was happy to exploit for 3 years despite their illegality), so Campinos just carried on with the aforementioned ‘demolition’ job, turning a once-attractive patent office with high-calibre scientists into a notorious employer with low-skilled recruits (in relative terms, even compared to the USPTO). Today we publish one among several papers that belong in the public domain. Europeans deserve to know what is done in their name (and at their expense). Munich 18.09.2020 sc20016mp – 0.2.1/4.2.2 § Education and Childcare Reform⠀➾ § Where do we stand?⠀➾ The proposal for a reform of the Childcare, Education, Payment of School fees, and Expatriation (supplement) allowances, presented to us by the Administration, has been deemed by the President himself to “not constitute an adequate overview of the subject” and to be “a collection of working level background documents that provide fragmented information and which may in themselves only cause confusion”[1]. We note that, if the Administration decided to include the Staff Representation at much earlier stage into the development of this proposal, precious time could have been saved and the reform could have been already prepared in a way which protects the interests of all colleagues concerned. However, in confirmation to what we told the Administration during the first meeting of the Working Group, their proposal[2] provoked a massive resistance amongst staff who will be on the losing side, expressed with numerous mails to us and to the Administration. During this meeting we also raised the issue about the too short time of only few days we had for analysing and responding to the proposal and for elaborating on the terms of a transitional period. Following our complaint and the feedback received from colleagues in all places of employment, only six days after the first Intranet publication from the administration on the proposed reform, the President unilaterally decided to increase the timeline by one additional year [3]. Inevitably, the postponement attracted the attention of staff who would benefit from their inclusion into the discussed allowances, such as staff who are nationals at their respective places of employment, some of whom immediately reacted and requested the reform to be implemented as soon as possible. Obviously, the proposal of the Administration artificially divides staff by trying to redistribute the money from the ones who benefit from the current situation (as this was stipulated in the ServRegs when they joined the EPO) and giving it to staff who have been excluded for years because of their non-expat status. Playing people off against each other is not the way we want to go forward! ______ [1] Letter from the President to the LSCTH, 30.07.2020 [2] Education and childcare reform, 24.07.2020 [3] Education and childcare reform, 30.07.2020 ===================================================================== Despite the postponement, we continued working closely together with the WG colleagues from The Hague, Berlin and Vienna also during the holidays, conducted several meetings without the Administration and exchanged all possible information available in order to better understand the situation and the needs of each staff sub-group concerned. Meanwhile, the Central Staff Committee (CSC) has requested from the administration an impact study, as the Office used to do in the past each time the scheme was amended. We will continue trying to achieve the best possible solution for all staff, first step of it being the inclusion of excluded staff to the existing allowances as initially planned with the aim to respond to the needs of all staff without redistributing and without reducing the budget. Your Local Staff Committee Munich We’ll continue to publish this series tomorrow and the rest of this week. It’s all about transparency. Names aren’t disclosed. █ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠉⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠛⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠉⠙⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣈⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⢰⣶⣶⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣤⣦⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠛⠛⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣄⣀⣀⣀⣀⣀⣀⣀⣀⣀⣀⣠⣤⣤⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣶⣾⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ䷩ 𝚕𝚒𝚗𝚎 234 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/04/epo-from-bad-to-worse/#comments Gemini version at gemini://gemini.techrights.org/2022/01/04/epo-from-bad-to-worse/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.04.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ The_EPO’s_Race_to_the_Bottom_—_Part_I_—_From_Bad_to_Worse⠀✐ Posted in Europe, Patents at 6:22 am by Dr. Roy Schestowitz Summary: Today we start a series which takes a closer look at why EPO staff is so displeased and why the ‘brain drain’ this entails will likely doom the EPO and harm Europe financially, not just morally A week ago we dropped a bunch of internal documents from the EPO. Our sole intention was to raise awareness, as without awareness we instead get shameless propaganda, lulling us into apathy and inaction. Things aren’t fine at the EPO; far from it. A bunch of law firms — or self-serving litigation firms — want the public to “move on” and pretend that because Battistelli is no longer in charge we should “get on with the program”, ratify the UPC, and let national patent courts be replaced by the_EPO's_kangaroo_courts. “There was,” a reader told us, “a month or so ago, an article from SUEPO about the EPO hiring staff suffering from autism. At first I thought “well a good move” that goes beyond hiring people with disabilities. But wait a minute, the EPO changing in a positive way? That is very unlikely!” “This may be worse than the yellow union.”We responded to that debacle in this post_and_video_from_last_year. This may be worse than the yellow union. We covered the same issue in relation to technology companies in the past. The programme is spun as well-meaning if not altruistic. It’s not what they say, however, definitely not what it seems on the surface, and we ran guest articles by autistic people who themselves complain about it (more links to articles are available in the link above). “Having a closer look at the advanced reasons,” the reader continued, “I realised that the EPO is not only the same but getting worse. Hiring sick people in order to presumably take advantage of one of the side effects of their illness.” “…it looks and feels like scabs.”Yes, this is how technology companies market it as well. They flatter autistic people, or so they think. Those people are, in turn, feeling insulted. “The EPO management is truly SICK (and sickening),” the reader said. “The EPO would also hire slaves or children in developing countries if they could. The important thing would be staff that are not in the Union, that don’t ask questions. Just rubber stamp “granted”. This office is shameless and odious.” 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇Scab image⦈ Over the coming few days we’ll publish some internal documents illuminating what António_Campinos, as EPO President for 3.5 years already (as of 3 days ago), did and continues to do to EPO staff. As we noted here before [1, 2], it looks and feels like scabs. “Back to EPO,” an associate of ours noted this morning, “I would suspect that the end game they have planned is financialization. That would enable them to fire the staff and keep a handful of beancounters around, with whom they share ideals and goals. One or two patent examiners would be kept around so they could claim to be in business but the examiner(s) would be on a really short leash, more so than now.” It’s also where the “Hey Hi” [sic] hype fits in. Programs are more obedient than living things. Some_of_these_programs_are_controlled_by_large_patent applicants. It begets regulatory_capture. █ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠛⠟⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⠀⠀⠀⢀⣀⣀⣀⠀⠀⠀⠀⠀⠀⣀⣀⣀⡀⠀⠀⣀⡀⠀⠀⠀⠀⡀⠀⠈⣁⣀⣀⣀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⢀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⠀⠀⠀⢸⣿⠛⠻⣿⢦⠀⠀⢴⣾⠟⠛⠻⢿⣆⠀⣷⣿⣄⠀⠀⣿⣟⠀⠸⠛⢻⡿⠟⠓⠀⠀⠀⠀⢠⣿⡟⠛⠋⠀⠀⣰⣿⠟⠛⢻⠀⠀⠀⣠⣇⠀⠀⠀⢸⡿⠛⢿⣦⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⠀⠀⠀⢸⣿⠀⠀⠈⣿⡇⢸⣿⡏⠀⠀⠀⢻⣿⡆⣿⣿⣿⣧⡀⣿⡇⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⠀⠸⣷⣷⣄⡀⠀⣸⣿⠁⠀⠀⠀⠀⠀⢠⣿⣿⡄⠀⠀⣽⣇⣀⣼⠟⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⠀⠀⠀⢸⣿⠀⠀⢠⣿⡇⢸⣿⡇⠀⠀⠀⣸⣿⠇⣿⣿⠙⢿⣿⣿⡿⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣷⡀⣿⣿⠀⠀⠀⠀⠀⢀⣿⠋⣿⣷⠀⠀⣼⡟⠙⠻⣶⡄⠀⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⠀⠀⠀⢼⣿⣀⣠⣾⡿⠁⠀⢻⣿⣄⣀⣠⣷⠟⠀⣿⣿⠀⠀⠻⣿⡇⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⣠⣄⣀⣰⣿⠃⠻⣿⣦⣤⣤⣆⠀⣾⣿⣴⢾⣿⣇⠀⣿⣆⠀⣀⣿⠇⠀⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⠀⠀⠀⠊⠛⠛⠋⠉⠀⠀⠀⠀⠈⠙⠛⠛⠁⠀⠀⠛⠛⠀⠀⠀⠘⠓⠀⠀⠀⠈⠛⠀⠀⠀⠀⠀⠀⠉⠛⠛⠛⠁⠀⠀⠀⠉⠛⠋⠀⠘⠛⠀⠀⠀⠛⠙⠀⠙⠛⠛⠛⠉⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠦⡲⠀⠆⠦⠆⠀⠲⠰⠶⠰⠆⠀⠀⠆⠦⠆⠆⠔⠆⠶⠆⠠⠂⠤⠀⠢⠠⠲⠰⠀⠶⡂⠰⠂⠆⠂⢦⢀⣆⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠁⠃⠃⠛⠁⠀⠃⠓⠛⠈⠛⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢿⣿⢿⢿⣿⢿⢿⢿⢿⣿⢿⡿⣿⡿⢿⢿⢿⣿⡿⠿⡿⣿⢿⡿⣿⣯⣿⣿⣿⣿⣿⣿⣿⡿⣿⡿⣿⣿⣿⡿⣿⣿⢹⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣧⣧⣾⣼⣤⣾⣯⣶⣷⣿⣿⣿⢬⣯⣷⣬⣼⣿⣵⡅⣿⣧⣮⣴⣿⣭⣿⣿⣿⣼⢨⣼⣿⣼⣼⣷⣿⣴⣽⣼⣤⣿⣤⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣿⣿⣿⣿⣿⢿⡟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣿⣿⣿⣿⣻⣿⡟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⣵⣮⣰⣩⢢⣿⣇⣏⣱⣹⣸⢉⣗⢝⣿⣏⢏⣏⣾⣿⡷⣇⣿⡡⣻⣿⢸⣹⣁⢏⡿⣯⢫⡹⣹⣸⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣵⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢭⢻⣯⢟⣿⣿⣟⢿⢻⡟⡟⡇⡟⢸⠛⡏⡟⡟⠯⣿⡟⡟⣿⢻⣿⢹⢸⢻⢛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣶⣿⣿⣷⣾⣶⣶⣶⣷⣾⣶⣷⣷⣷⣇⣫⣿⣿⣾⣾⣾⣿⣷⣾⣾⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⢿⠿⡿⡿⡿⡿⠿⠿⡿⢿⡏⣿⢿⢿⢿⡿⡿⢿⡿⡏⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣼⣼⣽⣧⣧⣿⣧⣧⣧⣿⣭⣮⣿⣼⣼⡧⣽⣦⣯⣧⣥⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⢸⣿⡟⡛⠻⢻⡟⠻⣟⢟⡟⡛⢻⢻⢻⣟⠟⢿⡟⡟⠛⣻⣻⢻⣻⣻⡟⣿⠟⣻⡿⢿⣿⢻⠛⡿⢿⠛⠻⣿⢟⢿⣿⢻⢟⣿⠿⢿⠿⢟⣟⢿⡟⢻⢿⣿⡿⢻⣟⢿⡟⢿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠀⠸⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠟⠀⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ䷩ 𝚕𝚒𝚗𝚎 349 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/04/epo-quantities/#comments Gemini version at gemini://gemini.techrights.org/2022/01/04/epo-quantities/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.04.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ [Meme]_High_on_Quantities⠀✐ Posted in Europe, Patents at 7:56 pm by Dr. Roy Schestowitz 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇'Production' up, quality down⦈ This is the way to run a patent office… into the ground Summary: Patent examiners at the EPO, i.e. people who know best what is being accepted/enshrined as European Patents, repeatedly caution about collapse in patent compliance/legitimacy/validity/quality [1, 2] and the general public needs to know about it ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⠿⠿⡿⠿⠿⠿⣿⡿⠿⢿⣿⡿⠿⠿⣿⡿⠿⢿⣿⠷⠶⠶⠶⣶⣿⠿⢷⣶⠶⣶⠾⠿⣿⣿⣿⣿⣧⣆⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⠿⠍⠉⠛⠃⠀⠈⣿⠀⠀⠘⢹⠁⣶⣶⣶⣶⡄⣶⣶⣦⢠⣶⢶⣆⢲⣶⣶⡆⣶⡆⣶⡆⣴⣶⣶⠰⢶⣶⠆⣶⡆⣴⡶⣶⣰⣶⣰⣶⢶⡆⣿⣿⣿⣿⡏⢿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⢿⣿⣿⣿⣿⣿⣟⣉⠉⠈⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀⠀⠴⣢⡉⣿⣿⣿⠇⣿⣿⣟⢸⣿⢸⣿⢸⣿⣿⡇⣿⡇⣿⡇⣿⡟⠛⠃⢸⣿⠀⣿⡇⣿⡇⣿⣿⣿⣿⣿⠈⣵⣿⣿⣿⣿⡀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠜⣿⡿⣿⣯⣉⠉⡉⠀⡀⢀⠀⡀⡀⣀⣄⣰⣖⣤⣄⢀⢾⣿⡇⣿⣿⢠⠀⣿⣿⣿⠸⣿⣼⡟⢸⣿⣿⡇⢿⣧⣿⠇⣿⣿⣿⠁⢸⣿⠀⣿⡇⢿⣧⣿⢻⣿⢹⣿⢀⣿⣿⣿⣿⣿⡄⣿ ⣿⣿⣿⣿⣿⣿⣽⣯⣿⣶⣶⣷⣿⣿⠿⠍⠘⠤⠄⠀⠈⠺⠀⠥⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣤⣾⣤⣄⣤⣤⣶⣤⣥⣶⣦⣤⣤⣶⣦⣬⣤⣶⣦⣭⣴⣶⣦⣴⣶⣤⣶⣦⡭⠤⠶⠤⠤⠤⠾⢿⣿⣿⣿⣿⣇⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⢿⠿⠛⠛⠛⢿⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⢸⣿⢸⣿⣿⡆⢿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣷⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣸⣄⣀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⢸⣿⢸⣿⠿⠃⢾⣿⣿⣿⠉⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣶⣾⣦⣴⣾⣿⠿⠛⢛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠸⣿⣼⠟⢸⣿⢰⣿⣿⣿⡿⣿⢶⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⠛⠿⢿⣿⣧⣤⡀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣴⣶⣶⣶⣿⣿⣿⣿⡇⠟⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⣋⣉⡀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣥⡬⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⡇⠀⣿ ⣷⣶⣶⣶⣶⣿⣷⣶⣶⣷⣶⣷⣶⣶⣆⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠟⠃⣀⡈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣿⣷⣷⣿⣿⣾⣿⡂⠁⢠⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠉⠉⠙⠛⣻⡿⣿⣿⣿⣿⣿⣿⠗⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡀⠀⢻ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣼⣿⣦⣄⠀⠉⢙⣿⣿⣿⣿⣿⡀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠁⠀⢸ ⣿⣿⣿⣿⣟⣛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⣿⣿⣿⣿⣿⣿⣿⣶⢰⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣿⣿⣿⣿⣯⣯⣬⣿⣿⣭⣯⣯⣽⣿⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⣰⣄⡀⠀⠙⢦⣄⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢿⣿⣿⣿⡿⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣶⣶⣦⣄⡀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⢇⣴⣿⣿⣿⣿⣿⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⡏⡧⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠹⠿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⡿⠛⣡⣾⣿⣿⣿⣿⣿⡟⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠉⠁⠁⠀⠀⠀⢸ ⣷⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⠞⠀⠀⠀⠀⠀⠀⠀⠹⠿⢿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣿⣿⢿⣿⣿⡿⠋⣰⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢽⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠛⠿⣿⡿⠿⠿⠿⢿⢿⣿⠟⠀⠀⠀⢴⣿⣿⣿⣿⣿⣿⣿⣿⣿⡅⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠿⢟⣿⣿⣿⣿⣿⡿⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⠇⠀⠀⠀⠀⠀⠀⢸ ⣟⣛⣛⣛⣛⣛⣛⣿⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⡘⣿⣿⠿⠿⠛⠀⠀⠀⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣾⡿⣿⢿⢿⣿⣿⣿⣶⡒⠀⠀⠅⠑⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⡇⢰⡇⠀⠀⠀⠀⠠⠰⣶⣦⣤⠌⣿⡇⠀⣀⡀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⢻⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⡇⠈⠑⣶⣒⣲⡆⠀⣦⣉⣉⢠⠀⢧⠁⠀⠘⠃⠀⠀⠀⠀⢸ ⡛⠛⠛⠛⠛⠈⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣾⣿⣛⣟⣛⣻⣛⣛⡃⠀⠀⣯⣽⣽⡇⠀⠷⡶⣶⣶⡀⣈⣀⣤⣤⡄⠀⠀⠀⠀⢸ ⡇⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣴⣶⣶⠶⠶⠶⠶⠶⠶⣶⣶⣶⣶⣶⣶⣶⡿⢿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢸ ⡇⠖⠶⣾⠿⢶⠟⠻⠿⠿⠟⠁⠀⠉⠉⠉⠉⢹⣛⡛⢋⡋⠉⠛⠛⠓⠇⠀⠀⠀⠀⠀⠀⠛⠋⠿⠿⠻⠿⠹⠑⠚⠿⠟⠹⠿⠿⢿⣿⣿⣿⣿⣿⡿⠉⢩⣹⢿⣻⢛⡉⠉⣙⣀⣂⣀⣁⣀⡈⢉⣉⣁⠀⠀⠀⠀⠀⠘ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⠿⠿⡿⠿⠿⠿⣿⡿⠿⢿⣿⡿⢿⠿⣿⡿⠿⢿⣿⠷⠿⠶⠶⣶⣿⠿⢷⣾⣶⣾⠾⢷⣿⣿⣿⣿⣷⣇⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⢿⡿⠏⠉⠙⠋⠀⠀⠀⣿⠀⠀⠡⡿⠁⣶⣶⣶⣶⡄⣶⣶⣦⢠⣶⢶⣆⢲⣶⣶⡆⣶⡆⣶⡆⣴⣶⣶⠰⢶⣶⠆⣶⡆⣴⡶⣶⣰⣶⣰⣶⢶⡆⣿⣿⣿⣿⡏⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⣿⣿⣿⣿⣿⣿⣏⡉⠁⠁⠀⠀⠀⠀⠀⠀⠀⣿⠀⠀⠐⣫⣷⡍⣿⣿⣿⠇⣿⣿⣟⢸⣿⢸⣿⢸⣿⣿⡇⣿⡇⣿⡇⣿⡟⠛⠃⢸⣿⠀⣿⡇⣿⡇⣿⣿⣿⣿⣿⠈⣵⣿⣿⣿⣿⣄⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠼⣿⡿⣿⡍⠉⠀⡀⠀⡀⢀⠀⡀⣀⣄⣴⣶⣶⣤⣀⢾⢿⣿⡇⣿⣿⢀⠀⣿⣿⣿⠸⣿⣼⡟⣸⣿⣿⡇⢿⣧⣿⠇⣿⣿⣿⠁⢸⣿⠀⣿⡇⢿⣧⣿⢻⣿⢹⣿⢀⣿⣿⣿⣿⣿⡇⣿ ⣿⣿⣿⣿⣿⣿⣽⣯⣿⣶⣶⣿⣿⡿⠭⠄⠘⠤⠄⠀⠈⠺⠀⢽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣤⣾⣤⣤⣤⣤⣶⣤⣥⣶⣦⣤⣤⣶⣦⣬⣤⣶⣦⣭⣴⣶⣦⣴⣶⣦⣶⣦⡭⠤⠶⠤⠤⠤⠾⢿⣿⣿⣿⣿⣣⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠋⠻⡿⠛⠋⠉⠻⠟⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢸⣿⢸⣿⢸⣿⣿⡆⢿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⡎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣷⣄⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⢸⣿⢸⣿⠿⠃⢾⣿⣿⣿⠉⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡥⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⣾⣿⣶⣾⣿⠿⠛⠉⣹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠸⣿⣼⠟⢸⣿⢰⣿⣿⣿⡿⣿⢶⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠝⠻⠿⣿⣿⣶⣄⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣶⣿⣿⣿⣿⡇⣟⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⣁⣀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣟⢻⣭⣭⣭⣭⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⡟⠀⣿ ⣷⣶⣶⣶⣶⣿⣿⣶⣾⣿⣷⣷⣶⣶⡄⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠿⠟⠁⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠁⢠⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠓⢈⠉⠉⠉⠿⣟⣻⣿⣿⣿⣿⣿⠙⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡀⠀⢿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣠⣾⣿⣶⣤⣀⠈⠈⣿⣿⣿⣿⣿⣆⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢀⠁⠀⢸ ⣿⣿⣿⣿⣟⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣭⣭⣬⣿⣭⣭⣭⣯⣭⣿⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢀⣤⣀⠀⠈⠰⣦⣄⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⣻⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠠⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣷⣿⣿⣿⣿⣶⣶⣦⣄⡀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢃⣼⣿⣿⣿⣿⣿⡹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣟⡇⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠹⠿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⣁⣾⣿⣿⣿⣿⣿⣿⠁⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⣿⠿⠿⡿⠉⠁⠁⢀⠀⠀⢸ ⣷⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⠾⠂⠀⠀⠀⠀⠀⠀⠉⠙⢿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣿⣿⣿⣿⣿⣿⣿⡟⠁⣾⣿⣿⣿⣿⣿⣿⣿⣟⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⡟⠀⠀⠀⠀⡠⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠋⠰⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⡂⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣺⣿⣿⣿⡇⠀⠀⠀⠀⠘⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠀⠀⠀⠉⠛⠉⣿⣿⣿⣿⣿⣿⠁⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡇⠀⠀⠀⠀⠀⠀⢸ ⣟⣛⣛⣛⣛⣛⣻⣿⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣈⣻⣿⠿⠿⠛⠁⠀⢠⣿⣿⣿⡿⢿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣶⡖⠀⠀⠅⠷⠀⠆⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⡇⢰⡇⠀⠀⠀⠀⠀⠲⣾⣾⣽⡄⣿⡇⠀⣀⡀⡀⠀⠈⠀⢸ ⣿⣿⣿⣿⣿⢹⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⡇⠈⠙⣖⣒⣰⡆⠀⣷⣋⣉⢠⡆⠷⠃⠀⠛⠃⠉⠀⠀⠀⢸ ⡟⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣔⣚⣟⣟⣻⣛⣻⡃⠀⠈⣿⣽⣽⡇⠀⡷⣶⣶⣶⣀⣈⣀⣤⣤⡄⠀⠀⠀⠀⢸ ⡇⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣶⣶⣶⠶⠶⠶⠶⠶⠶⣶⣶⣶⣶⣶⣶⣿⡿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢸ ⡇⠖⠶⣶⠿⢶⠟⠻⠿⠿⠟⠉⠀⠉⠉⠉⠉⢹⣛⣛⣋⡃⠉⠟⠛⠓⠇⠀⠀⠀⠀⠀⠀⠛⠋⠿⠿⠻⠿⠱⠕⠚⠿⠿⠿⠿⢿⢿⣿⣿⣿⣿⣿⣿⠉⣩⣑⣺⣻⣛⣁⣁⣙⣀⣂⣀⣀⣀⣈⣉⣉⣁⠀⠀⠀⠀⠀⠸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⠿⠿⡿⠿⠿⠿⣿⡿⠿⢿⣿⣿⢿⠿⣿⡿⠿⢿⣿⠷⠶⠶⠶⣶⣿⠿⢷⣾⢶⣶⠾⢷⣿⣿⣿⣿⣷⣆⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡾⣿⠿⠁⠉⠙⠁⠀⠀⠀⣿⠀⠀⠸⣿⠁⣶⣶⣶⣶⡄⣶⣶⣦⢠⣶⢶⣆⢲⣶⣶⡆⣶⡆⣶⡆⣴⣶⣶⠰⢶⣶⠆⣶⡆⣴⡶⣶⣰⣶⣰⣶⢶⡆⣿⣿⣿⣿⡇⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⣿⣿⣿⣿⣿⣿⣏⠈⠈⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⠠⣊⣽⣶⡍⣿⣿⣿⠇⣿⣿⣟⢸⣿⢸⣿⢸⣿⣿⡇⣿⡇⣿⡇⣿⡟⠛⠃⢸⣿⠀⣿⡇⣿⡇⣿⣿⣿⣿⣿⠈⣵⣿⣿⣿⣿⣄⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠼⣿⡿⡦⡌⠀⠀⡀⠀⡀⢀⠀⡀⣠⣄⣶⣶⣖⣤⣰⢿⢿⣿⡇⣿⣿⢠⠀⣿⣿⣿⠸⣿⣼⡟⣸⣿⣿⡇⢿⣧⣿⠇⣿⣿⣿⠁⢸⣿⠀⣿⡇⢿⣧⣿⢻⣿⢹⣿⢀⣿⣿⣿⣿⣿⡅⣿ ⣿⣿⣿⣿⣿⣿⣽⣯⣿⣶⣶⣿⡿⠿⠦⠄⠘⠤⠄⠀⠈⠺⠀⢽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣤⣾⣤⣄⣤⣤⣶⣤⣥⣶⣦⣤⣤⣶⣦⣬⣤⣶⣦⣭⣴⣶⣦⣴⣶⣦⣶⣦⡭⠤⠶⠤⠤⠤⠾⢿⣿⣿⣿⣿⣃⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡷⢖⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⢻⡿⠛⠋⠙⠻⠋⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢸⣿⢸⣿⢸⣿⣿⡆⢿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣸⣦⣄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⢸⣿⢸⣿⠿⠃⢾⣿⣿⣿⠙⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⣾⣷⣤⣾⣿⠿⠛⠋⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠸⣿⣼⠟⢸⣿⢰⣿⣿⣿⡿⣿⢶⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠟⠿⠿⣿⣷⣤⡄⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣶⣿⣿⣿⣿⡇⡟⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠏⠁⣀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⡗⠀⣿ ⣷⣶⣶⣶⣶⣿⣿⣶⣾⣿⣷⣷⣶⣦⠀⠀⠀⠀⠈⠁⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠿⠛⠀⠀⡻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⡆⠁⢠⣾ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠃⢈⡀⠉⠉⠿⣿⣿⣿⣿⣿⣿⣟⢙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡀⠈⢿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣾⣿⣶⣤⣀⡀⠀⣽⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢀⠁⠀⢸ ⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣭⣼⣿⣭⣭⣭⣯⣭⣿⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⢀⣤⡀⠀⠀⠒⢤⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠐⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣷⣿⣿⣿⣷⣶⣦⣤⣄⣀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣴⣿⣿⣿⣿⣧⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣏⡇⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠁⠀⠘⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⣰⣿⣿⣿⣿⣿⣿⡄⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⣿⠿⠿⣿⠉⠁⠁⢀⠀⠀⢸ ⣷⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀⠀⠀⠀⠀⠀⠀⠉⠻⢿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠡⣿⣿⣿⣿⣿⣿⣿⣿⡃⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠠⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠹⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠭⠟⢤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠟⠉⠁⠉⠉⠙⠛⠟⠿⠋⠀⠀⠀⠙⠛⠿⠛⣻⣿⣿⣿⣿⣿⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡇⠀⠀⡀⠀⠀⠀⢸ ⣟⣛⣛⣛⣛⣛⣻⣿⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⠿⠃⠀⢸⣿⡿⢿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣶⡖⠀⠀⠅⠷⠀⠆⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠛⠛⠋⠁⠀⠀⠀⠀⣾⣿⡇⢸⡇⠀⠀⠀⠀⠠⠺⣶⣷⣽⠄⣿⡇⠀⣀⡀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⢻⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⡇⠈⠙⣖⣒⣲⡆⠀⣷⣈⣉⢠⠀⠯⠃⠀⠛⠃⠉⠁⠀⠀⢸ ⡛⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣔⣻⣟⣻⡃⠀⠀⣿⣥⣽⡇⠀⡷⣶⣶⣶⣂⣀⣀⣤⣤⡄⠀⠀⠀⠀⢸ ⡇⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣶⣶⣶⠶⠶⠶⠶⠶⠶⣶⣶⣶⣶⣶⣶⣿⡿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢸ ⡇⠖⠶⣶⠿⢶⠟⠹⠿⠿⠟⠁⠀⠉⠉⠉⠉⢹⣛⢛⢛⡋⠉⠟⠛⠓⠇⠀⠀⠀⠀⠀⠀⠛⠛⠿⠿⠻⠿⠱⠕⠚⠿⠿⠽⠿⢿⢿⣿⣿⣿⣿⣿⣿⠉⣩⣑⣺⣻⣛⣁⣁⣙⣀⣂⣀⣀⣀⣈⣉⢉⣁⠀⠀⠀⠀⠀⠸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⠿⠿⡿⠿⠿⠿⣿⣿⠿⢿⣿⡿⠿⠿⣿⡿⠿⢿⣿⠷⠷⠶⠶⣶⡿⠿⢷⣾⢶⡶⠶⢶⣿⣿⣿⣿⣷⣆⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢾⠿⠊⠀⠉⠁⠀⠀⠀⠀⣿⠀⢰⣿⣿⠁⣶⣶⣶⣶⡄⣶⣶⣦⢠⣶⢶⣆⢲⣶⣶⡆⣶⡆⣶⡆⣴⣶⣶⠰⢶⣶⠆⣶⡆⣴⡶⣶⣰⣶⣰⣶⢶⡆⣿⣿⣿⣿⡏⢿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⣿⣿⣿⣿⣿⣯⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⠀⣹⣿⣿⣷⡍⣿⣿⣿⠇⣿⣿⣟⢸⣿⢸⣿⢸⣿⣿⡇⣿⡇⣿⡇⣿⡟⠛⠃⢸⣿⠀⣿⡇⣿⡇⣿⣿⣿⣿⣿⠈⣵⣿⣿⣿⣿⣤⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠬⣿⡦⡀⡀⠀⠀⡀⠀⡀⢀⠀⡀⣠⣖⣾⣻⣖⣴⣿⢿⢿⣿⡇⣿⣿⢀⠀⣿⣿⣿⠸⣿⣼⡟⢸⣿⣿⡇⢿⣧⣿⠇⣿⣿⣿⠁⢸⣿⠀⣿⡇⢿⣧⣿⢻⣿⢹⣿⢀⣿⣿⣿⣿⣿⡅⣿ ⣿⣿⣿⣿⣿⣿⣽⣯⣿⣶⣶⣧⠶⠞⠤⠄⠘⠤⠄⠀⠈⠺⠐⠽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣤⣾⣤⣄⣤⣤⣶⣤⣥⣶⣦⣤⣤⣶⣦⣬⣤⣶⣦⣭⣴⣶⣦⣴⣶⣦⣶⣦⡭⠤⠶⠤⠤⠤⠾⢿⣿⣿⣿⣿⡡⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠉⠛⠙⣿⠛⠉⠀⠙⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢸⣿⢸⣿⢸⣿⣿⡆⢿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣛⣻⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⣬⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⢸⣿⢸⣿⠿⠃⢺⣿⣿⣿⠙⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⢿⣿⣷⣾⣿⡿⠛⠉⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠸⣿⣼⠟⢸⣿⢰⣿⣿⣿⡿⣿⢶⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠋⠛⠛⣿⣷⡶⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣶⣿⣿⣿⣿⡇⡏⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠋⣤⣦⠌⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠟⠀⣿ ⣷⣶⣶⣶⣶⣿⣿⣿⣿⣿⣷⣷⣦⠀⠀⠀⠀⠀⠀⠉⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠀⠺⠿⠛⠻⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣷⣿⣿⣿⣿⣿⡆⠁⢠⣽ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣶⣤⣤⣤⣀⡀⠀⠓⠿⠿⣿⣿⣿⣿⡇⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡀⠈⢽ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣶⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⡄⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢀⠁⠀⢸ ⣿⣿⣿⣿⡟⣛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣭⣼⣿⣭⣭⣭⣯⣽⣯⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⣤⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠹⣿⣿⣿⡟⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⣼⣿⣿⣿⣦⣀⡀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⣿⣿⣿⣷⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⡏⡇⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠘⠿⣿⣿⢿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⡟⠀⢀⣿⣿⣿⣿⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⡿⡿⠿⣿⠿⠿⠿⠉⠁⠁⠀⠀⠀⢸ ⣷⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣾⣿⠟⠁⠀⠀⠀⠀⠀⠈⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⢀⣼⣿⣿⣿⡿⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⢀⣬⣿⣿⣿⡟⠁⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣺⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⣾⣿⡿⠟⠁⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡇⠀⠀⠀⠀⠀⠀⢸ ⣟⣛⣛⣛⣛⣛⣻⣿⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠾⢿⠋⠀⠀⠀⢀⣤⣦⡄⠀⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣶⡖⠀⠀⠅⠣⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⠇⠀⡇⠀⠀⠀⠀⠀⠰⣶⣦⣿⠇⣿⡇⠀⣀⡀⡀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⢻⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠿⠿⠏⠀⠀⠑⣖⣒⣰⡆⠀⣷⣈⣉⢠⠀⠯⠃⠀⠙⠃⠉⠃⠀⠀⢸ ⡛⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣯⣬⣽⡇⠀⡷⣶⣶⣶⣀⣀⣀⣤⣤⡄⠀⠀⠀⠀⢸ ⡇⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣤⣶⣶⣶⠶⠶⠶⠶⠶⠶⣶⣶⣶⣶⣶⣾⣿⡿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢸ ⡇⠖⠶⣶⠿⢶⠟⠹⠿⠿⠟⠉⠀⠉⠉⠉⠉⢹⣛⢛⣋⡃⠉⠟⠛⠓⠇⠀⠀⠀⠀⠀⠀⠛⠋⠿⠿⠛⠿⠱⠔⠚⠿⠿⠽⠿⠿⢿⣿⣿⣿⣿⣿⣿⠉⣩⣑⣺⣻⣛⣁⣁⣑⣀⣀⣀⣀⣀⡈⣉⢉⣁⠀⠀⠀⠀⠀⠸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠻⢿⣹⣿⣏⣿⣿⣿⣿⣿⣿⡿⠿⢿⣿⠿⠿⡿⠿⠿⠿⣿⡿⠿⢿⣿⡿⠿⠿⣿⡿⠿⢿⣿⠷⠷⠶⠶⣷⡿⠿⢷⣾⠶⡶⠶⠶⣾⣿⣿⣷⣦⡆⣸ ⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⠾⠋⠀⠉⠁⠀⠀⠀⠀⠈⣿⢰⣷⣿⣿⠁⣶⢲⣶⣶⡄⣶⣶⣦⢠⣶⢶⣆⢲⣶⣶⡆⣶⡆⣶⡆⣴⡶⣶⠰⢶⣶⠆⣶⡆⣴⡶⣶⢰⣶⣰⣶⢲⡆⣿⣿⣿⣷⡇⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⢿⣿⣿⣿⣟⠙⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣽⣿⣿⣿⣷⡉⣾⣿⣿⠇⣿⣿⣟⢸⣿⢸⣿⢸⣿⣿⡇⣿⡇⣿⡇⣿⡟⠛⠃⢸⣿⠀⣿⡇⣿⡇⣿⣿⣿⣿⣿⠈⣵⣿⣿⣿⣿⡀⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣭⠨⡽⠌⡉⠉⠀⠀⡀⠀⡀⢀⠀⣠⣶⣞⣿⣳⣖⣿⣿⣿⢿⣿⡇⣿⣿⢀⠀⣿⣿⣿⠸⣿⣼⡟⢸⣿⣿⡇⢿⣧⣿⠇⣿⣿⣿⠁⢸⣿⠀⣿⡇⢿⣧⣿⢻⣿⢹⣿⢀⣿⣿⣿⣿⣿⡄⣿ ⣿⣿⣿⣿⣿⣿⣽⣯⣿⣶⣶⡧⠍⠘⠄⠄⠘⠄⠄⠀⠈⠺⠃⣿⣿⣿⣿⣿⣿⡿⠿⣿⣿⣿⣷⣤⣤⣾⣤⣄⣤⣤⣶⣤⣥⣴⣦⣤⣤⣶⣦⣬⣤⣶⣦⣭⣴⣶⣦⣴⣶⣤⣶⣦⡭⠤⠶⠤⠤⠤⠾⢿⣿⣿⣿⣿⣀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠹⠋⠙⠟⠁⠀⠀⢠⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⢸⣿⢸⣿⣿⡆⢻⣿⣿⣿⠿⣿ ⣿⣿⣿⣿⣿⣻⣻⣿⣿⣟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣀⢠⣾⣿⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⢸⣿⢸⣿⠿⠃⢺⣿⣿⣿⠘⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⣿⣿⣿⣿⣏⣁⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣧⠸⣿⣼⠟⢸⡿⢰⣿⣿⣿⡿⣿⠶⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⣽⣿⠟⠂⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣴⣶⣶⣶⣿⣿⣿⣿⡇⡟⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⢆⠀⠐⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢰⡿⠂⢸⣿⣿⣿⡋⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⡇⠀⣿ ⣷⣶⣶⣶⣶⣿⣶⣶⣶⣿⣶⣆⡀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣶⣦⣄⡈⠙⠻⢿⣿⣿⣿⣿⣿⣿⣶⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣷⣿⣿⣿⣿⣿⡆⠁⢀⣼ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠙⢯⣝⣿⣿⣿⣿⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡀⠈⢻ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡈⠹⣿⣿⡿⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠁⠀⢸ ⣿⣿⣿⣿⡟⣛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⣷⡀⢼⣿⣯⣯⣿⣿⣿⣯⣭⣭⣬⣽⣭⣭⣭⣭⣭⣯⠀⠀⠀⢸ ⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⢠⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢸⣿⣿⣷⡄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡷⠀⣼⣿⣿⣿⣄⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⢿⣿⣿⡇⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⡏⡇⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠐⠿⢛⣿⣿⣿⣷⣶⣦⣤⣄⣀⠀⡿⣿⣿⢿⣿⡿⣿⡿⢿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⢿⣿⣿⡇⠀⣿⣿⣿⣿⢿⣿⡿⠿⠿⣿⠿⠿⠯⠁⠁⠁⠀⠀⠀⢸ ⣷⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⡿⠛⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⣿⣿⣿⡇⠀⢸⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⡛⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⢸⣿⣿⡟⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡗⠛⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠋⠛⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⢀⣿⣿⣿⠁⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⠇⠀⠀⠀⠀⠀⠀⢸ ⣟⣛⣛⣛⣛⣛⣻⣿⠛⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢉⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢰⣿⣿⠋⠁⠀⠀⠀⠀⢸⣾⡿⣿⢿⢿⣿⣿⡿⣶⡒⠀⠀⠅⠇⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣤⡜⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣶⣦⢤⠅⣿⡇⠀⣀⡀⡀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⢹⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠉⠉⠙⠻⠛⠟⠛⠉⠛⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡆⠀⣷⣀⣈⢠⠀⠯⠁⠀⠙⠃⠉⠀⠀⠀⠰ ⡟⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣽⡇⠀⡷⣦⣶⣶⣀⣀⣀⣤⣤⡄⠀⠀⠀⠀⢀ ⡇⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣴⣶⣶⣶⠶⠶⠶⠶⠶⠶⣶⣶⣶⣶⣶⣾⣿⡿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠈ ⡇⠖⠶⣶⠯⢶⠟⠹⠿⠿⠟⠀⠀⠉⠉⠉⠉⢹⣙⢛⢉⡃⠉⠛⠛⠓⠇⠀⠀⠀⠀⠀⠀⠛⠋⠿⠟⠛⠟⠱⠕⠚⠾⠷⠽⠿⠿⠿⢿⣿⣿⣿⣿⣟⠉⣩⣑⣺⣻⣛⣁⣁⣐⣀⣀⣀⣀⣀⡈⢉⢉⣀⠀⠀⠀⠀⠀⠸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠿⢃⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⢿⣿⠿⠿⡿⠿⠿⠿⣿⡿⠿⢿⣿⡿⠿⠿⣿⡿⠿⢿⣿⠷⠷⠶⠶⣷⡿⠿⢷⣶⠶⡶⠶⠶⣶⣿⣿⣷⣦⡄⢸ ⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⠘⠀⠉⠁⠀⠀⠀⠀⠐⠀⣿⣶⣷⣿⣿⠁⣶⢲⣶⣶⡄⣶⣶⣦⢠⣶⢶⣆⢲⣶⣶⡆⣶⡆⣶⡆⣴⣶⣶⠰⢶⣶⠆⣶⡆⣴⡶⣶⢰⣶⣰⣶⢲⡆⣿⣿⣿⣷⠆⣾ ⣿⣿⣿⣿⣯⣿⣿⣿⣿⣿⠋⢿⣿⣿⣟⡋⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣷⡉⣾⣷⣿⠇⣿⣿⣟⢸⣿⢸⣿⢸⣿⣿⡇⣿⡇⣿⡇⣿⡗⠛⠃⢸⣿⠀⣿⡇⣿⡇⣿⣿⣿⣿⣿⠈⣵⣿⣿⣿⣿⣀⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣵⠌⠁⠉⡉⠁⠀⠀⡀⠀⡀⢀⠀⣴⣿⣟⣿⣲⣟⣿⣿⣿⢿⣿⡇⣿⣿⢀⠀⣿⣿⣿⠸⣿⣼⡟⢸⣿⣿⡇⢿⣧⣿⠇⣿⣿⣿⠁⢸⣿⠀⣿⡇⢿⣧⣿⢻⣿⢹⣿⠀⣿⣿⣿⣿⣿⠄⣽ ⣿⣿⣿⣿⣿⣿⣽⣯⣿⣶⣖⠂⠀⠈⠄⠄⠘⠄⠄⠀⠈⠺⢸⣿⣿⣿⣿⣿⠿⠿⠿⢿⣿⣿⣿⣤⣤⣾⣤⣄⣤⣤⣶⣤⣥⣴⣦⣤⣤⣶⣦⣬⣤⣶⣦⣭⣴⣶⣦⣴⣶⣤⣴⣦⠭⠤⠶⠤⠤⠤⠾⢿⣿⣿⣿⣿⡄⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠻⠉⠙⠋⠀⠀⠀⣦⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⢸⣿⢸⣿⣿⡆⢿⣿⣿⣿⠹⣿ ⣿⣿⣿⣿⣟⣛⣻⣿⣿⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⡖⢀⣤⣤⣶⣤⣼⣿⣿⡿⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⢸⣿⢸⣿⠿⠃⢸⣿⣿⣿⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠌⠙⠻⣿⣿⣿⣿⣥⣄⠠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠸⣿⣼⠟⢸⡿⢠⣿⣿⣿⡿⣿⠶⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⢃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⣿⠿⠛⠁⢸⣿⣿⣿⣿⣿⣿⣿⠛⢻⣿⣿⣿⣿⡯⣽⣿⣿⣭⣽⣿⣯⣿⣿⣿⣿⣿⣿⣿⣷⣶⣴⣶⣶⣶⣿⣿⣾⣿⡇⡟⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠈⢧⣀⣈⡇⠀⠀⠀⠀⠀⠀⠀⠘⠟⠒⢿⠏⠀⢸⣿⣿⣿⣿⣿⣿⣷⡀⠻⢿⣿⣿⣷⣿⣿⣿⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⡏⠀⢿ ⣷⣶⣶⣶⣶⣿⣶⣶⣶⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠻⢿⣿⣿⣿⣿⣿⣿⡈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣷⣿⣿⣿⣿⣿⠆⠀⢠⣾ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠈⢟⠻⢿⣿⣿⣧⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠈⢿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠹⣶⣿⣿⣿⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⢸ ⣿⣿⣿⣿⡟⣛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⢰⠂⠀⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡄⠸⣿⠛⠀⠈⣿⣯⣿⣿⣿⣯⣭⣭⣬⣽⣭⣭⣭⣭⣭⣭⠀⠀⠀⢸ ⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⣤⣄⡀⠀⠈⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⣿⡇⢐⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⢸⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢸⣧⡿⡀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣹⡏⡆⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠀⠘⣿⣿⠟⣿⣷⣤⣀⣀⠀⠀⠐⡿⣿⣿⢿⢿⣿⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⣿⣯⣿⠀⢻⣿⣿⣿⣿⡿⠿⠿⣿⠿⠿⠯⠁⠁⠁⠀⠀⠀⢸ ⣷⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⠟⠀⠀⠀⠉⠈⠈⠿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⣿⣿⣿⠁⠸⣿⣿⣿⣿⣿⣿⢽⣿⣿⣟⡓⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⢿⣿⣿⣿⣿⣿⣿⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⣿⣿⣿⠃⠀⢻⣿⣿⣿⣿⣿⣺⡿⣿⣿⡃⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢛⡛⡻⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⢠⣿⣿⡟⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⢿⠆⠀⠀⠀⠀⠀⠀⢸ ⣟⣛⣛⣛⣛⣛⣻⣿⠛⠋⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⣼⣿⠏⠀⠀⠀⠀⡿⣿⠿⠿⣿⣿⡿⣶⡒⠀⠀⠅⠠⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⡿⠀⠀⣼⣿⠏⠀⠀⠀⠀⠀⠀⠀⠠⣤⣦⢄⠄⣿⡇⠀⢀⡀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⢻⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣭⣥⣀⡘⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⣶⣀⣀⢠⠀⠏⠁⠀⠙⠃⠈⠀⠀⠀⠘ ⡛⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠈⠉⠉⠉⠙⠛⠋⠛⠋⠋⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡷⣦⣶⣶⣀⣀⣀⣤⣤⡄⠀⠀⠀⠀⠀ ⡇⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⢀⣠⣤⣤⣤⣤⣤⣤⣤⣤⣤⣴⣶⣶⣶⠶⠶⠶⠶⠶⠶⣶⣶⣶⣾⣿⣿⣿⠿⠿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠐ ⠇⠖⠲⣶⠧⢶⠟⠹⠿⠿⠟⠉⠀⠉⠉⠉⠉⢹⣛⢋⢉⡃⠉⠛⠛⠓⠇⠀⠀⠀⠀⠀⠀⠛⠋⠵⠟⠛⠟⠡⠔⠚⠾⠗⠽⠿⠿⠿⣿⣿⣿⣿⣿⣟⠉⣩⣑⣺⣻⣛⣁⣁⣐⣀⣀⣀⣀⣀⡈⢈⢉⡀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⡿⠿⠿⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⣿⣿⠿⠿⡿⠿⠿⠿⣿⡿⠿⢿⣿⡿⠿⠿⣿⡿⠿⢿⣿⠷⠷⠶⠶⣷⡿⠿⢶⣶⠶⠶⠶⠶⣶⣿⣿⣷⣦⣆⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡖⠘⠄⠁⠁⠀⠀⠀⠀⠂⠘⣿⣶⣿⣿⣿⠁⣶⢲⣶⣶⡄⣶⣶⣦⢠⣶⢶⣆⢲⣶⣶⡆⣶⡆⣶⡆⣴⡶⣶⠰⢶⣶⠆⣶⡆⣴⡶⣶⢰⣶⣰⣶⢲⡆⣿⣿⣿⣷⡇⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⢿⣿⣿⡯⠙⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢼⣿⣿⣿⣿⣿⣷⡉⣾⣿⣿⠇⣿⣿⣟⢸⣿⢸⣿⢸⣿⣿⡇⣿⡇⣿⡇⣿⡟⠛⠃⢸⣿⠀⣿⡇⣿⡇⣿⣿⣿⣿⣿⠈⣵⣿⣿⣿⣿⡀⣼ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⠄⠂⠐⡀⡀⠀⠀⡀⠀⡀⢠⡀⣾⣿⣟⣶⣻⣿⣿⣿⣿⢿⣿⡇⣿⣿⢀⠀⣿⣿⣿⠸⣿⣼⡟⢸⣿⣿⡇⢿⣧⣿⠇⣿⣿⣿⠁⢸⣿⠀⣿⡇⢿⣧⣿⢻⣿⢹⣿⢀⣿⣿⣿⣿⣿⠀⣿ ⣿⣿⣿⣿⣿⣿⣽⣯⣿⣖⡂⠀⠀⠈⠄⠄⠘⠤⠄⠀⠈⠺⢸⣿⣿⣿⣿⣿⠿⠿⢿⣿⣿⣿⣿⣤⣤⣾⣤⣄⣤⣤⣶⣤⣥⣴⣦⣤⣤⣶⣦⣬⣤⣶⣦⣭⣴⣶⣦⣴⣶⣤⣴⣦⠭⠤⠶⠤⠤⠤⠾⢿⣿⣿⣿⣿⣀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢡⣿⣻⠛⠉⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⢸⣿⢸⣿⣿⡆⢿⣿⣿⣿⢫⣿ ⣿⣿⣿⣿⣟⣛⣿⣟⡓⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣷⣶⣶⣶⣤⣿⣿⣿⡿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⢸⣿⢸⣿⠿⠃⢺⣿⣿⣿⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢿⣟⢻⠿⣿⡿⣿⣥⡄⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠸⣿⣼⠟⢸⡿⢰⣿⣿⣿⡿⣿⠶⣿ ⣿⣿⣿⣿⣿⣿⣿⡛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⡄⠀⢠⡄⠀⠀⠀⢻⡿⣿⢿⣯⣿⡿⢋⣉⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⣿⣿⣛⣛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣶⣿⣿⣾⣿⡇⡏⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠳⡦⠤⠆⠀⠀⠀⠀⠀⠀⠀⠀⠛⠁⠙⠃⢀⣿⣿⣿⣿⣿⣿⣿⡁⠙⣿⣿⣧⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⡂⠀⢿ ⣷⣶⣶⣶⣶⣿⣶⣾⣿⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣄⠉⢿⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣿⣶⣾⣿⣿⣿⣿⠆⠀⢠⣼ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣧⠈⠙⠿⣿⣿⣿⣿⣿⣆⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠈⢽ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠙⠻⣿⣿⣿⡌⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠁⠀⢸ ⣿⣿⣿⣿⡟⣛⣿⣿⣿⣿⣿⣯⣿⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⢺⣦⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠲⣶⣿⣿⣷⠚⣿⣿⣯⣿⣿⣿⣯⣭⣭⣬⣽⣭⣭⣭⣭⣭⣭⠀⠀⠀⢸ ⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⣤⣀⣀⠀⠈⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⡀⠸⣿⡓⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡄⠀⢸⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⢿⡇⡀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⡏⡇⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⢿⣿⣿⣿⣷⣦⡀⠀⠀⠀⢼⡿⣿⣿⢿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠘⣇⣼⣄⠘⣿⣿⣿⣿⣿⡿⠿⠿⣿⠿⠿⠯⠁⠁⠁⠀⠀⠀⢸ ⣷⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⡟⠀⠀⠀⠀⢻⣿⣯⣿⢿⣷⣶⣤⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠹⣟⣸⡀⢸⣿⣿⣿⣿⣿⣿⣽⣿⣿⣿⡓⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⡟⠐⠀⠠⡄⠆⠀⠀⠈⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⢸⣿⣿⡇⠀⢿⣿⣿⣿⣿⣿⣺⡿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⣛⡛⣻⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠿⣿⣿⣿⣿⣿⣿⣿⡻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⣿⣿⣿⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⢿⠆⠀⠀⠀⠀⠀⠀⢸ ⣟⣛⣛⣛⣛⣛⣻⣿⠛⠋⠀⠀⠀⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⣿⣿⠟⠀⠀⠹⣿⠿⠿⣿⣿⡿⣶⡒⠀⠀⠅⠡⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠈⠉⠛⠫⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⣿⡟⠀⠀⠀⠀⠀⠲⣴⣦⢤⠄⣿⡇⠀⢀⡀⡀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⢻⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢘⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⠀⠀⠀⣶⡿⠃⠀⠀⠀⠀⠀⣷⣀⣀⢠⠀⠯⠁⠀⠙⠃⠈⠀⠀⠀⠀ ⡛⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣷⣼⣿⠀⠀⠸⠟⠃⠀⠀⠀⠀⠀⠀⣷⣦⣶⣶⣀⣀⣀⣤⣤⡄⠀⠀⠀⠀⠈ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⢀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣤⣶⣶⣶⣶⠶⠶⠶⠶⠶⠶⣶⣶⣶⣶⣾⣿⣿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢈ ⠀⠖⠲⣶⠧⢶⠟⠹⠿⠿⠟⠈⠀⠉⠉⠉⠉⢹⣛⢛⣉⡃⠉⠛⠛⠓⠇⠀⠀⠀⠀⠀⠀⠛⠋⠽⠟⠛⠟⠱⠕⠚⠿⠷⠽⠿⢿⠿⣿⣿⣿⣿⣿⡟⠉⣩⣑⣺⣻⣋⣁⣁⣐⣀⣀⣀⣀⣀⡈⢈⢉⣁⠀⠀⠀⠀⠀⠘ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⢿⡿⠿⠿⠏⢛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⠿⠿⡿⠿⠿⠿⣿⡿⠿⢿⣿⡿⠿⠿⣿⡿⠿⢿⣿⠷⠷⠶⠶⣷⡿⠿⢷⣾⠶⡶⠶⢶⣾⣿⣿⣷⣧⣇⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠛⠐⠀⠁⠀⠀⠀⠀⠀⠰⣾⣿⣶⣿⣿⣿⠁⣶⢶⣶⣶⡄⣶⣶⣦⢠⣶⢶⣆⢲⣶⣶⡆⣶⡆⣶⡆⣴⡶⣶⠰⢶⣶⠆⣶⡆⣴⡶⣶⢰⣶⣰⣶⢶⡆⣿⣿⣿⣿⡏⢿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠿⣿⢿⡏⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣷⡍⣾⣿⣿⠇⣿⣿⣟⢸⣿⢸⣿⢸⣿⣿⡇⣿⡇⣿⡇⣿⡟⠛⠃⢸⣿⠀⣿⡇⣿⡇⣿⣿⣿⣿⣿⠈⣵⣿⣿⣿⣿⣄⣼ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠀⠀⡀⡀⠀⠀⡀⠀⡀⢠⡄⣾⣿⣟⣿⣿⣿⣿⣿⣿⢿⣿⡇⣿⣿⢀⠀⣿⣿⣿⠸⣿⣼⡟⢸⣿⣿⡇⢿⣧⣿⠇⣿⣿⣿⠁⢸⣿⠀⣿⡇⢿⣧⣿⢻⣿⢹⣿⢀⣿⣿⣿⣿⣿⡆⣿ ⣿⣿⣿⣿⣿⣿⣽⣯⣯⡆⠀⠀⠀⠈⠄⠄⠘⠤⠄⠀⠈⠺⢰⣿⣿⣿⣿⣿⠿⠿⣿⣿⣿⣿⣿⣤⣤⣾⣤⣄⣤⣤⣶⣤⣥⣴⣦⣤⣤⣶⣦⣬⣤⣶⣦⣭⣴⣶⣦⣴⣶⣤⣶⣦⠭⠤⠶⠤⠤⠤⠾⢿⣿⣿⣿⣿⣃⣿ ⣿⣿⣿⣿⣿⣿⣟⡋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢉⣿⣿⠛⠋⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⢸⣿⢸⣿⣿⡆⢿⣿⣿⣿⠿⣿ ⣿⣿⣿⣿⣟⣻⣛⡋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣷⣶⣶⣶⣤⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⢸⣿⢸⣿⠿⠃⢺⣿⣿⣿⠘⣿ ⣿⣿⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⡻⢿⣿⣿⣿⣉⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠸⣿⣼⠟⢸⡿⢰⣿⣿⣿⡿⣿⢶⣿ ⣿⣿⣿⣿⣿⣿⣉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡤⠀⢠⣄⠀⠀⠀⠹⣿⢿⢿⣏⣿⣿⠓⣹⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣶⣿⣿⣿⣿⡇⡏⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠑⠦⢤⠞⠀⠀⠀⠀⠉⠀⠀⠀⠻⠃⠙⠇⢈⣿⣿⣿⣿⠿⢿⣿⣦⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠇⠀⣿ ⣿⣶⣶⣶⣶⣿⣶⣿⣆⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣦⠀⠻⢿⡿⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣷⣾⣿⣿⣿⣿⡆⠃⢠⣽ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣿⣿⣿⣿⣷⣆⠀⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡀⠈⢿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠈⠙⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠁⠀⢸ ⣿⣿⣿⣿⡟⣛⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⢼⣤⠀⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⠀⠀⢤⣬⣿⣿⣿⠛⣿⣿⣿⣿⣿⣿⣿⣿⣯⣭⣭⣬⣿⣭⣭⣭⣭⣭⣯⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⢀⡀⢀⡀⠀⠁⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⠀⠈⣿⡟⠀⢘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠐⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣇⠀⠀⢸⣿⣿⣿⣦⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠸⣿⣴⡄⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⡏⡇⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⢸⣿⣿⣿⣿⣧⣀⠀⠀⠀⠠⣿⢿⣿⣿⣿⣿⣿⣿⡿⢿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⢹⣧⣿⣆⠹⣿⣿⣿⣿⣿⣿⡿⠿⠿⣿⠿⠿⡿⠉⠁⠁⠀⠀⠀⢸ ⣷⣶⣶⣶⣾⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⠃⠀⠀⠈⠹⣿⣿⣿⣿⣿⣦⣄⣀⣀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠻⣿⣿⡀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡛⠀⠀⠀⠀⠠⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⣀⣠⡘⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠐⣿⣿⣿⡀⢻⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⣛⣛⣿⣿⠇⠀⠀⠀⠀⠛⠉⠀⠀⠀⠀⠀⠈⠛⠻⢿⣿⣿⣿⣿⣿⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⢹⣿⣿⡇⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⢿⠇⠀⠀⡀⠀⠀⠀⢸ ⣟⣛⣛⣛⣛⣛⣻⣿⠟⠋⠀⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠀⠀⠨⣿⣿⠃⠀⠀⠿⣿⡿⣿⣿⣿⣿⣶⡒⠀⠀⠅⠥⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠛⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⣿⡏⠀⠀⠀⠀⠀⠰⣶⣦⣭⠎⣿⡇⠀⣀⡀⡀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⢿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠹⣿⣿⣿⣿⣿⣿⢿⣿⣿⠀⠀⠀⣰⣿⠃⠀⠀⠀⠀⠀⣷⣀⣀⢠⠀⠯⠁⠀⠙⠃⠙⠃⠀⠀⢈ ⡛⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣬⣋⡀⠀⠀⠿⠃⠀⠀⠀⠀⠀⠀⣷⣶⣶⣶⣀⣀⣀⣤⣤⡄⠀⠀⠀⠀⢨ ⡀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⢀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣤⣶⣶⣶⣶⠶⠶⠶⠶⠶⠶⣶⣶⣶⣶⣾⣿⣿⠿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢸ ⠄⠖⠲⣶⠿⢶⠟⠹⠿⠿⠏⠁⠀⠉⠉⠉⠉⢹⣛⢛⢋⡃⠉⠟⠛⠓⠇⠀⠀⠀⠀⠀⠀⠛⠋⠷⠿⠛⠟⠱⠔⠚⠿⠗⠽⠿⢿⢿⣿⣿⣿⣿⣿⣿⠉⣩⣑⣺⣻⣋⣁⣁⣐⣀⣀⣀⣀⣀⣈⣉⣉⣁⠀⠀⠀⠀⠀⢰ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠟⠙⠻⠀⠛⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣷⣶⣶⣶⣶⣶⣶⣿⣿⣶⣦⠄⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣂⠂⠀⠀⠀⠀⠀⠀⠀⣳⣶⣾⣿⣶⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠇⢿ ⣿⣿⣿⣿⣏⣿⣿⣿⣿⣿⠋⢛⠛⢻⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣥⠀⠀⠀⡀⡀⠀⠀⡀⠀⡀⣤⣀⣿⣿⣟⣿⣿⣿⣿⣿⢿⢿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣾ ⣿⣿⣿⣿⣿⣿⣭⠭⠁⠆⠀⠀⠀⠈⠄⠄⠘⠤⠄⠀⠈⠺⢸⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣀⣿ ⣿⣿⣿⣿⣟⣋⡉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠟⠸⠚⠃⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢟⣿ ⣿⣿⣿⣿⣿⣛⣋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣤⣤⣤⣤⣾⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠈⣿ ⣿⣿⣿⣿⣿⣿⠗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠿⠟⠻⡿⣿⣿⣏⡁⣼⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⣿⠖⣿ ⣿⣿⣿⣿⣏⡁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡿⢘⣿⣿⣿⣿⣿⠛⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⡇⡍⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣄⣀⣩⠀⠀⠀⠀⠀⠀⠀⠀⠃⠀⠨⠈⣿⣿⣿⣷⣶⣶⣤⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⢿ ⣷⣶⣶⣶⣶⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⣅⠈⠻⣿⣟⠁⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠂⠀⢠⣾ ⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣹⣷⣦⡀⠉⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⢹ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣤⣶⣿⣿⣿⣿⣿⣦⡀⠀⠀⠈⠉⠛⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⢸ ⣿⣿⣿⣿⡟⣻⣿⣿⣿⣿⣿⣯⣿⣯⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣀⠀⠈⠓⠋⠻⣿⣿⠉⢿⣿⣿⣿⣿⣭⣭⣿⣿⣯⣭⣭⣭⣬⣭⣭⣭⣭⣭⣭⣭⠀⠀⠀⢸ ⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⡀⠀⠹⣦⢀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣩⡄⠀⠀⢸⣶⣴⣦⡀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠻⣟⣷⣄⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⡇⡆⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⢻⣿⣿⣿⣧⠀⠀⠀⠀⠀⢸⠿⠿⠿⣿⠿⢿⡿⣿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠹⣿⣿⣆⠻⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⣿⠻⠿⡭⠁⠁⠁⠀⠀⠀⢸ ⣷⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣾⣷⣿⣿⡿⠀⠀⠀⠈⢻⣿⣿⡿⢿⣧⣀⣀⣀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⢸⣿⣿⡆⠹⣿⣿⣿⣿⣿⣿⣿⣿⢽⣿⣿⣻⡖⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀⠀⠙⠛⠓⢛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⢻⣿⣿⡄⠘⣿⣿⣿⣿⣿⣿⣿⣸⡿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⣛⣛⣻⣿⠁⠀⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠉⠛⠻⣿⣿⣿⣿⣿⣿⣿⡿⡻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠈⣿⣿⡇⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⢯⠆⠀⠀⠀⠀⠀⠀⢸ ⣟⣛⣛⣛⣛⣻⣻⣿⠟⠋⠀⠀⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠙⠿⠿⢿⣿⣿⣾⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⢸⣿⠃⠀⠀⠈⠿⡿⠿⠿⠿⣿⡿⣶⡒⠀⠀⠅⠀⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠛⠓⠕⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⢸⣿⠀⠀⠀⠀⠀⠀⠠⣴⣤⣤⠀⣿⡇⠀⢀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⢿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣝⠻⠇⠀⠀⠀⣾⠇⠀⠀⠀⠀⠀⠀⣶⣀⣀⢠⠀⠃⠀⠀⠙⠃⠈⠀⠀⠀⠀ ⡛⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⢿⣿⠿⠿⠿⢿⣿⣿⣷⣶⣦⣀⠈⠀⠀⠀⠀⠀⠀⠀⣿⣧⣴⣶⣀⣀⣀⣀⣤⡄⠀⠀⠀⠀⠀ ⠃⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⢀⣀⣤⣤⣤⣤⣤⣤⣤⣤⣴⣶⣶⣶⣶⠶⠶⠶⠶⠶⠶⣶⣶⣶⣾⣿⣿⣿⠿⠿⡿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀ ⠇⠖⠲⣶⠿⢶⠟⠹⠿⠿⠏⠉⠀⠉⠉⠉⠁⢸⣛⢛⠉⡁⠉⠛⠛⠓⠇⠀⠀⠀⠀⠀⠀⠛⠋⠵⠿⠛⠛⠑⠄⠘⠾⠗⠭⠿⢿⢿⣿⣿⣿⣿⣿⣟⣉⣡⣑⣚⣻⣋⣀⣀⣐⣀⣀⣀⣀⣀⡈⢈⢁⡀⠀⠀⠀⠀⠀⠠ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠉⠻⠀⠿⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣿⣿⣶⣶⣆⣸ ⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣶⣀⠀⠀⠀⠀⠀⠀⢾⣿⣷⣿⣾⣿⣶⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢿ ⣿⣿⣿⣿⣏⣿⣿⣿⣿⣿⠋⠻⠂⢸⡏⠁⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⠄⠀⠀⡀⡀⠀⠀⡀⠀⡀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⣿ ⣿⣿⣿⣿⠿⠻⠍⠩⠁⠆⠀⠀⠀⠈⠄⠄⠘⠄⠀⠀⠟⢺⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣀⣿ ⣿⣿⣿⣿⡛⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠙⢻⠇⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⣿ ⣿⣿⣻⣶⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠈⢿ ⣿⣿⣿⣿⣿⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠄⠸⠿⣿⣿⣿⣋⡀⣾⣿⣿⡏⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⠶⣿ ⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠹⡿⢹⣿⣏⠁⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⡍⠀⣿ ⣿⣿⣿⣶⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⠀⢄⠀⠀⠀⠀⠀⠀⠀⠀⠐⠀⠪⠀⣿⣿⡿⠟⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⡇⠀⢿ ⣿⣶⣶⣶⣾⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠢⠤⠴⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⠛⢿⣯⣀⣀⡄⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⢠⣾ ⣿⣿⣿⣿⣿⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠉⠙⠻⠿⢷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⡀⠀⢻ ⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣶⣄⡀⠀⠀⠀⠉⢉⡉⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⢸ ⣿⣿⣿⣿⡟⣿⣿⣿⣿⣿⣿⣧⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣄⣀⣀⡁⠀⠈⢿⣿⣿⣿⣿⣿⣿⣭⣿⣿⣿⣭⣭⣿⣿⣯⣯⣭⣭⣬⣭⣭⣭⣭⣭⣭⣭⠀⠀⠀⢸ ⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠐⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢰⡄⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠹⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢻⡏⡇⡇⠀⠀⠀⢸ ⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⣾⣿⣿⣇⠀⠀⠀⠀⠀⠀⣿⡿⠿⠿⣿⠿⢿⡿⣿⡿⠿⢿⣿⣿⣿⣿⣿⣇⠀⠀⠈⠹⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⢿⣿⣻⡿⣯⠁⠁⠁⠀⠀⠀⢸ ⣷⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠻⣿⣿⣿⣧⣤⣀⣀⣀⣀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⢺⣿⣿⣷⡙⢿⣿⣿⣿⣿⣿⣿⣿⣿⢽⣿⣿⣿⡞⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠙⠛⠓⠛⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⢻⣿⣿⡍⠀⠻⣿⣿⣿⣿⣿⣿⣿⢸⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡗⣛⣛⣻⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢿⣿⠃⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⢯⠂⠀⠀⠀⠀⠀⠀⢸ ⣟⣛⣛⣛⣛⣻⣿⣿⠟⠋⠀⠀⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⣸⣿⠀⠀⠀⠀⠸⡿⣿⡿⢿⣿⣿⣿⣶⡒⠀⠀⠅⠀⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠉⠉⠛⢿⣿⣿⣿⣿⣿⣿⣟⢿⡄⠀⠀⠀⢾⡿⠀⠀⠀⠀⠀⠀⠀⠠⣴⣦⠤⠅⣿⡇⠀⢀⠀⡀⠀⠀⠀⠸ ⣿⣿⣿⣿⣿⢻⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢺⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣀⣈⠁⠀⠀⠀⠀⠀⠀⠀⣶⣂⣀⠰⠀⠃⠁⠀⠛⠃⠈⠀⠀⠀⠀ ⡛⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠋⠉⠉⠈⠉⠉⠉⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⣀⣀⣸⣧⣶⣶⣀⣀⣀⣠⣤⡄⠀⠀⠀⠀⠀ ⠃⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⠀⣠⣤⣤⣤⣤⣤⣤⣤⣤⣴⣶⣶⣶⣶⠶⠶⠶⠶⠶⠶⣶⣶⣾⣿⣿⣿⣿⠿⡿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀ ⠇⠖⠶⣶⠿⢾⠟⠹⠿⠿⠏⠉⠀⠉⠉⠉⠁⢸⣛⢛⣋⡁⠉⠟⠛⠛⠇⠀⠀⠀⠀⠀⠀⠛⠋⠽⠟⠛⠛⠑⠄⠛⠿⠷⠽⠿⣿⣿⣿⣿⣿⣿⣿⣟⣉⣡⣐⣚⣻⣋⣁⣀⣐⣀⣀⣀⣀⣀⡈⠈⠁⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⠇⠻⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣷⣶⣆⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣀⣀⠀⠀⠀⠀⢰⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠁⠀⢸⡏⠉⠁⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡤⣼ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠀⠀⡀⡀⠀⠀⡀⡀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡎⣿ ⣿⣿⣿⣿⠟⠻⠍⠩⠉⠆⠀⠀⠀⠘⠤⠄⠘⠤⢮⢥⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣴⣿ ⣿⣿⣿⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⢿⠟⠻⡿⠁⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣩⣥⣭⡙⠋⣭⣭⢩⣭⡝⢋⣭⣭⡍⠛⣭⣭⠙⠋⣭⣭⢩⣭⣭⣭⡍⣭⣍⢉⣭⡄⠙⣿ ⣿⣟⣓⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡀⠀⠀⢀⣸⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⡏⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⢿⣿⠀⣿⣿⠀⠀⣿⣿⠘⢻⣿⡟⠃⢸⣿⣸⣿⠁⠀⣿ ⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⢇⡠⢾⣿⣿⣿⣿⣉⣠⣿⡿⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣸⣿⢸⣿⡄⣿⣿⠀⠀⣿⣿⠀⢸⣿⡇⢰⠀⣿⣿⡏⢀⢶⣿ ⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠙⠛⠋⢿⡷⢹⣤⣄⣙⣿⣿⣿⣿⣿⣿⣿⣿⣇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣿⣿⢿⣿⡇⣿⣿⣀⡀⣿⣿⠀⢸⣿⡇⢸⡇⢸⣿⠀⠈⠀⣿ ⣿⣿⡋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠠⠀⠫⠀⠿⠛⠘⢿⣿⣿⣿⣿⣿⣿⣿⣄⠙⢻⣿⣥⠀⠙⠻⠿⠋⠀⠛⠛⠘⠛⠓⠛⠛⠛⠃⠛⠛⣀⡘⠛⢃⣼⣧⠘⠛⠂⡨⠀⣿ ⣿⣷⣾⣶⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢄⣀⣬⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⢰⣶⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣤⣾⣿⡟⣀⣉⣉⣛⠻⠟⢋⣉⣉⠙⢋⣉⡛⢃⣉⡛⢃⣉⡉⣉⡙⢛⣀⡀⢠⣾ ⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠛⠷⢾⣿⣦⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢻⣿⡇⢰⣿⡟⣿⣷⢸⣿⡇⣾⣿⡇⣼⣿⠀⣿⣷⢸⣿⠁⠀⣿ ⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣶⣶⣤⣀⠀⠉⠉⠉⠉⠉⠉⠙⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠈⣿⣇⣿⣿⣇⣿⣿⠀⣿⣿⣾⣿⠀⠀⢸ ⣿⣿⣿⣿⡟⣿⣿⣿⣿⣦⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣶⣤⣄⣀⣀⣈⡀⠀⠘⢿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⣿⢹⣿⣿⡏⠀⣿⡟⣿⣿⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠹⣿⣿⣿⣿⠀⠿⠿⠿⠿⠃⠈⠻⠿⠿⠋⠀⠻⠿⠿⠀⠿⠿⠇⠰⠿⠇⠹⠿⠆⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠠⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠘⠿⣿⣿⣷⣶⣶⣶⣶⣿⣿⣷⣶⣶⣾⣿⣶⣶⣶⣿⣶⣶⣾⣲⣆⡆⡆⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⡆⠀⠀⢸⣿⣿⣷⡀⠀⠀⠀⠀⠀⠸⣿⠿⠿⣿⣿⣿⢿⣿⣿⡿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣻⣿⣿⠁⠁⠁⠀⠀⠀⢸ ⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠸⣿⣿⣿⣷⣤⣀⣀⣀⣀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠈⢻⣿⣿⣿⣞⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⡟⠀⠀⠀⠀⡠⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀⠀⠀⠘⠿⠿⠙⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⢻⣿⣿⣟⠂⠙⢿⣿⣿⣿⣿⣿⣿⣿⣹⣿⣿⣿⡇⠀⠄⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣛⣛⣻⡟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⢻⣿⠃⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡇⠀⠀⠀⠀⠀⠀⢸ ⣟⣻⣿⣟⣛⣿⣿⣿⠟⠋⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⣿⣿⠆⠀⠀⠀⠀⢿⡿⣿⣿⣿⣿⣿⣿⣶⡒⠀⠀⠅⠡⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠈⠉⠛⢿⣿⣿⣿⣿⣿⣿⣿⣟⣆⣀⠀⠀⠹⡿⠃⠀⠀⠀⠀⠀⠀⠠⠪⣾⣶⢮⡇⣿⡇⠀⢀⠀⡀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢼⣿⣿⣿⠿⠿⠿⠿⢿⣿⣿⡷⢶⡤⠆⠀⠀⠀⠀⠀⠀⠀⠀⣷⣒⣂⢰⠀⠃⠃⠀⠛⠃⠈⠁⠀⠀⢸ ⡛⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣹⣷⣿⣿⣀⣀⣀⣀⣤⡆⠀⠀⠀⠀⢸ ⡇⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⠀⣤⣤⣤⣤⣤⣤⣤⣴⣦⣶⣶⣶⣶⣶⠶⠶⠶⠶⠶⠶⣶⣾⣿⣿⣿⣿⣿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢸ ⡇⠖⠶⣾⠿⢾⢏⠹⠿⠿⠏⠉⠀⠉⠉⠉⠀⢸⣛⢛⣋⡃⠉⠟⠛⠋⠇⠀⠀⠀⠀⠀⠀⠛⠋⠿⠿⠿⠛⠑⠕⠚⠿⠿⠿⠻⣿⣿⣿⣿⣿⣿⣿⣟⣉⣱⣒⣚⣻⣋⣁⣀⣐⣁⣀⣀⣀⣀⡀⠈⠁⠂⠀⠀⠀⠀⠀⠸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣿⡟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣷⣶⣆⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⢿⣯⣤⣀⠀⠀⠠⣿⣿⣿⣿⣿⣷⣿⣿⣿⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢿ ⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⠊⠉⠁⢸⡏⠉⠁⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡤⣼ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠀⠀⡀⡀⠀⡀⣰⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿ ⣿⣿⣿⣿⠟⠻⠍⠩⠉⠆⠀⠀⠀⠈⠤⠄⢸⣤⣮⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⣿ ⣿⡿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠿⡿⢿⢻⢿⡏⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣩⣥⣭⡙⠋⣭⣭⢩⣭⡝⢋⣭⣭⡍⠛⣭⣭⠙⠋⣭⣭⢩⣭⣭⣭⡍⣭⣍⢉⣭⡄⠉⣿ ⣿⣞⡃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠈⠀⠀⣻⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⡏⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⢿⣿⠀⣿⣿⠀⠀⣿⣿⠘⢻⣿⡟⠃⢸⣿⣸⣿⠁⠀⢿ ⣷⣶⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠒⠀⣴⣾⣿⣿⣿⣟⣁⢸⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣸⣿⢸⣿⡄⣿⣿⠀⠀⣿⣿⠀⢸⣿⡇⢰⡀⣿⣿⡏⠀⢶⣿ ⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠉⠛⠛⠻⣿⡷⡁⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣿⣿⢿⣿⡇⣿⣿⣀⡀⣿⣿⠀⢸⣿⡇⢸⡇⢸⣿⠀⢈⠀⣿ ⣿⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⢏⠁⠣⠀⠞⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠙⢻⣿⣥⠀⠙⠻⠿⠋⠀⠛⠛⠘⠛⠓⠛⠛⠛⠃⠛⠛⣀⡘⠛⠃⣼⣧⠘⠛⠂⡠⠀⣿ ⣷⣦⣤⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢂⡀⢈⣁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣤⣾⣿⡟⣃⣉⣉⣙⠻⠟⢋⣉⣉⠙⢋⣉⡛⢋⣉⡛⢃⣉⡙⣉⡙⢛⣀⡀⢠⣿ ⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⢤⣤⣤⣀⣠⣴⡀⠙⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢻⣿⡇⢰⣿⡟⣿⣷⢸⣿⡇⣾⣿⡇⣼⣿⠀⣿⣷⢸⣿⠁⠈⢿ ⣿⣿⣿⣿⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡈⠉⠙⠛⠛⠛⠛⠛⠛⠛⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠈⣿⣇⣿⣿⣇⣿⣿⠀⣿⣿⣾⣿⠀⠀⢸ ⣿⣿⣿⣿⣟⣿⣿⣦⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣷⣤⣄⣀⠀⠀⠀⠀⠀⠀⠈⠿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⣿⢹⣿⣿⡏⠀⣿⡟⣿⣿⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⡄⠀⠘⢿⣿⣿⣿⣿⣿⡀⠿⠿⠿⠿⠃⠈⠻⠿⠿⠋⠀⠻⠿⠿⠀⠿⠿⠇⠰⠿⠇⠹⠿⠆⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠀⠻⢿⣿⣿⣿⣿⣶⣶⣶⣶⣿⣿⣷⣶⣶⣾⣿⣶⣶⣶⣿⣶⣶⣾⣲⡆⡆⡆⠀⠀⠀⢸ ⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣽⣦⠀⠀⠠⣿⣿⣶⡆⠀⠀⠀⠀⠀⠸⡿⢿⠿⠿⢿⣿⣿⢿⣿⣿⡿⣿⣿⣿⣿⣇⠀⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣻⣿⣿⠁⠁⠁⠀⠀⠀⢸ ⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠈⣿⣿⣿⣿⣦⣄⣀⣀⣀⣀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠈⠻⣿⣿⣿⣿⡻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⡿⠀⠀⠀⠀⠢⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠘⠻⠟⠛⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠹⣿⣿⣿⠑⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⡇⠠⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣛⣛⣻⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⢹⣿⡃⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⠇⠀⠀⠀⠀⠀⠀⢸ ⣟⣛⣟⣟⣛⣿⣿⣿⠟⠋⠀⠀⠀⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠛⠛⠿⡿⡿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⢸⣿⡧⠀⠀⠀⠀⠙⣿⡿⣿⣿⣿⣿⣿⣿⣶⡒⠀⠀⠇⠽⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢹⣿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣄⡀⠈⠻⠁⠀⠀⠀⠀⠀⠀⠀⠀⠺⣾⣷⢦⡆⣿⡇⠀⣀⠀⣀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⢿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⢿⢿⠟⠿⠛⠛⠛⠛⠛⠛⠛⠛⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⣷⣂⣐⠰⠀⠃⠁⠀⠛⠃⠈⠀⠀⠀⢸ ⡛⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⣿⣷⣿⣿⣀⣀⣀⣀⣤⡆⠀⠀⠀⠀⢘ ⡃⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⠀⣤⣤⣤⣤⣤⣤⣤⣴⣦⣶⣶⣶⣶⣶⠶⠶⠶⠶⠶⠶⣶⣿⣿⣿⣿⣿⣿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⢐ ⡇⠖⠶⣾⠿⢾⢏⠹⠿⠿⠏⠉⠀⠉⠉⠉⠀⢸⣛⢛⢋⡉⠉⠟⠛⠋⠇⠀⠀⠀⠀⠀⠀⠛⠋⠿⠿⠿⠛⠑⠕⠛⠿⠿⠟⠻⣿⣿⣿⣿⣿⣿⣿⣟⣉⣰⣒⣚⣻⣉⣁⣀⣐⣁⣀⣀⣀⣀⡀⠈⠁⠂⠀⠀⠀⠀⠀⠰ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⡦⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢻⣿⣧⣀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⢸⡏⠉⠁⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣾ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠀⠀⡀⡀⢀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣿ ⣿⣿⣿⣿⡿⠿⠍⠩⠉⠆⠀⠀⠀⠘⢤⡄⣼⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⣿ ⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⢿⣿⣿⣿⣿⣿⠁⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣩⣭⣭⡙⠋⣭⣭⢩⣭⡝⢋⣭⣭⡍⠛⣭⣭⠙⠋⣭⣭⢩⣭⣭⣭⡍⣭⣍⢉⣭⡄⠙⣿ ⣏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠈⠙⠁⠉⠁⠀⢘⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⡏⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⢿⣿⠀⣿⣿⠀⠀⣿⣿⠘⢻⣿⡟⠃⢸⣿⣸⣿⠁⠀⣿ ⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠶⣷⣠⣶⣾⣿⣿⣿⣉⣀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣸⣿⢸⣿⡄⣿⣿⠀⠀⣿⣿⠀⢸⣿⡇⢰⡀⣿⣿⡏⠀⢶⣿ ⣷⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠉⠉⠻⢿⣿⣿⣿⡿⡏⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣿⣿⢿⣿⡇⣿⣿⣀⡀⣿⣿⠀⢸⣿⡇⢸⡇⢸⣿⠀⠀⠀⣿ ⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠀⠈⠻⣿⣿⡿⢧⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠙⢻⣿⣥⠀⠙⠻⠿⠋⠀⠛⠛⠘⠛⠓⠛⠛⠛⠃⠛⠛⣀⠘⠛⠃⣼⣇⠘⠛⠂⡈⠘⣿ ⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⠀⠘⣂⠀⠀⠀⠀⠀⠀⠀⠈⠉⠁⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣤⣾⣿⡟⣋⣉⣉⡛⠻⠟⢋⣉⣉⠙⢋⣉⡛⢋⣉⡛⢋⣉⡙⣉⡙⢛⣀⡁⢠⣿ ⣷⣶⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢻⣿⡇⢰⣿⡟⣿⣷⢸⣿⡇⣾⣿⡇⣼⣿⠁⣿⣷⢸⣿⠁⠈⢻ ⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠛⠛⠷⠾⢿⣿⣤⣴⣮⣿⡿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠈⣿⣇⣿⣿⣇⣿⣿⠀⣿⣿⣾⣿⠀⠀⢸ ⣿⣿⣿⣿⣟⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⣦⣤⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⣿⢹⣿⣿⡏⠀⣿⡟⣿⣿⠀⠀⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣶⣶⣦⣶⣶⣶⣤⡀⠀⠹⢿⣿⣿⣿⣿⣿⣿⡀⠿⠿⠿⠿⠃⠈⠻⠿⠿⠋⠀⠻⠿⠿⠀⠿⠿⠇⠰⠿⠇⠹⠿⠆⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣆⠀⠈⠻⢿⣿⣿⣿⣿⣿⣷⣶⣶⣶⣿⣿⣷⣶⣶⣾⣿⣶⣶⣶⣾⣶⣶⣾⣲⣆⡆⡆⠀⠀⠀⢸ ⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣧⠰⣄⠀⠀⠀⣾⣿⣶⣦⠀⠀⠀⠀⠀⠀⡿⠿⣿⠿⠿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣦⠀⠀⠀⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⢿⣿⣻⣛⣛⠁⠀⠁⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⢿⣿⣿⣿⣷⣤⣀⣀⣤⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠛⠟⠛⠁⠹⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠈⣿⣿⣿⣟⡗⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⡇⠠⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣛⣛⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⢸⣿⣧⠗⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠄⠀⠀⠀⢸ ⣿⣿⣿⣿⣟⣿⣿⣿⠟⠉⠀⠀⠈⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠙⠛⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠘⣿⣿⠁⠀⠀⠀⠀⠻⣿⡿⡿⣿⣿⣿⢿⡿⣶⡖⠀⠀⠇⠾⠠⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣄⣈⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠲⣾⣶⡤⠆⣿⡇⠀⢀⠀⣀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠿⠋⠙⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⣂⣀⡄⠀⣷⢒⣐⠰⠀⠓⠃⠀⠛⠃⠈⠁⠀⠀⠨ ⡛⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣈⣉⣀⣀⣿⣗⣿⣿⣀⣠⣀⣀⣤⡆⠀⠀⠀⠀⢸ ⡃⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⠠⣤⣤⣤⣤⣤⣤⣤⣶⣶⣶⣶⣶⣶⣶⠶⠾⠷⠶⠶⠾⣿⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⢸ ⡇⠖⠶⣶⠿⢾⣍⡹⠿⠿⠏⠉⠀⠉⠉⠀⠀⢸⣟⢛⡛⡃⠉⠟⠛⠋⠇⠀⠀⠀⠀⠀⠀⠛⠋⠿⠟⠿⠛⠑⠕⠙⠿⠿⠟⠻⣿⣿⣿⣿⣿⣿⣿⣟⣉⣐⣒⣚⣻⣉⣀⣀⣈⣁⣀⣀⣀⣀⡀⠈⠁⠂⠀⠀⠀⠀⠀⠸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣦⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣻⣿⣸⣦⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠏⠁⠀⢸⡏⠉⠉⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡤⣾ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠀⠀⡀⡀⣀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣿ ⣿⣿⣿⣿⡟⠻⠍⠩⠉⠆⠀⠀⠀⠘⠤⢼⣿⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣙⣿ ⣿⡿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠃⢻⣿⣿⣿⣿⣿⠋⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣩⣭⣭⡙⠋⣭⣭⢩⣭⡝⢋⣭⣭⡍⠛⣭⣭⠙⠋⣭⣭⢩⣭⣭⣭⡍⣭⣍⢉⣭⡌⠉⣿ ⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠋⢹⡃⠉⠋⠀⠀⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⡏⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⢿⣿⠀⣿⣿⠀⠀⣿⣿⠘⢻⣿⡟⠃⢸⣿⣸⣿⠁⠀⣿ ⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⣤⣴⣶⣷⣿⣿⣟⢁⣸⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣸⣿⢸⣿⡄⣿⣿⠀⠀⣿⣿⠀⢸⣿⡇⢰⡀⣿⣿⡏⠀⢾⣿ ⣦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⠟⠛⢿⣿⣿⣿⣿⣷⣟⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣿⣿⢿⣿⡇⣿⣿⣀⡀⣿⣿⠀⢸⣿⡇⢸⡇⢸⣿⠀⢀⠀⣿ ⡿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠛⠛⠻⢿⣿⣿⣶⡆⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠙⢻⣿⣥⠀⠙⠻⠿⠋⠀⠛⠛⠘⠛⠓⠛⠛⠛⠃⠛⠛⢀⠘⠛⠃⣼⣧⠘⠛⠂⡀⠀⣿ ⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⠀⠀⢒⡀⠀⠀⠀⠀⠀⠀⠀⠛⠛⠉⠁⠀⠹⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣤⣾⣿⡟⣋⣉⣉⣛⠻⠟⢋⣉⣉⠙⢋⣉⡛⢋⣉⡛⢋⣉⡉⣉⡙⢛⣀⡀⢰⣿ ⣦⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠞⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢻⣿⡇⢰⣿⡟⣿⣷⢸⣿⡇⣾⣿⡇⣼⣿⠀⣿⣷⢸⣿⠁⠀⣻ ⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣴⣾⣿⣆⡀⣉⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠈⣿⣇⣿⣿⣇⣿⣿⠀⣿⣿⣾⣿⠀⠀⣸ ⣿⣿⣿⣶⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠉⠉⠉⠛⠛⠉⠉⠉⠉⠉⠉⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⣿⢹⣿⣿⡏⠀⣿⡟⣿⣿⠀⠀⢸ ⣿⣿⣿⣿⣷⣿⣷⣶⣤⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣶⣦⣤⣤⣀⣀⣠⣤⣄⡀⠈⠙⢿⣿⣿⣿⣿⣿⣿⣿⡀⠿⠿⠿⠿⠃⠈⠻⠿⠿⠋⡀⠻⠿⠿⠀⠿⠿⠇⠰⠿⠇⠹⠿⠆⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣿⣿⣷⣶⣶⣾⣿⣶⣶⣶⣾⣶⣶⣶⣲⣆⡆⡆⠀⠀⠀⢸ ⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⡄⠤⠀⠀⠀⠰⣶⣶⣶⣄⠀⠀⠀⠀⠀⠸⡿⢿⣿⠿⢿⢿⣿⣿⢿⣿⣿⡿⢿⣿⣷⡀⠀⠀⠈⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⢿⣿⣛⣛⣛⠁⠀⠁⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⡿⠀⠀⠀⢿⣿⣿⣿⣷⣤⣄⣤⣤⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠂⢃⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠙⠛⠋⠉⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠹⣿⣿⣿⡹⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣛⣛⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⣻⣿⣯⠂⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⠃⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠉⠛⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠹⣿⡟⡀⠀⠀⠀⠘⠿⣿⡿⠿⣿⣿⣿⣿⡿⣶⡖⠀⠀⠇⠺⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣤⡭⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣾⣷⠦⠆⣿⡇⠀⠀⠀⡀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⢿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⠛⠋⠋⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣠⠀⠀⣷⠂⡒⠲⠀⠓⠃⠀⠙⠃⠈⠁⠀⠀⢠ ⡋⠛⠛⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣉⣉⣀⣀⣿⣛⣿⣿⣀⣠⣄⣄⣤⡆⠀⠀⠀⠀⠸ ⡀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⡀⠠⣤⣤⣤⣤⣤⣤⣦⣶⣶⣶⣶⣶⡶⣶⠶⠾⠷⠖⠻⠿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⢨ ⡀⠖⠶⣶⠿⢿⢍⡹⠿⠿⠏⠉⠀⠉⠀⠀⠀⢸⢿⢛⡛⡁⠁⠛⠛⠋⠇⠀⠀⠀⠀⠀⠀⠛⠋⠿⠿⠻⠛⠑⠕⠛⠿⠯⠟⢻⣿⣿⣿⣿⣿⣿⣿⣟⣉⣐⣒⣒⣻⣉⣀⣀⣈⣀⣀⣀⣀⣀⠀⠀⠁⠂⠀⠀⠀⠀⠀⠸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣾⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠛⠋⢹⡟⠉⠁⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣽ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠀⠀⡀⡀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⣿ ⣿⣿⣿⣿⠿⠿⠍⠩⠉⠆⠀⠀⠀⠘⠤⢄⣾⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣔⣿ ⣿⣿⡿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⡆⣼⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣩⣥⣭⡙⠋⣭⣭⢩⣭⡝⢋⣭⣭⡍⠛⣭⣭⠙⠋⣭⣭⢩⣭⣭⣭⡍⣭⣍⢉⣭⡄⠙⣿ ⡟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠻⢻⡿⠿⡿⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⡏⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⢿⣿⠀⣿⣿⠀⠀⣿⣿⠘⢻⣿⡟⠃⢸⣿⣸⣿⠁⠀⣿ ⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣨⣧⠀⣀⣀⣌⣿⣿⣿⠟⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣸⣿⢸⣿⡄⣿⣿⠀⠀⣿⣿⠀⢸⣿⡇⢰⡀⣿⣿⡏⠀⠲⣿ ⡃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠻⣿⣿⣿⣿⣿⣿⣧⣴⡾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣿⣿⢿⣿⡇⣿⣿⣀⡀⣿⣿⠀⢸⣿⡇⢸⡇⢸⣿⠀⠀⠀⣿ ⣯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⣵⣿⣿⣿⣻⣿⠇⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠙⢻⣿⣥⠀⠙⠻⠿⠋⠀⠛⠛⠘⠛⠓⠛⠛⠛⠃⠛⠛⢀⠘⠛⠃⣼⣇⠘⠛⠂⡘⠐⣿ ⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠠⣄⠀⠀⠀⠀⠀⠈⠉⢻⣿⡿⠇⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⣤⣾⣿⡟⣋⣉⣉⣛⠻⠟⢋⣉⣉⠙⢛⣉⡛⢋⣉⡛⢋⣉⡉⣉⡙⢛⣁⠀⢰⣿ ⡀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠦⡤⠶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢻⣿⡇⢰⣿⡟⣿⣷⢸⣿⡇⣾⣿⡇⣼⣿⠀⣿⣷⢸⣿⠁⠈⢹ ⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡄⠈⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠈⣿⣇⣿⣿⣇⣿⣿⠀⣿⣿⣾⣿⠀⠀⢸ ⣿⣿⣧⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠋⠙⠛⠿⠿⢿⣶⡶⠶⠿⠿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⣿⢹⣿⣿⡏⠀⣿⡟⣿⣿⠀⠀⢹ ⣿⣿⣿⣿⣷⣦⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢶⣶⣤⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠿⠿⠿⠿⠃⠈⠻⠿⠿⠋⠀⠻⠿⠿⠀⠿⠿⠇⠰⠿⠇⠹⠿⠆⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣦⣄⠀⠘⠻⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣿⣿⣷⣶⣶⣾⣿⣶⣶⣶⣾⣶⣶⣶⣲⣄⡆⡆⠀⠀⠀⢸ ⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⣠⣤⣤⣤⡀⠀⠀⠀⠀⠀⢿⡿⢿⣿⣿⢿⣿⣿⣿⣿⣿⣿⡿⣿⣧⡀⠀⠉⠙⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣟⢿⣻⣛⣛⣛⠁⠀⠁⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⣵⡄⠀⠀⠸⣿⣿⣿⣧⣀⣀⣀⣀⣀⣹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠀⠀⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠀⠀⠀⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠘⠿⠛⠋⠈⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⠀⠀⠀⠀⠘⢿⣿⣿⡻⡉⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣛⣛⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠹⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⢘⣿⣿⡆⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⠇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠛⠛⠻⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⢻⣿⠇⠀⠀⠀⠀⠻⣿⣷⡿⠿⣿⣿⣿⢿⣿⣶⠖⠀⣀⠇⠣⠠⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⠝⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣷⠂⠁⠁⠀⢠⣿⡿⣀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠿⠿⠛⠛⠉⠉⠉⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⢠⣤⡄⠃⠀⠃⠀⠀⠀⠀⠀⠀⠈⠻⡇⠈⠁⠀⠀⢸ ⠋⠉⠉⠛⠛⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣈⣉⣁⣀⣀⣀⣀⣀⣀⣀⣠⣴⣀⣀⡀⠀⠀⠀⠀⢸ ⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⡀⠠⣤⣤⣤⣤⣤⣤⣶⣶⣶⣶⣶⣶⡶⣶⠶⠾⠷⠛⠻⠿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⢸ ⠀⠖⠲⣶⠿⢿⢍⡹⠿⠿⠏⠁⠀⠈⠀⠀⠀⢸⢿⢙⠉⡁⠀⠛⠛⠋⠇⠀⠀⠀⠀⠀⠀⠛⠋⠿⠿⠛⠛⠁⠆⠛⠿⠯⠏⢻⣿⣿⣿⣿⣿⣿⣿⣟⣉⣐⣒⣚⣻⣉⣀⣀⣈⣀⣁⣀⣀⡀⠀⠀⠁⠂⠀⠀⠀⠀⠀⠰ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣷⣷⣾⣿⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢿ ⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⠋⢿⡿⢿⣿⠙⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⢼ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⠄⠀⠀⡀⡀⠀⡹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⣿ ⣿⣿⣿⣿⣿⣿⡍⠩⠉⠆⠀⠀⠀⠈⠄⠄⢘⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣥⣿ ⣿⣿⣿⣿⡯⠉⠀⠀⠀⠀⠀⠀⠀⠀⡀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣩⣥⣭⡙⠋⣭⣭⢩⣭⡝⢋⣭⣭⡍⠛⣭⣭⠙⠋⣭⣭⢩⣭⣭⣭⡍⣭⣍⢉⣭⡄⠙⣿ ⣿⡟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠃⢻⣿⣿⣿⣿⣿⠋⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⡏⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⢿⣿⠀⣿⣿⠀⠀⣿⣿⠘⢻⣿⡟⠃⢸⣿⣸⣿⠁⠀⣿ ⣟⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠈⣘⡏⠋⠁⠈⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣸⣿⢸⣿⡄⣿⣿⠀⠀⣿⣿⠀⢸⣿⡇⢰⠀⣿⣿⡏⠀⠶⣿ ⡗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣶⣶⣾⣿⣿⣿⡟⢁⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣿⣿⢿⣿⡇⣿⣿⣀⡀⣿⣿⠀⢸⣿⡇⢸⡇⢸⣿⠀⠀⠀⣿ ⡦⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⠋⣙⣿⣿⣿⣿⣿⠉⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠙⢻⣿⣥⠀⠙⠻⠿⠋⠀⠛⠛⠘⠛⠓⠛⠛⠛⠃⠛⠛⠀⠘⠛⠃⣼⣇⠘⠛⠂⡈⠀⣿ ⣟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⠋⠙⠷⣾⣿⣤⡀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣤⣾⣿⡟⣋⣉⣉⣛⠻⠟⢋⣉⣉⠙⢋⣉⡛⢋⣉⡛⢋⣉⡉⣉⡙⢛⣁⡀⢰⣿ ⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢆⣀⢈⣡⠀⠀⠀⠀⠀⠀⠀⠘⠋⠉⠁⠀⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢻⣿⡇⢰⣿⡟⣿⣷⢸⣿⡇⣾⣿⡇⣼⣿⠀⣿⣷⢸⣿⠁⠀⢻ ⣦⣶⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠈⣿⣇⣿⣿⣇⣿⣿⠀⣿⣿⣾⣿⠀⠀⢸ ⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣴⣶⡀⠈⢛⡻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⣿⢹⣿⣿⡏⠀⣿⡟⣿⣿⠀⠀⢸ ⣿⣿⣿⣿⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠉⠉⠛⠛⠛⠛⠛⠛⠉⠉⠉⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠿⠿⠿⠿⠃⠈⠻⠿⠿⠋⠀⠻⠿⠿⠀⠿⠿⠇⠰⠿⠇⠹⠿⠆⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣶⣤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣷⣦⣤⣄⣀⣀⣀⣀⣄⣀⠀⠈⠛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣿⣿⣷⣶⣶⣾⣿⣶⣶⣶⣾⣶⣶⣶⣲⣆⡆⡆⠀⠀⠀⢸ ⣿⣿⣿⣿⡿⣿⣿⡿⣿⣿⣶⡀⠀⠀⠀⠀⠀⠀⣀⣀⢀⠀⠀⠀⠀⠀⠀⣿⣿⢿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠹⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣿⣿⣿⣟⣟⢿⣟⣛⣛⣛⠀⠀⠁⢀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠰⣄⠀⠀⠀⢿⣿⣿⣿⣀⠀⠀⢀⣀⣀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣻⡿⠀⠀⠀⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠹⠿⠟⠛⠈⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠈⢻⣿⣿⣿⠛⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣻⣛⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀⠀⢹⣿⣯⡀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠋⠈⣳⣤⡀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣯⣿⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠙⠛⠛⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣂⠀⠀⠀⠀⠀⣿⣿⠇⠀⠀⠀⠹⢿⣿⣽⡿⠿⠿⠛⠁⠀⠀⠀⠐⣻⣿⣿⠊⠀⠂⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣦⣤⣨⡿⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⡏⣀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⢿⠿⠿⠛⠛⠛⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⢐⣀⡀⠀⠀⠀⠀⠀⠀⢠⡶⠃⠀⠈⠃⠈⠁⠀⠀⢸ ⠋⠉⠉⠙⠋⠘⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣈⣋⣃⣀⣀⣀⣠⣴⣆⣡⣤⣄⣀⣠⡄⠀⠀⠀⠀⠸ ⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⡀⠤⣤⣤⣤⣤⣤⣴⣶⣶⣶⣶⣶⣶⡶⡶⠖⠾⠟⠛⠛⠻⣿⣿⣿⣿⣿⣿⣿⠟⢿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⠀⠀⠀⠀⠐ ⠀⠖⠲⣶⠿⢿⢍⡹⠿⠿⠏⠀⠀⠈⠀⠀⠀⢸⠯⢙⠉⡁⠁⠛⠛⠋⠇⠀⠀⠀⠀⠀⠀⠛⠋⠿⠿⠛⠛⠁⠀⠛⢺⠎⠟⢻⣿⣿⣿⣿⣿⣿⣿⣟⣉⣐⣒⣚⣻⣉⣀⣀⣈⣀⣁⣀⣀⠀⠀⠀⠁⠂⠀⠀⠀⠀⠀⠰ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣆⣸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣷⣷⣿⣿⣶⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇⣿ ⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⠋⢿⣿⣿⡿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡤⣾ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⠄⠃⠛⡳⡈⠁⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⣿ ⣿⣿⣿⣿⣿⣿⣽⣭⠿⠖⠀⠀⠀⠈⠄⠄⠘⢿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣀⣿ ⣿⣿⣿⣿⣿⡿⠂⠁⠀⠀⠀⠀⠀⠀⠀⣠⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣩⣥⣭⡙⠋⣭⣭⢩⣭⡝⢋⣭⣭⡍⠛⣭⣭⠙⠋⣭⣭⢩⣭⣭⣭⡍⣭⣍⢉⣭⡄⠉⣿ ⣿⣿⣿⡫⠄⠀⠀⠀⠀⠀⠀⠀⠀⠠⡄⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⡏⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⢿⣿⠀⣿⣿⠀⠀⣿⣿⠘⢻⣿⡟⠃⢸⣿⣸⣿⠁⠀⣿ ⡿⠫⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⠿⣿⣿⢿⠟⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣸⣿⢸⣿⡄⣿⣿⠀⠀⣿⣿⠀⢸⣿⡇⢰⠀⣿⣿⡏⠀⠚⣿ ⡧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⡤⢀⣀⣠⣨⣿⣿⣿⠟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣿⣿⢿⣿⡇⣿⣿⣀⡀⣿⣿⠀⢸⣿⡇⢸⡇⢸⣿⠀⠀⠀⣿ ⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠛⢿⣿⠿⣿⣿⣿⣿⣥⣦⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠙⢻⣿⣥⠀⠙⠻⠿⠋⠀⠛⠛⠘⠛⠓⠛⠛⠛⠃⠛⠛⠀⠘⠛⠃⣼⡇⠘⠛⠂⡘⠀⣿ ⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠪⣾⢿⣿⣿⣿⡿⠀⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣤⣾⣿⡟⣋⣉⣉⣛⠻⠟⢛⣉⣉⠙⢋⣉⡛⢋⣉⡛⢋⣉⡉⣉⡙⢛⣀⡀⠰⣿ ⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⢤⡀⠀⠀⠀⠀⠀⠈⠙⢿⡿⠿⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢻⣿⡇⢰⣿⡟⣿⣷⢸⣿⡇⣾⣿⡇⣼⣿⠀⣿⣷⢸⣿⠁⠀⢿ ⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⢦⠴⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣳⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠈⣿⣇⣿⣿⣇⣿⣿⠀⣿⣿⣾⣿⠀⠀⢸ ⣿⣽⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⡄⠘⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⣿⢹⣿⣿⡏⠀⣿⡟⣿⣿⠀⠀⢸ ⣿⣿⣧⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡤⢤⣤⣾⣿⣷⣀⣀⣈⣛⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠿⠿⠿⠿⠃⠈⠻⠿⠿⠋⠀⠻⠿⠿⠀⠿⠿⠇⠰⠿⠇⠹⠿⠆⠀⢸ ⣿⣿⣿⣿⣷⣤⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠈⠉⠉⠉⠁⠀⠀⠀⠀⠈⠹⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣿⣿⣷⣶⣶⣾⣿⣶⣶⣶⣶⣶⣶⣶⣰⣆⡆⡆⠀⠀⠀⢸ ⣿⠿⠿⢿⡿⠿⢿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣷⣶⣦⣦⣤⣤⣶⣶⣦⡀⠀⠘⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣻⣿⣟⣟⣿⣛⣛⣛⣛⣛⣛⣛⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⣤⣤⣤⡄⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠈⠙⠛⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠂⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣘⣦⠀⠀⠀⠙⢿⣿⡿⠇⠠⣴⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠀⠀⠀⠀⠘⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣿⣽⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣹⣛⣿⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠀⠘⢻⣿⡟⠁⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠇⠀⠀⠀⠀⠀⠀⢸ ⣿⣭⣯⣭⣭⣭⣭⣭⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠉⠛⠻⠛⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡷⡀⠀⠀⠀⠀⠸⣿⣿⡆⠀⠀⠉⠭⢽⠯⠽⡟⠿⠿⠛⠁⠀⠀⠁⢀⣦⣄⠂⠐⠀⠁⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⣿⣿⣿⣿⣿⣿⣷⣤⣤⣤⣀⡀⠻⣿⠐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢾⣿⣿⡀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⠿⠿⠿⠿⠛⠛⠟⠛⠋⠋⠁⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⡇⠀⠁⠀⠀⠸ ⠋⠉⠉⠉⠉⠈⠙⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⢀⣀⣀⣀⣀⣀⣀⣐⣓⣀⣀⣀⣀⣀⣀⣀⣀⣤⣄⣨⣿⡇⠀⠀⠀⠀⢐ ⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⣀⡠⠤⣤⣤⣤⣤⣤⣶⣶⣶⣶⣶⣶⣶⡶⡶⠒⠻⠛⠛⠛⠻⣿⣿⣿⣿⣿⣿⣿⠟⢿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠇⠀⠀⠀⠀⠀ ⡀⠆⠲⣶⠿⢿⢍⡹⠿⠿⠏⠀⠀⠈⠀⠀⠀⢸⠭⠉⠉⠁⠀⠛⠙⠋⠃⠀⠀⠀⠀⠀⠀⠛⠋⠙⠟⠙⠛⠑⠀⣙⣛⡊⡛⣛⣿⣿⣿⣿⣿⣿⣿⣟⣉⣐⣒⣚⣛⣉⣀⣀⣈⣁⣁⡀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠘ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣾⣿⣶⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⢿ ⣿⣿⣿⣿⣏⣿⣿⣿⣿⣿⠋⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡤⢾ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣥⠰⣿⡿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⣿ ⣿⣿⣿⣿⣿⣿⣽⣯⣿⣶⢶⠷⠟⠛⠿⠌⠘⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢄⣿ ⣿⣿⣿⣿⣿⣿⣿⣟⠟⠟⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣩⣥⣭⡙⠋⣭⣍⢩⣭⡝⢋⣭⣭⡍⠛⣭⣭⠙⠋⣭⣭⢩⣭⣭⣭⡍⣭⣍⢉⣥⡄⠁⣿ ⣿⣿⣿⣿⡿⣯⠁⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⡏⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⢿⣿⠀⣿⣿⠀⠀⣿⣿⠘⢻⣿⡟⠃⢸⣿⣸⣿⠁⠀⣿ ⣿⣿⣿⣛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠰⠄⣿⣿⣿⣿⣿⣿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣸⣿⢸⣿⡄⣿⣿⠀⠀⣿⣿⠀⢸⣿⡇⢰⠀⣿⣿⡏⠀⠚⣿ ⡿⠣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠟⣿⢿⢿⠇⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣿⣿⢿⣿⡇⣿⣿⣀⡀⣿⣿⠀⢸⣿⡇⢸⡇⢸⣿⠀⠀⠀⣿ ⡯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⡄⣀⣀⣠⣘⣿⣿⣿⠟⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠙⢻⣿⣥⠀⠙⠻⠿⠋⠀⠛⠛⠘⠛⠃⠛⠛⠛⠃⠛⠛⠀⠘⠛⠃⢼⡇⠘⠛⠀⠀⠀⢿ ⡁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⢿⣿⡿⣿⣿⣿⣿⣥⡄⢿⣿⢿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣤⣾⣿⠟⣃⣉⣉⣛⠻⠟⢋⣉⣉⠙⢋⣉⡙⢋⣉⡛⢋⣉⡉⣉⡙⢛⣀⡀⢐⣿ ⣯⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢺⣾⢿⣿⣼⣿⣇⣈⣃⢾⣿⠙⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢻⣿⡇⢰⣿⡟⣿⣷⢸⣿⡇⣾⣿⡇⣼⣿⠀⣿⣷⢸⣿⠁⠀⢺ ⡷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢤⠀⠀⠦⠀⠀⠀⠀⠀⠈⠁⠙⠿⠿⠿⠋⠘⢿⣧⠀⠻⣿⣿⡟⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠈⣿⣇⣿⣿⣇⣿⣿⠀⣿⣿⣾⣿⠀⠀⢸ ⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⠶⠶⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⡄⠀⠈⠻⢿⣮⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⣿⢹⣿⣿⡏⠀⣿⡟⣿⣿⠀⠀⢸ ⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⡆⠀⠀⠀⠈⠙⠛⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠿⠿⠿⠿⠃⠈⠻⠿⠿⠋⠀⠻⠿⠿⠀⠿⠿⠇⠰⠿⠇⠹⠿⠆⠀⢸ ⣿⣿⣧⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠈⠛⠻⢿⡛⠛⠀⠀⠀⠀⠀⠀⠘⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣿⣿⣷⣶⣶⣾⣿⣶⣶⣶⣶⣶⣶⣴⣰⣆⡆⡆⠀⠀⠀⢸ ⡿⠿⠿⠿⠷⠦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⣶⣤⣀⡈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣻⣟⣟⣛⣟⣛⣛⣛⣛⣛⣛⡛⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣶⣶⣤⣤⣤⣤⣀⠀⠀⠀⣀⡻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣻⣻⡍⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⢀⠀⠀⠀⠀⣶⣶⣶⣤⡀⠀⠀⢀⣀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⠀⠀⠻⢬⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣹⣿⣿⣽⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣥⣈⣂⠀⠀⠀⠈⠛⠿⠿⠛⠁⠸⣿⣿⣿⣿⣿⣿⣿⣿⣯⣿⢿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠈⠙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠻⠃⠀⠀⠀⠀⠀⠀⢸ ⣿⣭⣭⣭⣭⣭⣭⣭⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⢻⣿⣿⡻⢿⡟⠻⡭⠽⠯⠽⠟⠿⠻⢿⠿⠿⠟⣷⡔⠀⠀⠂⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠙⠛⠛⢿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⢻⣿⣿⣦⠈⠁⢰⡇⠀⠀⠀⠀⠀⠀⣶⣶⠦⠄⣿⠇⠀⠀⠀⡀⠀⠀⠀⠸ ⣿⣿⣿⣿⣿⢿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⢿⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⣿⣿⡟⠀⠀⠀⠈⡯⠭⣽⡇⠀⡷⠀⠀⠀⠀⠛⢷⠒⢉⠁⠀⠀⠀⠀⠐ ⠋⠉⠉⠉⠉⠈⠙⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣦⣄⣀⢀⣀⣹⣿⣁⣀⣀⣀⣈⣓⣐⣻⣇⣀⣉⣀⣀⣀⣀⣀⣀⣠⣤⡅⠀⠀⠀⠀⠈ ⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⠤⠤⣤⣤⣤⣤⣴⣶⣶⣶⣶⣶⣶⣶⡶⡶⠛⠛⠛⠛⠛⠛⣿⣿⣿⣿⣿⣿⣿⠟⢻⡛⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⡿⠇⠀⠀⠀⠀⢀ ⡀⠆⠲⣶⠿⢿⢍⡹⠿⠿⠏⠀⠀⠀⠀⠀⠀⢸⠭⢉⠁⠁⠀⠛⠙⠋⠃⠀⠀⠀⠀⠀⠀⠛⠃⠙⠟⠉⠛⠀⠀⣙⣛⡊⡉⣛⣿⣿⣿⣿⣿⣿⣿⣏⣉⣐⣒⣚⣛⣉⣀⣀⡈⠁⠁⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣾⣿⣶⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠂⢿ ⣿⣿⣿⣿⣏⣿⣿⣿⣿⣿⠋⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⣾ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠔⣿⡿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿ ⣿⣿⣿⣿⣿⣿⣽⣯⣷⣶⣶⣷⣿⡿⣿⡏⠟⢿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠉⠉⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣩⣥⣭⡙⠋⣭⣭⢩⣭⡝⢋⣭⣭⡍⠛⣭⣭⠙⠋⣭⣭⢩⣭⣭⣭⡍⣭⣍⢉⣥⡄⠀⣿ ⣿⣿⣿⣿⣿⣿⡭⠙⠈⠈⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⡏⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⢿⣿⠀⣿⣿⠀⠀⣿⣿⠘⢻⣿⡟⠃⢸⣿⣸⣿⠁⠀⣿ ⣿⣿⣿⣿⣯⠛⠃⠀⠀⠀⠀⠀⠀⠀⡀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣸⣿⢸⣿⡄⣿⣿⠀⠀⣿⣿⠀⢸⣿⡇⢰⠀⣿⣿⡏⠀⠚⣿ ⣿⣿⠛⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⢻⣿⠿⣿⡿⣿⠋⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣿⣿⢿⣿⡇⣿⣿⣀⡀⣿⣿⠀⢸⣿⡇⢸⡇⢸⣿⠀⠀⠀⣿ ⡿⠁⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠈⢘⡋⠉⠁⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠙⢻⣿⣥⠀⠙⠻⠿⠋⠀⠛⠛⠘⠛⠃⠛⠛⠛⠃⠛⠛⠀⠘⠛⠃⢼⡇⠘⠛⠂⠀⠀⢿ ⠟⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣶⣶⣾⣷⣿⣿⡟⠁⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣤⣾⣿⠟⣁⣉⣉⣙⠻⠟⢋⣉⣉⠙⢛⣉⡙⢋⣉⡛⢋⣉⡉⣉⡙⢛⣀⡀⠰⣻ ⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⢉⣛⣿⣿⡿⣿⣿⠈⢿⢋⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢻⣿⡇⢰⣿⡟⣿⣷⢸⣿⡇⣾⣿⡇⣼⣿⠀⣿⣷⢸⣿⠁⠀⢻ ⣿⡅⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⠛⠙⠛⠳⣿⣿⣶⣶⠌⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠈⣿⣇⣿⣿⣇⣿⣿⠀⣿⣿⣾⣿⠀⠀⢸ ⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢧⣀⣈⡅⠀⠀⠀⠀⠀⠀⠀⠈⠉⠀⠁⠀⠉⢻⣯⣿⣿⣿⣿⣿⣿⣿⣿⠻⢛⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⣿⢹⣿⣿⡏⠀⣿⡟⣿⣿⠀⠀⢸ ⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⠈⠈⠉⠉⠉⠉⠉⠙⢻⠀⠿⠿⠿⠿⠃⠈⠻⠿⠿⠋⠀⠻⠿⠿⠀⠿⠿⠇⠰⠿⠇⠹⠿⠆⠀⢸ ⣿⣿⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣴⣿⣿⣿⣿⣿⣿⣿⡿⠙⠿⢿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⢷⣶⣶⣶⣶⣿⣿⣷⣶⣶⣾⣿⣶⣶⣶⣶⣶⣶⣴⣰⣆⡆⡆⠀⠀⠀⢸ ⡿⠿⠿⠿⠧⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣛⣿⣛⣿⣿⣻⣿⣻⣟⣟⣛⣟⣛⣛⣛⣛⣛⣛⡓⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣷⣦⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣄⠀⠀⠀⠀⠀⠀⠀⠀⢠⣄⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣻⣽⡎⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡄⠀⠀⠀⠀⠀⢀⣀⣀⣀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣤⡀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⡇⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣏⣭⡀⠄⠀⠀⠀⠘⠻⠿⢿⣶⠄⠀⢠⣶⣶⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⡿⠻⠃⠀⡀⠀⠀⠀⠀⢸ ⣯⣭⣭⣭⣭⣭⣭⣯⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠛⢿⣿⣿⣿⣿⣿⣷⣽⡛⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⠘⣷⣿⣿⣿⠹⣿⡟⠻⡭⠿⠿⠿⠟⠿⠟⢻⠟⠿⠟⣿⡍⠀⠀⠂⠀⠀⠁⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⡿⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠈⢿⣿⣿⡇⠸⡃⢰⡇⠀⠀⠀⠀⠀⠀⢶⣶⠦⠄⣿⠇⠀⠤⠄⠀⠀⠀⠀⠸ ⣿⣿⣿⣿⣿⢿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠛⠛⠻⠛⠁⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠙⣿⣯⠀⠀⠀⠀⣯⠭⣽⡇⠀⡷⠤⠤⠰⠀⠓⠀⠀⠉⠁⠀⠀⠀⠀⠀ ⠉⠉⠉⠉⠉⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣀⣀⣀⣀⣘⣿⣄⣀⣀⣈⣗⣒⣾⣇⣀⣟⣛⣿⣿⣦⣤⣬⣥⣤⡄⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⢀⣀⣀⠀⣠⠤⠤⣤⣤⣤⣴⣶⣶⣶⣶⣶⣶⣶⣿⡿⡿⠛⠛⠛⠛⠛⠛⣿⣿⣿⣿⣿⡿⡿⠟⢛⡛⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡿⠿⠿⡿⠿⣿⣿⣿⡿⠇⠀⠀⠀⠀⠀ ⡀⠆⠲⣶⠿⢿⠍⠹⠿⠶⠆⠀⠀⠀⠀⠀⠀⢸⠭⠭⠠⠅⠀⠛⠉⠉⠃⠀⠀⠀⠀⠀⠀⠙⠁⠙⣛⣉⣙⣐⣀⣈⣛⣋⣈⣛⣿⣿⣿⣿⣿⣿⣿⣏⣈⣰⣜⣚⣿⣉⡀⠀⠈⠠⠥⠤⠤⠤⠄⠤⠠⠤⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡷⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣶⣿⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢸ ⣿⣿⣿⣿⡏⣿⣿⣿⡿⡿⠋⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⢼ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡥⠘⣿⡿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⢿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣾ ⣿⣿⣿⣿⣿⣯⣽⣭⣿⣶⣶⣷⣿⣿⣿⣿⡟⣿⡯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠟⠛⠉⠉⠁⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣩⣥⣬⡙⠋⣭⣭⢩⣭⡝⢋⣭⣭⡍⠛⣭⣭⠙⠋⣭⣭⢩⣭⣭⣭⡍⣭⣍⢉⣥⡄⠀⣿ ⣿⣿⣿⣿⣿⣭⣭⡽⢿⡝⠁⠁⠀⠀⠀⠀⠀⠀⠀⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⡏⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⢿⣿⠀⣿⣿⠀⠀⣿⣿⠘⢻⣿⡟⠃⢸⣿⣸⣿⠁⠀⢻ ⣿⣿⣿⣿⣿⣿⠿⠇⠀⠀⠀⠀⠀⠀⠀⠀⢠⣤⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣸⣿⢸⣿⡄⣿⣿⠀⠀⣿⣿⠀⢸⣿⡇⢰⠀⣿⣿⡏⠀⠀⣿ ⣿⣿⣿⠿⠍⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣿⣿⢿⣿⡇⣿⣿⣀⡀⣿⣿⠀⢸⣿⡇⢸⡇⢸⣿⠀⠀⠀⣿ ⡿⠿⠉⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⡍⢻⠻⠃⠀⠀⣿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⠙⢻⣿⣥⠀⠙⠻⠿⠋⠀⠛⠛⠘⠛⠃⠛⠛⠛⠃⠛⠛⠀⠘⠛⠃⢼⡇⠘⠛⠀⠀⠀⢺ ⣯⡶⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣆⣀⣤⣤⣄⣿⣿⣿⠟⢻⣿⣿⣿⡿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣤⣾⣿⠟⣁⣉⣉⣙⠻⠟⢋⣉⣉⠙⢋⣉⡙⢉⣉⡛⢋⣉⡉⣉⡙⢋⣀⡀⠀⣾ ⣧⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⡿⠛⢿⣿⣿⡿⣦⡤⢺⣿⡿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢻⣿⡇⢰⣿⡟⣿⣷⢸⣿⡇⣾⣿⡇⣼⣿⠀⣿⣷⢸⣿⠁⠀⢸ ⣿⡷⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠲⣾⢿⣾⣌⣿⡇⣀⣏⢺⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠈⣿⣇⣿⣿⣇⣿⣿⠀⣿⣿⣾⣿⠀⠀⢸ ⣯⡍⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢤⠀⠐⠲⠀⠀⠀⠀⠀⠀⠀⠈⠿⠟⠙⠋⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⣿⢹⣿⣿⡏⠀⣿⡟⣿⣿⠀⠀⢸ ⣷⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠒⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠿⠿⠿⠿⠃⠈⠻⠿⠿⠋⠀⠻⠿⠿⠀⠿⠿⠇⠰⠿⠇⠹⠿⠆⠀⢸ ⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣿⣿⣶⣶⣶⣾⣿⣶⣶⣶⣶⣶⣶⣠⣰⠆⡆⡆⠀⠀⠀⢸ ⡿⠿⠿⠿⣄⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣾⣿⣻⣛⣿⣿⣛⣻⣿⣿⣟⣛⣛⣟⣿⣿⣿⣿⣿⣿⣿⣿⣻⣿⣟⣛⡛⠻⠛⠉⠁⠙⣛⣛⣟⣛⣛⣛⣛⣙⡓⡒⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣷⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠐⢿⣿⣿⣿⢺⣿⣿⠩⡄⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣸⣿⣿⣴⠃⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⣭⡄⢀⠀⠀⠀⠀⠸⢿⣿⣧⡄⠀⠀⠀⣀⣘⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⠿⠻⠃⠀⡀⠀⠀⠀⠀⢸ ⣯⣭⣭⣭⣭⣭⣭⣿⠉⠁⠀⠀⠀⠀⢠⠀⠀⠀⠀⠀⠀⠈⠉⠀⠀⠼⣿⣿⣿⣿⣿⣾⣦⠛⠛⢻⣷⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠁⠙⠛⠻⠟⣿⡌⠀⠀⠂⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⣿⣿⡿⡿⡀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⡇⠀⠀⢲⣾⣷⡆⠀⠀⠀⠀⠶⠶⠢⠀⡿⠃⠀⢤⠄⠀⠀⠀⠀⠨ ⣿⣿⣿⣿⣿⢻⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠺⢿⣿⣿⣿⠋⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣿⢹⣾⠀⢨⣾⣿⡟⠋⠀⡇⠀⡷⠤⠤⠰⠀⠓⠀⠀⠈⠁⠀⠀⠀⠀⠀ ⠉⠉⠉⠉⠉⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠛⠛⠀⠀⠀⠀⠀⣈⣻⣿⣿⣿⣿⣿⣭⣯⣽⣿⣭⣭⣬⣭⣭⣭⣀⣸⣿⣿⣇⣀⣰⣇⣀⣿⣷⣶⣿⣤⣤⣤⣤⣴⡆⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⣀⣀⣀⠠⣤⠤⠤⣤⣤⣶⡶⣶⣶⣶⣶⡶⣶⣿⣿⡿⡿⠛⠛⠛⠛⠛⠛⣿⣿⣿⣿⣿⡿⡿⠛⢛⡛⡿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣿⡿⡿⠿⠿⠿⠿⠿⠿⢿⣿⣿⡿⠇⠀⠀⠀⠀⠀ ⡀⠆⠲⣶⠿⢿⠥⠰⠶⠶⠆⠀⠀⠀⠀⠀⠀⢸⠭⠩⠠⠄⠀⠉⠉⠉⠃⠀⠀⠀⠀⠀⠀⠉⢁⢚⣋⣁⣉⣀⣀⣈⣛⣂⣈⣘⣻⣟⣿⣿⣿⣿⠿⣧⢀⣰⢌⡹⠽⠩⠤⠤⠬⠤⠤⠤⠤⠤⠄⠠⠠⠄⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣶⣿⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢸ ⣿⣿⣿⣿⡏⣽⣿⣿⡿⢿⠋⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡥⠸⣿⡿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⣿⣿⣿⣿⢿⢿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿ ⣿⣿⣿⣿⣿⣯⣽⣭⣷⣶⣶⣶⣿⣿⣿⣿⣿⣿⣯⡻⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠛⠛⠋⠉⠉⠁⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣩⣤⣭⡙⠋⣭⣍⢩⣭⡝⢋⣭⣭⡍⠛⣭⣭⠙⠋⣭⣭⢩⣭⣭⣭⡍⣭⣍⢉⣥⡄⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⠉⠑⠁⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⡏⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⢿⣿⠀⣿⣿⠀⠀⣿⣿⠘⢻⣿⡟⠃⢸⣿⣸⣿⠁⠀⣹ ⣿⣿⣿⣿⣿⣿⣿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣤⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣸⣿⢸⣿⡄⣿⣿⠀⠀⣿⣿⠀⢸⣿⡇⢰⠀⣿⣿⡏⠀⠈⣿ ⣿⣿⣿⣿⠏⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠂⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣿⣿⢿⣿⡇⣿⣿⣀⡀⣿⣿⠀⢸⣿⡇⢸⡇⢸⣿⠀⠀⠀⢹ ⣿⡿⠟⡋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⠛⠙⢿⢿⠿⠁⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⡙⢻⣿⣥⠀⠙⠻⠿⠋⡀⠛⠛⡘⠛⠃⠛⠛⠛⠃⠛⠛⠀⠘⠛⠃⣸⣇⠘⠛⠀⠀⠀⢸ ⣿⣿⡋⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣵⡄⠀⠀⣀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣤⣾⣿⠟⣁⣉⣉⡙⠻⠟⢋⣉⣉⠙⢋⣉⡙⢉⣉⡛⢋⣉⡉⣉⡙⢋⣀⡀⠀⢸ ⣿⣿⣿⣇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠻⣿⣿⢿⣿⣿⣿⣿⠋⠀⣼⣿⣿⣿⣯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢻⣿⡇⢰⣿⡟⣿⣷⢸⣿⡇⣾⣿⡇⣼⣿⠀⣿⣷⢸⣿⠀⠀⢸ ⣿⣿⣿⡗⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢤⣩⣭⠋⠸⣿⠃⢹⠟⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠈⣿⣇⣿⣿⣇⣿⣿⠀⣿⣿⣾⣿⠀⠀⢸ ⣿⣿⣉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠄⠀⠰⠄⠀⠀⠀⠀⠀⠉⠁⠰⣷⠴⣶⠂⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⣿⢹⣿⣿⡏⠀⣿⡟⣿⣿⠀⠀⢸ ⣿⣿⣿⣶⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠒⠖⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠿⠿⠿⠿⠃⠈⠻⠿⠿⠋⠀⠻⠿⠿⠀⠿⠿⠇⠰⠿⠇⠹⠿⠄⠀⢸ ⣿⣿⣿⣿⣧⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣿⣿⣷⣶⣶⣾⣿⣶⣶⣶⣶⣶⣶⣤⣴⡆⠆⠆⠀⠀⠀⢸ ⣿⣿⣿⣿⣟⣿⣷⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣔⣛⣛⣿⣛⣛⣛⣻⣟⣛⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣿⣿⣯⣯⢫⣿⣉⡭⢅⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢚⣿⣿⠡⡆⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡯⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣸⣿⣿⣼⠃⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠯⠭⢭⠀⢀⠀⠀⠀⠀⠺⣿⣶⣄⠀⠀⠀⢀⣀⣸⣿⣿⣿⡯⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⣿⢿⡿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⡿⠿⠹⠁⠀⡀⠀⠀⠀⠀⢸ ⣯⣭⣭⣭⣭⣽⣿⡿⠉⠀⠀⠀⠀⠀⢰⡆⠀⠀⠀⠀⠀⠀⠈⠁⠀⠐⢻⣿⣿⣿⣿⣿⣾⠛⠛⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠻⡿⠿⠿⠿⠟⠛⠛⠛⠛⠛⠋⣿⡌⠀⠀⠂⠀⠀⠀⠀⢘ ⣿⣿⣿⣿⣿⣹⣿⡇⠀⠀⠀⠀⠀⠀⠘⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢻⣿⣿⣿⣟⡟⠄⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⠁⠸⣇⣀⣀⣀⠀⠀⠀⠶⠶⠒⠀⡿⠁⠀⣀⡀⠀⠀⠀⠀⠈ ⣿⣿⣿⣿⣿⢻⣿⡇⠀⠀⠀⠀⠀⠀⠀⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠿⢿⡧⠈⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣼⣿⣿⡇⠀⢀⡇⠀⣰⡇⠀⣿⡥⠤⠐⠀⢁⡀⣀⣄⠀⠀⠀⠀⠀⠐ ⠉⠉⠉⠉⠉⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⡉⣁⣀⣀⣀⣀⣀⣿⣿⣿⣿⣿⣿⣭⣭⣽⣯⣥⣥⣬⣭⣭⣭⣯⣅⣀⣠⣧⣤⣼⣧⣤⣿⣧⣴⣿⣷⣾⣯⣥⣽⡆⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣀⣀⣤⣤⣤⡤⠀⣴⠶⠶⠶⢶⣶⣶⣾⡷⠿⣿⣿⣿⡿⠛⠛⠛⠛⠛⠛⣿⣿⣿⣿⣿⣿⠿⠛⢙⢽⠟⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠿⠿⢿⡿⠿⠃⠀⠀⠀⠀⠀ ⡀⠆⠶⣶⠿⢷⠤⠴⠶⠶⠆⠀⠀⠀⠀⠀⠀⢸⣉⣠⣠⣄⣀⡉⣈⣁⡃⣀⣀⠀⡀⠀⠀⠉⣁⣚⣋⣀⣉⣀⣀⣈⣛⣂⣀⣘⣿⣿⢿⠿⠿⠿⠿⠯⠤⠬⠬⠭⠽⠤⠤⠤⠤⠤⠤⠤⠤⠤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣾⣿⣿⣿⣿⣿⣿⣷⣶⣾⣿⣶⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⢺ ⣿⣿⣿⣿⡏⣿⣿⣿⣿⢿⠋⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⣺ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡥⠸⣿⡿⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⢿⣿⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿ ⣿⣿⣿⣿⣿⣯⣽⣯⣷⣶⣶⣷⣿⣿⣿⣿⣿⣿⣯⡿⠿⠿⡟⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡤⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠿⠛⠙⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣩⣥⣭⡙⠋⣭⣭⢩⣭⡝⢋⣭⣭⡍⠛⣭⣭⠙⠋⣭⣭⢩⣭⣭⣭⡍⣭⣍⢉⣥⡄⠀⣿ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠯⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢸⣿⡏⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⢿⣿⠀⣿⣿⠀⠀⣿⣿⠘⢻⣿⡟⠃⢸⣿⣸⣿⠁⠀⣻ ⣿⣿⣿⣿⣿⣿⡟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣦⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣸⣿⢸⣿⡄⣿⣿⠀⠀⣿⣿⠀⢸⣿⡇⢰⠀⣿⣿⡏⠀⠘⣿ ⣿⣿⣿⣿⡯⣷⠆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⢸⣿⡇⣿⣿⢿⣿⡇⣿⣿⣀⡀⣿⣿⠀⢸⣿⡇⢸⡇⢸⣿⠀⠀⠀⣿ ⣿⣿⣿⣿⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠋⠉⠹⢻⠟⠉⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣄⡙⢻⣿⣥⠀⡙⠻⠿⠋⣀⠛⠛⡘⠛⠃⠛⠛⠛⠃⠛⠛⢀⠘⠛⠃⣸⣇⠘⠛⠀⠀⠀⢻ ⣿⣿⣿⣿⣿⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⢰⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣤⣤⣾⣿⠟⣀⣉⣉⣙⠻⠟⢋⣉⣉⠙⢛⣉⡙⢋⣉⡛⢋⣉⡉⣉⡙⢋⣀⡀⠐⢿ ⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⡾⣿⣿⣶⣾⣿⡿⠛⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢻⣿⡇⢰⣿⡟⣿⣷⢸⣿⡇⣾⣿⡇⣼⣿⠀⣿⣷⢸⣿⠀⠀⢸ ⣿⣿⣿⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠬⢉⠘⠙⠙⣤⠄⢾⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠈⣿⣇⣿⣿⣇⣿⣿⠀⣿⣿⣾⣿⠀⠀⢸ ⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠩⡀⠀⢓⠀⠀⠀⠀⠈⠀⠀⠀⢠⠁⢀⡘⠡⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠀⣿⣿⢸⣿⡇⢸⣿⡇⣿⣿⠀⣿⣿⣿⢹⣿⣿⡏⠀⣿⡟⣿⣿⠀⠀⢸ ⣿⣿⣿⣿⣿⣆⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠁⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡀⠿⠿⠿⠿⠃⠈⠻⠿⠿⠋⠀⠻⠿⠿⠀⠿⠿⠇⠰⠿⠇⠹⠿⠄⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣶⣶⣿⣿⣷⣶⣶⣾⣿⣶⣶⣶⣶⣶⣶⣤⣴⠆⠆⠆⠀⠀⠀⢸ ⣿⣿⣿⣿⣟⣿⣿⣿⣿⣦⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣠⣿⣿⣛⣿⣿⣟⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣽⣿⣯⣯⣿⣯⣭⣩⣭⣭⣭⢅⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢺⣿⣿⡱⡆⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡯⣿⣷⠀⠀⠀⠀⠀⠀⣀⣀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣼⣿⣿⣾⠃⠀⠀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠯⠭⠭⠄⢑⠀⠀⠀⠀⠿⠿⠷⣆⡀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⢿⡿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⡿⠿⠛⠁⠀⡀⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣯⣿⣿⡿⠉⠀⠀⠀⠀⠀⢰⠆⠀⠀⠀⠀⠀⠀⠉⠁⠀⠘⠹⣿⣿⣿⣿⣿⣿⣟⠛⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠛⡟⠿⠿⠾⠏⠛⠛⠛⠛⠛⠛⣿⡌⠀⠀⠃⠀⠀⠀⠀⢸ ⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣟⡅⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣿⡀⠸⢇⣀⣀⣀⡀⠀⡀⠿⠷⠒⠀⡿⠃⠀⣀⡀⠀⠀⠀⠀⠀ ⣿⣿⣿⣿⣿⢿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠻⣟⢟⠛⠀⠀⠀⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣼⣿⣿⡇⠀⢐⡆⠂⢰⡇⠀⣟⡁⣀⣘⠀⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠅⠀⠈⠉⠉⠈⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⣀⣀⣁⣀⣀⣀⣀⣀⣹⣿⣿⣯⣿⣯⣭⣭⣽⣯⣭⣭⣭⣭⣭⣿⣿⣦⣤⣤⣧⣤⣽⣧⣤⣿⣭⣴⣿⣤⣤⣤⣤⣶⡇⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⢀⣀⣠⣤⣤⣤⠄⠐⢶⠶⠶⠶⢶⣶⣿⣿⡿⠿⣿⣿⣟⡟⠋⠙⠉⠉⠉⠙⣿⣿⣿⣿⣿⣿⠿⠋⢹⢝⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠿⣿⣿⠿⠿⠿⠿⠿⠿⠿⠿⠿⠿⡿⠿⠁⠀⠀⠀⠀⠀ ⠄⠦⠶⣶⠿⢷⠤⠴⠶⠶⠆⠀⠀⢀⢀⣀⣀⣸⣀⣠⣀⣀⣀⣉⣉⣁⣃⣀⣀⡀⡀⠀⠀⠉⣁⣒⣋⣀⣉⣀⣀⣈⣛⡀⠁⠹⠿⠿⠿⠿⠿⠿⠿⠯⠤⠬⠭⠭⠽⠤⠤⠤⠤⠤⠤⠤⠤⠤⠀⠀⠀⠁⠀⠀⠀⠀⠀⠀ ䷩ 𝚕𝚒𝚗𝚎 951 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/04/irc-log-030122/#comments Gemini version at gemini://gemini.techrights.org/2022/01/04/irc-log-030122/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.04.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ IRC_Proceedings:_Monday,_January_03,_2022⠀✐ Posted in IRC_Logs at 2:29 am by Needs Sunlight Also available via the Gemini protocol at: * gemini://gemini.techrights.org/irc-gmi/irc-log-techrights-030122.gmi * gemini://gemini.techrights.org/irc-gmi/irc-log-030122.gmi * gemini://gemini.techrights.org/irc-gmi/irc-log-social-030122.gmi * gemini://gemini.techrights.org/irc-gmi/irc-log-techbytes-030122.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  QmV3EJ5L14U5ZpN483cFGZEqGaWdTuNMNuZqxS84jyuDfG #boycottnovell 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇HTML5 logs⦈ (full IRC log as HTML) IRC log for #boycottnovell  QmRQigoT5PgDB4PdBAprocG4XSR25ZbCd4ZmQQXwFt84Qj (full IRC log 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇text logs⦈ as plain/ASCII text) IRC log for #boycottnovell-  QmU3w29ZsXshiJw6icHs2p6CnWjbzQiRdoAB3mGZs8bKfP social 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇HTML5 logs⦈ (full IRC log as HTML) IRC log for #boycottnovell-  QmbmCn7qaUkWxQsSE2EP8a9B6UC3AUR4t3qJf8xvBuyN7x social 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇text logs⦈ (full IRC log as plain/ASCII text) IRC log for  QmbBRzQaArdDNCV7K5GAU1xY9ZbxP19xnH6Kdo13CcZTad #techbytes 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇HTML5 logs⦈ (full IRC log as HTML) IRC log for #techbytes  QmdJ8v2UvDoKT359P4rJif49SAvrEFpnmJLu6KPmpGHqTH (full IRC log 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇text logs⦈ as plain/ASCII text) IRC log for  QmPr78DAiN9xK1Zkkpo3R7gMdvngCHKGCxfYbvNTLLqcSm #techrights 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇HTML5 logs⦈ (full IRC log as HTML) IRC log for #techrights  QmVCmtdfeXvdRea7AExjWHtZwVUxDJm8SXWN59xJiUv5pM (full IRC log 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇text logs⦈ as plain/ASCII text) 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇IPFS logo⦈ § Bulletin for Yesterday⠀➾ Local_copy | CID (IPFS): QmbfkzNgEcSLWg1uktyXVKRqXdn8cURLS2BGZZ8j7BRu53 ䷩ 𝚕𝚒𝚗𝚎 1078 ╒═══════════════════ 𝐀𝐑𝐓𝐈𝐂𝐋𝐄 ═════════════════════════════════════════════════╕ (ℹ) Images, hyperlinks and comments at http://techrights.org/2022/01/04/osi-dialogue/#comments Gemini version at gemini://gemini.techrights.org/2022/01/04/osi-dialogue/ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.04.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Dialogue_With_the_OSI⠀✐ Posted in OSI at 6:18 pm by Dr. Roy Schestowitz Video_download_link | md5sum dd82add8419c77a6dbe0e85e7bf3070a http://techrights.org/videos/dialogue-with-osi.webm Summary: Over the past (almost) week I’ve spoken to the people in charge of the OSI, hoping to constructively engage with them so as to make them understand the concerns and maybe respond accordingly THE VIDEO above would come across more empathetically than text, so a lot of what I have to say is already covered in it. But a textual/verbal (non-oral) summary would help nonetheless, knowing that videos take a longer time to digest. I explained to the people who spearhead the OSI (publicly and behind the scenes) that according to the IRS (latest publicly-available form) ~96% of the money the OSI gets is in fact coming from corporations. “I explained to the people who spearhead the OSI (publicly and behind the scenes) that according to the IRS (latest publicly-available form) ~96% of the money the OSI gets is in fact coming from corporations.”“That’s something we want to change,” I was told, “adding more funding sources, including individuals and grants from different sorts of institutions. It will not happen overnight though, it’ll take time.” Fair enough. So the ambition is there. “We’ll start new projects and programs soon,” the message said, and “I hope we’ll get judged over more concrete actions than just a blog post.” “It does seem like these folks are willing to at least listen.”I was told they would look into “reasons why you consider GitHub the #1 threat instead of others like the efforts to destroy the Open Source Definition by shared source companies or patent-asserting behemoths openly hostile to the OSD.” There was no denial about the strange_arrangement_with_Microsoft; with a bit of diplomacy hopefully the OSI’s leadership (Phipps et al still play a considerable role) will reconsider this current trajectory. We’re going to focus on other topics now (more urgent issues and pressing matters like software patents) and I will correspond with the OSI. It does seem like these folks are willing to at least listen. █ ䷩ 𝚕𝚒𝚗𝚎 1151 ╒═══════════════════ 𝐃𝐀𝐈𝐋𝐘 𝐋𝐈𝐍𝐊𝐒 ═════════════════════════════════════════════╕ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.04.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Links_4/1/2022:_Ingo_Molnar’s_Latest_Work_and_KaOS_2022.01⠀✐ Posted in News_Roundup at 4:08 pm by Dr. Roy Schestowitz 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇GNOME bluefish⦈ § Contents⠀➾ * GNU/Linux o Distributions o Devices/Embedded * Free_Software/Open_Source * Leftovers * § GNU/Linux⠀➾ o § Server⠀➾ # ⚓ Most_Reliable_Hosting_Company_Sites_in_December_2021 [Ed: FreeBSD out of the picture last month. It was all GNU/ Linux]⠀⇛ Aruba finished 2021 as the most reliable hosting company site in December, with no failed requests and the second fastest average connection time. Aruba provides hosting, cloud and digital signature services, fibre optic internet, digital preservation, and much more, with data centres across Europe in the UK, Germany, Czechia, Poland, Italy and France. The top five hosting company sites each responded to all of Netcraft’s requests in December and so are ranked on their average connection times. The top five is completed by Rackspace, Hyve Managed Hosting, ServerStack and Pair Networks. In second place, Rackspace appeared in the top 10 every month in 2021 and offers a variety of cloud hosting solutions from 19 data centres across five different continents in the Americas, Europe, Asia and Australia. Hyve Managed Hosting also appeared in the top 10 every month in 2021. Hyve offers cloud hosting, dedicated servers and managed services from data centres in 34 locations around the world. o § Audiocasts/Shows⠀➾ # ⚓ Late_Night_Linux_–_Episode_158_–_Late_Night_Linux⠀⇛ Ubuntu might be taking gaming more seriously, more Mozilla missteps, why Her Majesty’s demise might be really bad news, a brand new segment, KDE Korner, and more. # ⚓ Destination_Linux_259:_The_Solus_Saga_&_Log4Shell⠀⇛ This week’s episode of Destination Linux, we’re going to dig into the infamous Log4j vulnerability and attacks with Bo Weaver! Then we’re going to discuss the recent Solus Saga and what the community can expect. 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⠀➾ # ⚓ Linux:_A_solo_developer_is_attempting_to_clean_up_30_years of_mess_|_TechRadar [Ed: Ingo Molnar is not “solo developer”… he has a well known employer]⠀⇛ A senior Linux developer believes the platform can be a lot faster and more efficient – if its source code was lighter. To make this happen, Ingo Molnar has announced the “Fast Kernel Headers” project, an attempt to clean up and rework Linux kernel’s header hierarchy and header dependencies. Linux apparently contains around 10,000 main .h header files with the include/ and arch/*/include hierarchies. Molnar says that over the years, these have “grown into a complicated & painful set of cross-dependencies we are affectionately calling ‘Dependency Hell’.” # ⚓ The_Linux_kernel_could_soon_be_50_to_80%_faster_to_build_– CNX_Software⠀⇛ The Linux kernel takes around 5 minutes (without modules) to build on an Intel Core i5 Jasper Lake mini PC with 16 GB RAM and a fast SSD based on our recent review of Beelink GTi 11 mini PC. Kernel developers may have to build for different targets and configurations, plus all modules so the build times may add up. While it is always possible to throw more hardware to quicken the builds, it would be good if significantly faster builts could be achieved with software optimizations. That’s exactly what Ingo Molnar has been working on since late 2020 with his “Fast Kernel Headers” project aiming to eliminate the Linux kernel’s “Dependency Hell”. At the time he aimed for a 20% speedup, but a little over one year later, the results are much more impressive with 50 to 80% faster builds depending on the target platform (x86-64, arm64, etc…) and config. # ⚓ More_Troublesome_x86_Android_Tablets_Being_Fixed_Up_By_New Linux_Driver_–_Phoronix⠀⇛ Last week I called attention to the new “x86- android-tablets” driver being prepared for introduction in Linux 5.17. That driver aims to fix up the mess of various x86 Android-focused tablets failing to run off the mainline Linux kernel or having various device issues in doing so. Since that prior article, more patches have been posted to address additional tablet issues. The forthcoming x86-android-tablets driver is focused on the issue of many x86 tablets having invalid entries within their ACPI DSDT tables. Due to these Android tablets relying on custom, device- specific kernel builds there is often hard-coded data within their kernel image rather than jiving properly with ACPI specifications and having valid tables, etc. This driver aims to carry as many of the device-specific quirks/workarounds as possible in order to allow more of these aging tablets to work fine on a mainline Linux kernel build. # ⚓ Linux_5.17_Patch_Can_Help_With_Systemd-Less_System Security,_May_Break_Some_Old_Drivers_–_Phoronix⠀⇛ A decade old patch is set to be mainlined in the upcoming Linux 5.17 that has been carried by Google’s Chrome OS kernel build for years and can help with security on Linux systems not relying upon systemd’s udev. The change is introducing the new “DEVTMPFS_SAFE” kernel option that will mount DEVTMPFS with the noexec and nosuid mount options by default. The intent of this “safe” devtmpfs is to prevent code execution from happening from /dev or more broadly to prevent some kinds of code execution attacks from happening primarily on embedded systems. # ⚓ Intel_is_Gearing_Up_to_Give_a_‘Superpower’_to_Linux_that Windows_Users_Don’t_Have⠀⇛ Last year, several security vulnerabilities were discovered, making it difficult for system administrators to patch the systems without downtime quickly. What if some improvements can be made to update some critical components for security/performance improvements without rebooting a system? Intel aims to achieve that with its new PFRUT (Platform Firmware Runtime Update and Telemetry) driver. # ⚓ Alibaba_Proposes_A_Group_Balancer_For_The_Linux_Kernel Scheduler_–_Phoronix⠀⇛ With more organizations such as Alibaba configuring their servers to share CPU cores/resources among applications these days rather than exclusively assigning CPU cores to individual applications/ tasks, the Chinese company is proposing a new “group balancer” for the Linux kernel scheduler. The proposed Linux Group Balancer is focused on reducing resource conflicts when sharing resources among tasks. This balancer is focused on balancing groups of tasks across groups of CPU cores. # § Graphics Stack⠀➾ # ⚓ New_Patches_Help_WineD3D_Performance_–_Doubled_FPS_In Some_Micro-Benchmarks_–_Phoronix⠀⇛ While most Linux gamers are making use of DXVK these days for efficiently mapping Direct3D 9/10/11 over Vulkan when running Wine/Proton for enjoying Windows games on Linux, Wine developers still maintain WineD3D for going from Direct3D to OpenGL for cross- platform compatibility. Out today is a new patch series improving the WineD3D performance. Longtime Wine developer Stefan Dösinger of CodeWeavers sent out this new performance- focused WineD3D patch series today. The set of patches is focused on optimizing the command submission (CS) resource fencing code and there are plans to mainline it after Wine 7.0 debuts as stable. # ⚓ NVIDIA_Announces_The_GeForce_RTX_3050,_RTX_3090_Ti_– Phoronix⠀⇛ The NVIDIA GeForce RTX 3050 was announced as a successor to the GTX 1050. The RTX 3050 should be good enough for 60 FPS, 1080p gaming at $249 USD. The card will launch later this month (27 January) and is powerful enough for basic RTX gaming. The RTX 3050 has 8GB of GDDR6 video memory. The RTX 3050 is rated for 9 shader TFLOPS, 18 RT TFLOPS, and 73 Tensor TFLOPS. # ⚓ NVIDIA_announce_GeForce_RTX_3050,_RTX_3090_Ti_and high-end_laptop_GPUs_|_GamingOnLinux⠀⇛ CES 2022 continues with NVIDIA doing their presentation today where they announced more for their streaming service GeForce NOW, new monitors from parters with GSYNC and new GPUs. Most of it was the usual marketing speak, along with showing off DLSS / RTX in a couple of titles like Rainbow Six Extraction, and an exclusive clip of Dying Light 2. However, they did eventually get to an actual announcement with the GeForce RTX 3050 with 8GB GDDR6 price starting $249 and availability expected on January 27. # ⚓ Danylo_Piliaiev:_Graphics_Flight_Recorder_–_unknown but_handy_tool_to_debug_GPU_hangs⠀⇛ It appears that Google created a handy tool that helps finding the command which causes a GPU hang/crash. It is called Graphics Flight Recorder (GFR) and was open-sourced a year ago but didn’t receive any attention. o § Applications⠀➾ # ⚓ Pinta_2.0_is_a_Major_Upgrade_With_GTK_3_Port_and_Improved HiDPI_Support [Ed: More Mono...]⠀⇛ Were you looking for some latest open-source app releases to start the new year week? You’re lucky; Pinta announced their major upgrade right before the new year. Pinta is a lightweight drawing app that serves as a simple image editing tool. One of the top open- source drawing and painting apps out there, Pinta’s new release shifts its base to GTK3 and .NET 6 and brings some new features and UI improvements. # ⚓ Keyboard_and_mouse_mapping_to_gamepad_tool_AntiMicroX v3.2.1_out_now_|_GamingOnLinux⠀⇛ AntiMicroX is a great open source app that helps you map your keyboard and mouse to gamepad inputs. It’s the continuation of the original AntiMicro project, which was abandoned. Very useful for games that have spotty or no gamepad support, and there’s a number of other uses. o § Instructionals/Technical⠀➾ # ⚓ How_to_install_and_Configure_pgAdmin_4_on_Ubuntu_20.04_– NextGenTips⠀⇛ In this tutorial guide, I will be taking through the installation of pgAdmin 4 version 6.3 on Ubuntu 20.04. pgAdmin 4 is a free and open-source management tool for Postgres. Its desktop runtime written in NWjs allows it to run standalone for individual users, or the web applications code may be directly deployed on a web server for use by the web browser. pgAdmin 4 is a complete rewrite of pgAdmin, built using Python and Java # ⚓ Are_you_10000_days_old_yet?⠀⇛ Suppose you were born on 22 December 1995. Have you already had your 10000-day birthday, or is that still in the future? Here are three command-line ways to find out. # ⚓ How_to_Install_the_Latest_WildFly_on_Ubuntu_20.04⠀⇛ WildFly (formerly known as JBoss) is an application server written in Java and developed by Red Hat. It is an open source application server for JEE applications, it is fast and lightweight and particularly efficient for web and business applications. The technology behind WildFly is also available in JBoss Enterprise Application Platform 7. JBoss EAP is a hardened enterprise subscription with Red Hat’s world-class support, long multi-year maintenance cycles, and exclusive content. # ⚓ CentOS_8_to_AlmaLinux_8:_A_Step-by-Step_Migration_Guide⠀⇛ This guide will help you to migrate in-place your current CentOS 8 installation to AlmaLinux 8 in a few simple steps. As you know, CentOS 8 reached its End-of-Life on December 31, 2021. If you want to migrate your CentOS 8 server to AlmaLinux 8 which is a 1: 1 binary compatible with CentOS and RHEL, then here are the steps to follow. An in-place upgrade involves using the official AlmaLinux automated script to migrate your current CentOS 8 operating system files to AlmaLinux. In addition, an in-place upgrade does not require formatting of hard disk and due to that fact all settings, programs, and files on your current CentOS 8 system will be preserved. # ⚓ Directly_boot_your_Raspberry_PI_4_from_a_USB_drive_– PragmaticLinux⠀⇛ Did you know that you can boot your Raspberry PI 4 directly from a USB drive? You get better disk I/ O speed, you no longer need to worry about SD card corruption and you reduce cost, especially if you require large storage capacity. Best of all, recent Raspberry PI 4, 400 and Compute Module 4 boards support boot from USB by default. This article teaches you all you need to know about how to boot your Raspberry PI 4 from a USB drive. # ⚓ How_To_Install_Bugzilla_on_Debian_11_–_idroot⠀⇛ In this tutorial, we will show you how to install Bugzilla on Debian 11. For those of you who didn’t know, Bugzilla is a free and open-source bug tracking system that allows us to track the bugs and collaborate with developers and other teams in our organization. Defect-tracking systems allow teams of developers to keep track of outstanding bugs, problems, issues, enhancement and other change requests in their products effectively. 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 Bugzilla Bug Tracker on a Debian 11 (Bullseye). # ⚓ Classic_SysAdmin:_How_to_Search_for_Files_from_the_Linux Command_Line [Ed: Linux Foundation site is now rerunning old articles from Linux.com, composed by people whom it laid off after they had actually promoted Linux, unlike this "Foundation"]⠀⇛ This is a classic article written by Jack Wallen from the Linux.com archives. For more great SysAdmin tips and techniques check out our free intro to Linux course. It goes without saying that every good Linux desktop environment offers the ability to search your file system for files and folders. If your default desktop doesn’t — because this is Linux — you can always install an app to make searching your directory hierarchy a breeze. But what about the command line? If you happen to frequently work in the command line or you administer GUI-less Linux servers, where do you turn when you need to locate a file? Fortunately, Linux has exactly what you need to locate the files in question, built right into the system. The command in question is find. To make the understanding of this command even more enticing, once you know it, you can start working it into your Bash scripts. That’s not only convenience, that’s power. Let’s get up to speed with the find command so you can take control of locating files on your Linux servers and desktops, without the need of a GUI. # ⚓ LFCS_–_Creating_OpenLDAP_Server_on_CentOS_7_|_Linux.org⠀⇛ Adding Lightweight Directory Access Protocol (LDAP) to a server is not required for the LFCS exam, but it does require you to authenticate users using LDAP. To be able to perform that function, you need LDAP on your test system. You may not want to know how to do this procedure, but it never hurts to have an understanding of the process. This process is not a simple one. I wouldn’t say it is difficult, just a little detailed. Make sure you do not skip steps. In my next article, we will be using the LDAP server to authenticate users from other systems by the server. The users and groups will be centralized on a single server and not by each system. The process is what most people term ‘logging into the network’. # ⚓ How_to_Install_ClickHouse_OLAP_Database_System_on_Debian 11⠀⇛ ClickHouse is a free, open-source, and column- oriented database management system. It is used for online analytical processing and allows you to generate analytical reports using SQL queries in real-time. It stores records in blocks grouped by columns instead of rows. Thus, it spends less time reading data while completing queries. Also, column-oriented databases can compute and return results much faster than traditional row-based systems for certain workloads. In this post, we will show you how to install ClickHoust database on Debian 11. # ⚓ How_to_Install_OpenVPN_on_AlmaLinux_8,_Centos_8_or_Rocky Linux_8_–_VITUX⠀⇛ A VPN “Virtual Private Network” is a private network that hides user identity, origin, and data using encryption. Its main use is data privacy of the user and secure connection to the internet. As it hides data, it lets you access data that is usually blocked by geo-restrictions. OpenVPN is an open-source VPN software that is both a software and a protocol in itself. It is very highly regarded as it continues to bypass firewalls. This tutorial will show you step by step how to install and set up an OpenVPN server and connect it to the OpenVPN client. We will use a CentOS 8 server for the installation, the same procedure will work on Rocky Linux 8 and AlmaLinux 8 too. # ⚓ How_to_Install_Rust_Programming_Language_on_AlmaLinux_8_– VITUX⠀⇛ Rust programming language is a multi-paradigm system programming language by Mozilla that focuses on having the best features of the C++ and Python languages with a focus on security. Rust was designed to be a safe, concurrent, and practical language. It aims to ensure memory safety while still maintaining performance, without needing any garbage collector or runtime, thus making it possible to use Rust as an embedded system’s primary programming language. As such, Rust is used in many single-board computers, including Raspberry Pi and BeagleBone Black. # ⚓ How_to_Find_and_Delete_Duplicate_Files_in_Ubuntu_Using Fdupes_–_VITUX⠀⇛ It’s quite common to end up with many copies of the same file on your computer while working with huge volumes of media and documents. Eventually, you’ll end up with a mess of files and an additional storage shortage due to duplicate files, prompting you to run a duplicate file check on your system. Checking for duplicate files manually is not an option for obvious reasons. You can use a variety of programs to discover and delete duplicate files to accomplish this. In this article, you will learn to manage your duplicate files with fdupes, which is a Linux software that not only detects duplicates but also gives you multiple options to deal with them. # ⚓ How_to_Flush_DNS_Cache_in_macOS,_Windows,_&_Linux_| Elinux.co.in_|_Linux_Cpanel/_WHM_blog_|_Linux_Webhosting Blog,_Linux_blogs⠀⇛ DNS cache can be corrupted for a number of different reasons, including network attacks or viruses. When that happens, IP address mapping becomes corrupted for certain popular websites. For example, instead of going to www.facebook.com, your browser may redirect you to an IP address of a malicious website that an attacker inserted in your computer’s DNS records. Or, you may get a large number of 404 errors. Clearing DNS cache deletes all saved DNS lookup information. Your computer then gets updated data from DNS servers next time it sends a lookup request. Learn how to flush DNS on in macOS, Windows, & Linux below. # ⚓ Linux_for_freshers:_RabbitMQ_How_to_Purge_All_Queues_?⠀⇛ There are some situations where you may need to clear or purge all messages from a queue. # ⚓ How_To_Install_VirtualBox_on_Fedora_35_–_idroot⠀⇛ In this tutorial, we will show you how to install VirtualBox on Fedora 35. For those of you who didn’t know, VirtualBox is a free, open-source, and cross-platform software that lets you create, run, and manage virtual machines on your system. VirtualBox brings feature-rich, high-performance products for enterprise customers, it is also the only professional solution that is freely available as Open Source Software under the terms of the GNU General Public License (GPL). 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 the step-by-step installation of the VirtualBox 6.1 open-source virtualization on a Fedora 35. # ⚓ How_to_Configure_Minio_as_a_Shared_Cache_For_GitLab_CI_– CloudSavvy_IT⠀⇛ Minio is a self-hosted object storage system that’s compatible with the Amazon S3 API interfaces. In this guide, we’ll use Minio to set up shared caching for GitLab Runner as an alternative to a cloud-hosted object storage solution. [...] Shared caching ensures multiple jobs can access the cache simultaneously. Concurrent access isn’t supported when you’re using local caching with the Docker pipeline executor. This can cause reduced pipeline performance due to missed cache hits. Although the cache restoration is intended to be on a “best effort” basis, meaning your jobs shouldn’t require a cache include content from an earlier job, in practice many people do use the cache field to pass data between their jobs. This doesn’t currently work when you have multiple jobs that run in parallel and try to restore the same cache. Self-hosting a Minio installation alongside your GitLab instance lets you benefit from more reliable cache restoration that still works predictably with parallel jobs. Here’s how to install Minio and configure GitLab Runner to use it for caching. # ⚓ Monitor_Linux_Task_With_SysMonTask⠀⇛ SysMonTask is a graphical Linux system monitor application with the compactness and usefulness of Windows Task Manager to allow higher control and monitoring. Monitor Linux with SysMonTask just as task manager in windows. It will monitor and display the system resource usage and performance details of running processes, CPU, Memory, HDD/SSD, and Network interface cards. You can Monitor Linux system resource usage with SysMonTask with ease. # ⚓ How_To_List_Filesystems_In_Linux_with_lfs⠀⇛ In this post you will learn How To List Filesystems In Linux with lfs. Lfs is a commandline tool to display the information of the mounted disks in your Linux system. The developer of Lfs claims it is slightly a better alternative to df -h command. lfs tool can list filesystem in linux with better composition. # ⚓ Openshift_Container_Lab⠀⇛ So, OKD is the community distribution of Kubernetes optimized for continuous application development and multi-tenant deployment. You can add developer and operations-centric tools on top of Kubernetes to enable rapid application development. Launching Openshift container lab on VirtualBox simplifies running and updating clusters with the tools containerized applications succeed. # ⚓ How_to_Install_XAMPP_(Apache,_MariaDB,_PHP,_Perl_and PHPMyAdmin)_on_Ubuntu_20.04⠀⇛ XAMPP is a popular LAMP-stack (Linux, Apache, MySQL, and PHP) for building PHP-based web projects. It is open-source and supports Windows, Linux, and macOS. XAMPP is made up of Apache, MySQL, PHP, and Perl. The XAMPP stack can be used to create PHP applications that are driven by frameworks like WordPress, Joomla, Drupal, PrestaShop, and others. The XAMPP server is very easy to set up and requires little configuration, which makes it perfect for software development or prototyping. This tutorial will show you how to set up a LAMP server using XAMPP on Ubuntu. # ⚓ How_To_Install_Rocket.Chat_with_Ubuntu_20.10⠀⇛ Today, in this tutorial we will learn how to install rocket chat with Ubuntu 20.10. With a good chat app, Team members’ ability to communicate easily and quickly can only be a good thing. Essentially effective collaboration must include chat, data, sharing, and security. The email simply cannot replicate the speed of communication that these tools provide. Rocket Chat is a free and open-source product. In-house installation of chap application help to harden securities. Let go step by step and see how to install Rocket.Chat server for in-house use. # ⚓ SMS_notification_from_Nagios_using_Kannel⠀⇛ So, In this article we are going to add SMS notification in Nagios. Nagios is the most used open source Network and Server Monitoring tool. So, we use Nagios to monitor different type of SNMP enabled hosts like Switch, Routers, Servers for critical services. Moreover, Nagios can also fetch server performance data using NRPE agent. Furthermore visual web portal and sound alarm, we can send email notification using Nagios. So, now we will send SMS notification from Nagios using Kannel SMS Gateway. We already have a Nagios server installed and running. So, to install and configure Nagios Monitoring server please check our other topics on Nagios Installation and configuration. # ⚓ Cropping_How_To_|_Inkscape⠀⇛ This is the seventh part of Inkscape for Students the series. After we had discussed Guides Use previously, now we will learn to crop images in various ways. You will learn to cut shapes and then bitmap pictures. These cropping basics are useful for many projects. Now let’s practice it! # ⚓ The_structure_of_Linux_operating_system⠀⇛ We assume that the reader is familiar with Linux as a user and also, possibly, as a system administrator, especially for individual systems. In this article, we are going to outline the way this operating system is designed. One can be interested in the design of Linux for four reasons: by intellectual curiosity, to understand how one designs an operating system, to participate in the development of the Linux kernel, or to be inspired by it to develop another system. Our goal here is above all to satisfy the first two motivations. The advantage of a linux based operating system is that the sources are public and that, beyond the main principles, we will be able to visualize the implementation of the system’s functionalities from these sources and to experiment by changing such implementation. o § Games⠀➾ # ⚓ New_Games_with_Native_Linux_Clients_–_2022-01-04_Edition_– Boiling_Steam⠀⇛ Between 2021-12-28 and 2022-01-04 there were 13 new games released on Steam with Linux clients. For reference, during the same time, there were 157 games released for Windows on Steam, so the Linux versions represent about 8.3 % of total released titles. Here’s a quick pick of the most interesting ones: # ⚓ Steam_hit_a_new_all-time_user_count_close_to_28M_to_start 2022_|_GamingOnLinux⠀⇛ It seems there continues to be no stopping Steam’s growth, with it only just recently hitting a brand new all-time high for concurrent users online. The new high recorded by SteamDB on January 2 was 27,942,036 so it’s getting real close to hitting another massive milestone. A number we expect to be beaten again later this year, especially with the Steam Deck beginning to roll out during February and continuing throughout the year. When the new high was hit, Steam saw 8,219,950 gamers actually playing something. # ⚓ Classic_open_source_platformer_SuperTux_is_coming_to_Steam |_GamingOnLinux⠀⇛ One we don’t cover or hear about too often is SuperTux, a free and open source platformer that’s been around for some time now and it’s getting a Steam release. “Run and jump through SuperTux, the sidescrolling 2D platformer starring Tux, the Linux mascot. Squish and knock out enemies, collect powerups, and solve platforming puzzles throughout the Icy Island and the Rooted Forest, as Tux tries to save his beloved Penny from her kidnapper, Nolok!” # ⚓ A_look_at_the_top_100_Steam_games_running_on_Linux_– January_2022_edition_|_GamingOnLinux⠀⇛ To begin 2022, let’s take a fresh look at the current top 100 Steam games and see how well (or not) the run on Linux. As part of a series we shall be doing, where we first took a proper look at this back in October 2021, including games that are both Native to Linux and Windows games that are run through the Steam Play Proton compatibility layer. With help from ProtonDB reports to investigate. Something to keep in mind is that while the top 5- 10 games doesn’t change too often on Steam, the rest do fluctuate quite a lot as it often depends on some of the bigger releases that appear. We are once again going by the numbers on SteamDB using their 24 hour peak-player count. Take this as your snapshot of how things are a month before the Steam Deck releases to see what you might expect to work or not. # ⚓ Project_Zomboid_is_finally_getting_the_player_recognition it_deserves_|_GamingOnLinux⠀⇛ Project Zomboid has been hanging around in Early Access on Steam since the first year that Early Access was even thing, and after a long development period it seems it’s finally seeing its popularity explode. Going from an average of around 5-6 thousand players online, since the recent huge overhaul release it has skyrocketed upwards into Steam’s top 100 list with it now regularly seeing over 50,000 players online. That’s an astronomical increase and it seems it’s been doing just as well on Twitch too with tens of thousands of viewers, which puts it in Twitch’s top 20 constantly now beating the likes of Dead by Daylight and World of Warcraft. It’s similar in a way to what happened with Among Us, for a game to suddenly become massively popular. # ⚓ Hypnagonia_is_an_upcoming_open_source_“spire-like” deckbuilder⠀⇛ Do you love games like Slay the Spire? I sure do and so seeing a new free and open source game appear that’s inspired by it has me a little excited. This is Hypnagonia. It’s currently in development, although playable, it has plenty of work to be done to flesh it out into a full complete experience. Even so, you can easily see that the promise is there. o § Desktop Environments/WMs⠀➾ # § K Desktop Environment/KDE SC/Qt⠀➾ # ⚓ KaOS_2022.01⠀⇛ Three days into the NewYear, KaOS is very proud to announce the availability of a first ISO for 2022. For the installer Calamares there are three major changes. Biggest one is the addition of a bootloader selection module. For UEFI installs it is now possible to select between systemd-boot, rEFInd, or no bootloader, all presented in a nice, QML based GUI. Second change is the addition of an interactive keyboard preview in the keyboard setup page. And third is the porting of the License page to QML. # ⚓ KDE_Plasma_5.23.5,_Bugfix_Release_for_January_–_KDE Community⠀⇛ Tuesday, 4 January 2022. Today KDE releases a bugfix update to KDE Plasma 5, versioned 5.23.5. Plasma 5.23 was released in October 2021 with many feature refinements and new modules to complete the desktop experience. This release adds a month’s worth of new translations and fixes from KDE’s contributors. The bugfixes are typically small but important and include: # ⚓ Maui_Shell_seems_like_a_very_interesting_KDE graphical_environment⠀⇛ In the mood to try a new desktop shell? Well, the folks behind Nitrux have formally announced Maui Shell and it sure does look pretty. A desktop environment with an aim to scale and look good across a wide range of different devices including mobiles, tables and desktop computers. They said the aim is to have “no need for multiple versions targeting different form factors” and it’s seriously slick. Worth noting at this point, it is far from finished with plenty of missing features. The developers have announced it to get some early testing and feedback. # ⚓ Interview_with_Simon_Rollins⠀⇛ When I got bored with Microsoft Paint and other third-party programs that ran through Adobe Flash (RIP) or HTML 5, I wanted to do something different. So, I went to my search provider and typed up the best drawing programs that you can find. The list showed mostly pay-to-use programs such as Photoshop and Procreate. But then I found this one free program on the list called Krita. It was reviewed as easy to use, easy to navigate, and had a wonderful community. So, I chose Krita after reading the review, and I never said the choice was a mistake. It was a gift. # ⚓ Is_Maui_Shell_the_future_of_the_Linux_desktop?_– TechRepublic⠀⇛ Once upon a time, Stephen King said of writer Clive Barker, “I have seen the future of horror and his name is Clive Barker.” What does that have to do with tech? Not much, but it is apropos to what I’m about to discuss. Recently, the Linux community found itself with a new upstart darling in the mix. That darling is called Maui Desktop. Great. Another desktop to compete in an already flooded field? Hold up … this one is special. It’s all about convergence. Great. Another attempt to resuscitate a previously failed concept. You might as well have started this out with “Wuzzzup?” or “Talk to the hand.” OK, enough with the pop culture references, what’s the big deal? # § GNOME Desktop/GTK⠀➾ # ⚓ Small_steps_towards_a_GTK_4-based_Initial_Setup⠀⇛ Over the Christmas holidays, I was mostly occupied with the literal care and feeding of small humans, but I found a bit of time for the metaphorical care and feeding of Initial Setup for GNOME 42 as well. Besides a bit of review and build and CI housekeeping, I wrote some patches to update it for API changes in libgnome-desktop (merged) and libgweather (pending). The net result is an app which looks and works exactly the same, complete with a copy of the widget formerly known as GWeatherLocationEntry (RIP) with its serial numbers filed off. o § Distributions⠀➾ # ⚓ MPV_bumped_to_0.34.1⠀⇛ EasyOS has MPV video player 0.32.0. I have now compiled 0.34.1 in OpenEmbedded, and added libass, lua and luajit dependencies — these are needed for OSC and OSD (On Screen Control, On Screen Display). # § BSD⠀➾ # ⚓ 27_Years_with_the_Perfect_OS_|_Random_thoughts_of Peter_‘CzP’_Czanik⠀⇛ If you are a longtime FreeBSD user, you probably know everything I have to say, and, what’s more, you can probably add a few more points. But hopefully, there will be some Linux or even Windows users among readers who might learn something new! FreeBSD is not just a kernel but a complete operating system. It has everything to boot and use the system: networking utilities, text editors, development tools and more. Why is that a big deal? Well, because all these components are developed together, they work perfectly together! And a well-polished system is also easier to document. One of my favorite pieces of documentation is the FreeBSD Handbook which covers most of the operating system and is (most of the time) up to date. # ⚓ The_7_Best_BSD-Based_Operating_Systems_of_All_Time⠀⇛ When it comes to open-source OSes, you can choose between Linux and BSD. Here are some of the best BSD-based distributions you can install for free. Bell Labs’ Unix source code inspired the creation of Berkeley Software Distribution, commonly known as BSD. Ever since, BSD has spawned a long list of distros that empowered open-source computing back in the 90s. Despite being similar to the more general- purpose Linux, Unix commands a demographic of its own. Today, BSD systems are operating under the hood of modern computing and have even inspired the codebase for premium desktop and non-desktop platforms. # § Gentoo Family⠀➾ # ⚓ Gentoo_2021_in_retrospect_&_happy_new_year_2022!⠀⇛ The number of commits to the main ::gentoo repository has once more clearly grown in 2021, from 104507 to 126920, i.e., by 21%. While the number of commits by external contributors, 11775, has remained roughly constant, this number now distributes across 435 unique external authors compared to 391 last year. We may have recruited some of the top contributors. 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇;)⦈ Contributions to GURU, our user-curated repository with a trusted user model, have increased enormously. We count 4702 commits, up by 73% from 2725 in 2020. The number of contributors has grown even more, to 119, up by 116% from 55 in 2020. Please join us there and help packaging the latest and greatest software! On our bugtracker bugs.gentoo.org, the number of new bug reports decreased slightly, with 24056 bugs opened in 2021, compared to 25500 in 2020. However, more reports were closed this year, with 24076 bugs resolved in 2021, compared to 23500 in 2020. The ongoing tinderbox efforts as well as the overall high level of activity seem to be paying off! # ⚓ Gentoo_Linux_2021_retrospective⠀⇛ # § SUSE/OpenSUSE⠀➾ # ⚓ Attila_Pinter_and_Maurizio_Galli_join_the_openSUSE Board⠀⇛ We had two candidates for two available seats. As per the board election rules, in such a case, each candidate should receive at least 50% of the total number of votes to be considered as elected. Both Attila Pinter and Maurizio Galli received good support from the community members. We had 542 eligible voters, out of which 147 voted in the election. # § IBM/Red Hat/Fedora⠀➾ # ⚓ GNOME_Nightly_maintenance_–_Rust_in_Peace⠀⇛ Quick heads up, the GNOME Nightly Flatpak repository is currently undergoing maintenance, during which you may notice that some applications are currently missing from the repo. For a couple of months now we have been plagued by a few bugs that have made maintenance of the repo very hard, and CI builds were constantly failing due to a lack of available space. In order to resolve this we had to wipe the majority of the refs/ objects in the repository and start again with safeguards in place. # ⚓ Launch_Flatpaks_from_your_terminal_with_easier-to- remember_commands_|_Enable_Sysadmin⠀⇛ I support various multimedia applications, and earlier this year, I started recommending that my clients install many of them as Flatpaks. I did this mostly because the Flatpak releases of these applications were quicker at integrating support for media codecs than the packages available elsewhere, and that’s an essential feature for content creators using the latest gear on set. The results have been uniformly successful, but for one snag: Launching a Flatpak from the terminal isn’t always the easiest thing to do. The issue is well documented, but in short, a Flatpak application’s formal name is essentially a reverse domain name. However, there’s no standard for details like capitalization or naming schemes. That can make it difficult to remember, and the command itself isn’t exactly terse: # ⚓ 4_soft_skills_leaders_will_need_in_2022⠀⇛ The CIO role isn’t easy – and the transition to remote and hybrid workforces has made it even harder, creating new and often unforeseen challenges. Today’s CIO needs to have a full, 360-degree view of their organization so that they can spot inefficiencies and identify ways that new technology and infrastructure can streamline workflow. That challenge becomes exponentially harder when teams are dispersed. To overcome new obstacles, CIOs are depending more and more on soft skills. By tapping into highly developed interpersonal abilities and communication tactics, CIOs and IT managers can stay integrated with their teams and retain the comprehensive view that is critical to success. # § Canonical/Ubuntu Family⠀➾ # ⚓ Deepin_Desktop_With_Ubuntu?_UbuntuDDE_Remix_21.10_is Here!⠀⇛ Deepin 20.3 has been around for a while now with some essential improvements and subtle visual changes. But, if you were looking to get your hands on the latest Deepin desktop experience on top of Ubuntu? UbuntuDDE Remix 21.10 “Impirish Indri” has finally arrived. Probably one of the exciting releases to start the new year week, eh? o § Devices/Embedded⠀➾ # § Open Hardware/Modding⠀➾ # ⚓ Angel_Investor_Gives_Open_Source_PnP_A_Massive Boost⠀⇛ We love it when an Open Source hardware project grows up and turns into a sustainable business, bootstrapped with nothing but hard work and great ideas, but it’s a really tough prospect to do it using your own money, ploughing the profits from any sales back into development and not taking a dime in wages whilst you do so. People obviously need an income to live off, and that time spent working on a startup is time you can’t spend earning your keep. So it’s with great pleasure that we can bring you the latest news from [Stephen Hawes] and his pick-and- place machine plans. In the year since we last checked in with the project, development has continued at a steady pace, with the guys quickly outgrowing the garage workspace, whilst they prepare PnP machine kits ready for sale. # ⚓ The_Benefits_Of_Critiquing_Your_Own_PCB_Designs_| Hackaday⠀⇛ In a recent retrospective video, [Phil] from Phil’s Lab goes through a number of his early PCB designs, to critique and comment on what he likes and doesn’t like in these designs. Even though it’s only been a few a few years, he founds plenty that’s wrong. From poor and inconsistent formatting in the schematic, to sloppy and outright broken PCB layouts. It’s a fascinating look at years of lessons learned. [Phil] comments on the importance of clear labeling and organization of sections and pages in the schematic to make it obvious what the function of a block is. Other lessons include the labeling of nets to make PCB routing a lot easier, making good use of PCB planes, getting all relevant information on components and layout in the schematic as a comment, and connecting decoupling capacitors to their relevant pins. # ⚓ Open_Source_Openwheel_|_Hackaday⠀⇛ The story is one we’ve all lived: We see a piece of commercial technology and we want it, but the price tag makes us wonder if it isn’t made with gold pressed latinum. The object of [Zach]’s desire? A single wheel powered skateboard sold by a company called Onewheel. But as you can see in the video below the break, and his excellent website, Zach took the wallet-light but time-heavy approach and built his own prototype he calls the Openwheel. Starting with a single powered wheel, [Zach] used aluminum, very large 3D printed pieces, and a really slick off the shelf controller package to control the Openwheel. Balance is handled by the controller, while a massive 48 V LiPo battery is fed through a beefy electronic speed controller that allows advanced features like regenerative braking. We won’t spoil the results, but [Zach]’s Openwheel came out very nice, even exceeding some specifications of the commercial unit. You’ll want to watch his YouTube series about the build to get an idea of all the work that goes into such a device even as a prototype. If tank track tread is more your jam, check out this tank track skateboard that we featured some time back! # § Mobile Systems/Mobile Applications⠀➾ # ⚓ Quectel_Launches_New_Generation_of_Flagship_Android Smart_Module⠀⇛ # ⚓ Hisense_55U6G_55-inch_QLED_Ultra-HD_Smart_Android_TV Review:_Mid-Range_Winner?_|_NDTV_Gadgets_360⠀⇛ # ⚓ TCL’s_newest_Android_phones_will_arrive_at_T-Mobile and_Verizon_this_month_and_quickly_be_forgotten⠀⇛ # ⚓ Is_it_safe_to_use_an_old,_outdated_or_preowned Android_phone?_–_CNET⠀⇛ o § Free, Libre, and Open Source Software⠀➾ # ⚓ Firebird_Grammar_railroad_diagram⠀⇛ # ⚓ A_New_Year’s_Message_from_Nithya_Ruff_(2022)⠀⇛ The last two years have demonstrated even more clearly that technology is the crucial fabric that weaves society and the economy together. From video conferencing to online shopping and delivery to remote collaboration tools for work, technology helped society continue to function throughout the pandemic in 2020 and the continuing uncertainty of 2021. All that technology (and more) is powered, quite literally, by open source, in one way or another. Software is eating the world and open source software is becoming the dominant part of software, from the operating system to the database and messaging layer up to the frameworks that drive the user experience. Few, if any, organizations and enterprises could run operations today without relying on open source. Not surprisingly, as it becomes more pervasive and mission-critical, open source is also proving to be a larger economic force. Public and private companies focused on selling open source software or services now have a collective market value approaching half a trillion dollars. There is no easy way to account for the total economic value of open source consumed by all businesses, individuals, nonprofits, and governments; the value enabled is likely well into the trillions of dollars. Open source powers cloud computing, the Internet, Android phones, mobile apps, cars — even the Mars helicopter launched by NASA. Open source also powers much of consumer electronics on the market today. # ⚓ 2021_at_Bootlin,_a_year_in_review_–_Bootlin’s_blog⠀⇛ 2021 has come to an end, a year that everyone will most likely consider as somewhat complicated and unusual, even though the current situation seems to now becoming the new normal. The switch to a new year is generally a good moment to take a step back, and review what happened in the past year, and draw some directions for the coming year. In this blog post, we’d like to do exactly this for Bootlin, which has seen a number of significant changes this year, as well as a continuation of its usual activities. # § Events⠀➾ # ⚓ LibreOffice_at_FOSDEM_2022_–_February_5-6_–_The Document_Foundation_Blog⠀⇛ FOSDEM is a non-commercial, volunteer- organized European event centered on free and open-source software development – and one of the biggest such events of its kind. Normally it takes place in Brussels, but due to the pandemic, it’ll be online this year. And the LibreOffice community will be there! We’ll have 25 talks about the technology behind the suite, open standards, and other topics. # § Web Browsers⠀➾ # § Mozilla⠀➾ # ⚓ Experimental_VA-API_Implemented_Over_NVIDIA’s NVDEC_–_Allows_Firefox_Video_Acceleration_– Phoronix⠀⇛ For software like Mozilla Firefox that relies on the cross-vendor Video Acceleration API (VA-API) for hardware GPU-based video decoding and doesn’t support NVIDIA’s proprietary NVDEC interface for video decoding, there is an in-development VA-API implementation that works atop NVIDIA NVDEC. # § FSF⠀➾ # § Licensing/Legal⠀➾ # ⚓ OSS_News:_Court,_Governments_Newfound_Support, Plus_Latest_Linux_Niceties_–_LinuxInsider⠀⇛ A first-time ruling by Italian courts on Dec. 13, 2021 rejected a claim by two former software company developers that their modified code release complied with open-source license requirements. The law court of Venice, Italy affirmed the legal enforceability of open-source software licenses. The case involved the GNU General Public License in a test case within the country. Ovation, an Italy-based limited liability company and the plaintiff in the case, said in a press release after the court ruling that it marks an important step in strengthening the protection of intellectual works distributed through free software licenses in all their forms. The case involved Ovation’s GPL licensed Dynamic.ooo software, a plugin for the open-source Elementor platform for building WordPress websites. The company filed a civil suit against two former employees and Venezia, Italy- based Nerds Farm, which is owned by one of the two former employees. Ovation claimed the defendants redistributed the software without including acknowledgment of the original work, including information about changes the defendants had made to the software, and made no mention of the software’s copyright holders. Ovation also contended the defendants ignored the formal termination notice. That notice, according to Ovation, is the first protection tool to safeguard the developers who decide to share their code in a free form. The court ordered the defendants to cease distribution of the software until it complies with the license and imposed a fine of about US$113 for each day the defendants delay before bringing the software into compliance for the first 15 days. That fine increases to $339 daily afterward. In addition, the court ordered the defendants to publish an excerpt of the order on a page of their website with a reference on the site’s home page that is displayed twice the normal character size of the site. The same rules apply to the company’s Facebook page. In addition, the court ordered the defendants to pay the plaintiff’s litigation costs, an amount that exceeds $5,664. # ⚓ The_APGL_and_Open_Source_License_Compliance⠀⇛ Open source licensing expert and IP attorney Heather Meeker recently discussed various topics relating to the APGL in a FOSSA-hosted webinar titled “Truth Social, AGPL, and OSS License Compliance.” In the Q&A with FOSSA’s Andy Drukarev, Meeker examines how the AGPL compares to the GPL and LGPL, explains the ongoing controversy surrounding Truth Social’s use of Mastodon software, and explores Google’s strict prohibition of AGPL-licensed code. # § Programming/Development⠀➾ # ⚓ 5_tips_for_learning_a_new_programming_language_in 2022_|_Opensource.com⠀⇛ Anyone can get started in programming. We all started somewhere, and you don’t need to have a computer science background to learn to code. That’s the power of Linux and open source—anyone can learn a bit of coding. If you want to learn a new programming language, we have several great articles to get you started. Below are a few of our most popular articles to help you. # ⚓ Commercial_LTS_Qt_5.15.8_Released⠀⇛ We have released Qt 5.15.8 LTS for commercial license holders today. As a patch release, Qt 5.15.8 does not add any new functionality but provides bug fixes and other improvements. # ⚓ Upgrading_from_a_CC2531_to_a_CC2538_Zigbee coordinator⠀⇛ Previously I setup a CC2531 as a Zigbee coordinator for my home automation. This has turned out to be a good move, with the 4 gang wireless switch being particularly useful. However the range of the CC2531 is fairly poor; it has a simple PCB antenna. It’s also a very basic device. I set about trying to improve the range and scalability and settled upon a CC2538 + CC2592 device, which feature an MMCX antenna connector. This device also has the advantage that it’s ARM based, which I’m hopeful means I might be able to build some firmware myself using a standard GCC toolchain. For now I fetched the JetHome firmware from https://github.com/jethome-ru/zigbee- firmware/tree/master/ti/coordinator/ cc2538_cc2592 (JH_2538_2592_ZNP_UART_20211222.hex) – while it’s possible to do USB directly with the CC2538 my board doesn’t have those bits so going the external USB UART route is easier. # § Python⠀➾ # ⚓ NumPy_1.22.0_has_been_released⠀⇛ Version 1.22.0 of the NumPy scientific computing module is out. “NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. There have been many improvements”. Those improvements include the “essentially complete” annotation of the main namespace, a preliminary version of the proposed Array API, and more. * § Leftovers⠀➾ o § Science⠀➾ # ⚓ Painted_Over_But_Not_Forgotten:_Restoring_Lost_Paintings With_Radiation_And_Mathematics_|_Hackaday⠀⇛ An intrinsic property of paintings, that makes them both wonderful and very annoying, is the fact that they are physical objects. Sometimes they survive across the ages as amazing artifacts of their era, but they are also susceptible to being lost and even destroyed. Sometimes this destruction is deliberate, such as when a painting is painted over. Artists reuse canvas all the time — painting over what was already there. Sometimes they might be coerced by a client into altering a painting, or removing entire elements from a scene. Fortunately, nowadays we have many techniques, involving x-rays and infrared radiation, that can analyze paintings to determine not only the composition of what we can see with the naked eye, but also that what lies underneath. In some cases, we can then reconstruct what was previously hidden, returning to physical reality paintings and sketches which haven’t seen the light of day for sometimes centuries. o § Hardware⠀➾ # ⚓ Intel’s_Alder_Lake-H_debuts_on_Adlink_modules⠀⇛ Seco’s CHPC-D80-CSA uses the smaller COM-HPC Client Size A variant. Like the Adlink products, it supports Linux and Windows (see farther below). o § Integrity/Availability⠀➾ # ⚓ Microsoft_fixes_harebrained_Y2K22_Exchange_bug_that disrupted_email_worldwide⠀⇛ Microsoft has released a fix for a harebrained Exchange Server bug that shut down on-premises mail delivery around the world just as clocks were chiming in the new year. The mass disruption stemmed from a date check failure in Exchange Server 2016 and 2019 that made it impossible for servers to accommodate the year 2022, prompting some to call it the Y2K22 bug. The mail programs stored dates and times as signed integers, which max out at 2147483647, or 231 – 1. Microsoft uses the first two numbers of an update version to denote the year it was released. As long as the year was 2021 or earlier, everything worked fine. # § Proprietary⠀➾ # § Security⠀➾ # ⚓ Security_updates_for_Tuesday⠀⇛ Security updates have been issued by Debian (salt and thunderbird), Red Hat (xorg-x11-server), and Scientific Linux (xorg-x11-server). o § Civil Rights/Policing⠀➾ # ⚓ Digital_Transparency:_A_Right_to_Information_Report_for December_2021⠀⇛ Since our last report for the month of November, IFF has filed 21 RTI requests and 5 first appeals. Here, we give you an overview of the requests filed and an analysis of the responses we have received from the different public authorities. This report highlights why demanding transparency and accountability from Government authorities is one of the key elements in our fight to protect digital rights. [...] The Right to Information (RTI) Act is thus one of the most important tools at the disposal of the public to engage with, and demand transparency and accountability from, the Government. We use the Act to routinely extract information about various ongoing policies and projects that the Government launches. In the month of December, we have filed 21 RTI requests and 5 First Appeals electronically with authorities at the Central level as well as through speed posts with relevant authorities at the States’ levels, concerning the various issues on which we engage with the Government. # ⚓ What’s_behind_the_Aadhaar-voter_id_link?_–_Times_of_India Videos⠀⇛ # ⚓ Centralized,_decentralized_or_neither:_which_national digital_ID_system_will_you_choose?_|_Biometric_Update⠀⇛ Are you in the market for a national digital identity system, but cannot make up your mind? We take a look back at the issues affecting your options. 2021 has seen progress – at different speeds – among identity schemes of all shapes, sizes and formats. The traditional method of having a central store of data comprising the identities of all of a country’s residents has developed dramatically over the decades as it has been digitized, to a place where more and more aspects of governance can be linked to it. A different approach emerged, where the individuals have control of their own identities. Estonia is the go-to example for a more decentralized architecture, although other countries have adopted some of the same tools. But what if neither of these feel right for your country? What if you feel a government digital ID system would be politically or culturally awkward? Then establishing a Trust Framework and leaving it to the private sector, competition and customer choice might be your best choice. o § Digital Restrictions (DRM)⠀➾ # ⚓ Russell_Coker:_Big_Smart_TVs [Ed: These are not smart and buying them is not smart, either]⠀⇛ Recently a relative who owned a 50″ Plasma TV asked me for advice on getting a new TV. Looking at the options all the TVs seem to be smart TVs (running Android with built in support for YouTube and Netflix) and most of them seem to be 4K resolution. 4K doesn’t provide much benefit now as most people don’t have BlueRay DVD players and discs, there aren’t a lot of 4K YouTube videos, and most streaming services don’t offer 4K resolution. But as 4K doesn’t cost much more it doesn’t make sense not to get it. I gave my relative a list of good options from Kogan (the Australian company that has the cheapest consumer electronics) and they chose a 65″ 4K Smart TV from Kogan. That only cost $709 plus delivery which is reasonably affordable for something that will presumably last for a long time and be used by many people. Netflix on a web browser won’t do more than FullHD resolution unless you use Edge on Windows 10. But Netflix on the smart tv has a row advertising 4K shows which indicates that 4K is supported. There are some 4K videos on YouTube but not a lot at this time. [...] Android wasn’t designed for TVs and doesn’t work that well on them. Having buttons on the remote for Netflix and YouTube is handy, but it would be nice if there were programmable buttons for other commonly used apps or a way to switch between the last few apps (like ALT-TAB on a PC). One good feature of Android for TV is that it can display a set of rows of shows (similar to the Netflix method of displaying) where each row is from a different app. The apps I’ve installed on that TV which support the row view are Netflix, YouTube, YouTube Music, ABC iView (that’s Australian ABC), 7plus, 9now, and SBS on Demand. That’s nice, now we just need channel 10’s app to support that to have coverage for all Australian free TV stations in the Android TV interface. Conclusion It’s a nice TV and it generally works well. Android is OK for TV use but far from great. It is running Android version 9, maybe a newer version of Android works better on TVs. It’s too large for reasonable people to use in a home. I’ve seen smaller TVs used for 20 people in an office in a video conference. It’s cheap enough that most people can afford it, but it’s easier and more convenient to have something smaller and lighter. o § Monopolies⠀➾ # § Copyrights⠀➾ # ⚓ Gustave_Zander_and_the_19th-Century_Gym_–_The_Public Domain_Review⠀⇛ As some of us squat, shove, and crunch our way toward new resolutions — while others arrive at the relieving conclusion that their Christmas kettlebell purchase makes for the perfect doorstop — we might wonder, with gratitude or suspicion, why and when gym going became such a widespread phenomenon. Long before Muscle Beach, tubs of whey protein powder, or the distinct grade of shame that emanates from an unused fitness club card, Dr. Gustaf Zander (1835–1920) was helping his pupils tone their pecs in his Stockholm Mechanico-Therapeutic Institute. ䷩ 𝚕𝚒𝚗𝚎 3151 ╒═══════════════════ 𝐃𝐀𝐈𝐋𝐘 𝐋𝐈𝐍𝐊𝐒 ═════════════════════════════════════════════╕ ⠀⌧ █▇▆▅▄▃▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 01.04.22⠀▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▂▃▄▅▆▇█ ⌧ Gemini_version_available_♊︎ ✐ Links_4/1/2022:_KDE_Plasma_5.23.5_and_New_Future_for_GnuPG⠀✐ Posted in News_Roundup at 8:50 am by Dr. Roy Schestowitz 🄸🄼🄰🄶🄴 🄳🄴🅂🄲🅁🄸🄿🅃🄸🄾🄽 ⦇GNOME bluefish⦈ § Contents⠀➾ * GNU/Linux o Distributions o Devices/Embedded * Free_Software/Open_Source * Leftovers * § GNU/Linux⠀➾ o ⚓ Cinema_verite:_Bork_will_find_you,_wherever_you_are_•_The Register⠀⇛ Our scribe was off to see the latest Denis Villeneuve effort rather than the delightfully barking mad David Lynch film of 1984. Although we’d have to recommend a viewing of Jodorowsky’s Dune to get a real feeling for what might have been, 1970s-style. As for the bork, well, it seems the animated screens in Dabbs’ flick palace are running Linux (Ubuntu, we’d wager). Almost invisible is the unmistakable tab of TeamViewer. The near ubiquitous VLC player is dealing with MP4 playback and could that be Xfce taking care of the desktop duties? Either way, the Status Notifier Plugin is clearly not happy about something, having endured a few restarts before the prompt to either restart once more or get rid of the thing entirely. Sadly, there is no device attached for the user to put the component out of its misery, meaning that IMAX triptych will remain partially obscured. o § Instructionals/Technical⠀➾ # ⚓ Fixing_stutters_in_Papers_Please_on_Linux⠀⇛ Looking at ProtonDB, people are complaining about stutters. Some are reporting that the 64-bit version stutters, whereas the 32-bit version works. Unlucky for me, GOG only has a download for 64-bit on Linux. One comment says there is “a half a second freeze every few seconds”, which seems similar to my experience. There has to be an answer why the client stutters, the developers must have tested this configuration! As a side note, I am wondering if the 64-bit version worked at some point, but without a good starting point it is hard to test. So let’s investigate where the pauses are coming from. Linux features a whole suite of tools to debug many different aspects from performance to correctness. And here I am assuming that the stutters are not inherent in the game logic, because the 32-bit version works correctly. # ⚓ Converting_a_VRChat_Avatar_to_VRM_Format_for_VTubing⠀⇛ So you want to be a VTuber, but you already have a custom avatar that you really like in VRChat. Surely there’s a way to make it work, right? This tutorial is going to cover the problem, how I do it and everything I learned along the way. To say that VR is in its infancy is an understatement. This early on in the game, there are many different ecosystems and each of them really came up with their own avatar format out of necessity. As such, there’s a lot of vastly different and incompatible ecosystems for this kind of avatar data. However, a common avatar data interchange format is starting to crop up organically: VRM. This format mostly came from the efforts of Japanese VTubers, and as such most 3d VTubing software supports it. However, you still have your avatar stuck in VRChat format, thus this article exists. # ⚓ Using_Redis_with_docker_and_docker-compose_for_local development_a_step-by-step_tutorial⠀⇛ Redis is an open-source in-memory datastore used as a database, cache, and even a message broker. Redis can be used easily with docker and docker-compose for local development as a cache to a web application. In this post, we will set up Redis with docker and docker-compose, where Redis will be used as a cache for a Node.js/Express.js REST API with PostgreSQL as the main database, let’s get started! # ⚓ secret_military_telephone_buttons⠀⇛ It’s the first of the new year, which means we ought to do something momentous to mark the occasion, like a short piece about telephones. Why so much on telephones lately? I think I’m just a little burned out on software at the moment and I need a vacation before I’m excited to write about failed Microsoft ventures again, but the time will surely come. Actually I just thought of a good one I haven’t mentioned before, so maybe that’ll be next time. Anyway, let’s talk a little bit about phones, but not quite about long distance carriers this time. Something you may or may not have noticed about the carriers we’ve discussed, perhaps depending on how interesting you find data communications, is that we have covered only the physical layer. So far, there has been no consideration of how switches communicated in order to set up and tear down connections across multiple switches (i.e. long distance calls). Don’t worry, we will definitely get to this topic eventually and there’s plenty to be said about it. For the moment, though, I want to take a look at just one little corner of the topic, and that’s multifrequency tone systems. # ⚓ How_to_Install_and_Configure_Elasticsearch_on_Ubuntu 20.04⠀⇛ In this guide, we will learn how to install and configure Elasticsearch on Ubuntu 20.04 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. # ⚓ How_to_create_a_flatpak_package⠀⇛ We already talked about using flatpak packages in a previous tutorial: with this technology we universally distribute applications, which are packaged together with their dependencies and run inside a sandbox, isolated from the rest of the system. In this tutorial we see how to build and distribute an application inside a flatpak. # ⚓ How_to_install_the_NVIDIA_drivers_on_Ubuntu_22.04⠀⇛ The objective is to install the NVIDIA drivers on Ubuntu 22.04 (Jammy Jellyfish) Linux and switch from a default opensource Nouveau driver to the proprietary Nvidia driver. To install Nvidia driver on other Linux distributions, follow our Nvidia Linux Driver guide. # ⚓ How_to_Install_KDE_Plasma_on_Debian_11_Bullseye_– LinuxCapable⠀⇛ The name KDE comes from “K Desktop Environment.” For those not familiar with KDE Desktop, it is a free, open-source desktop environment. It provides Linux users with an alternative graphical interface to customize their desktop environment and applications for everyday use enhancement. In Debian’s case, this is GNOME. Besides the graphical enhancements and changes, it is also a lightweight, fast, smooth environment with superior performance compared to native shipped desktops with some Linux Distributions. In the following tutorial, you will have learned how to install KDE Desktop Environment on your Debian 11 Bullseye Desktop. # ⚓ How_to_Install_Rust_Programming_Language_on_Debian_11⠀⇛ Rust has been adopted by hundreds of big companies in production environments. From applications like Dropbox, Firefox, and Cloudflare, to embedded devices and scalable web services, Rust can be used on all those types of applications and deployments. rustup is a tool part of the Rust project that allows you to install Rust programming language to your system. Using rustup allows developers easily to manage and maintain Rust. Also, it enables you to switch between stable, beta, and nightly compilers and makes the cross-compiling process easier. In this guide, you will learn how to install Rust programming language on the Debian 11 Bullseye. We will be using the rustup toolchain for installing and managing Rust on the Debian system. # ⚓ How_to_Install_Gitea_with_PostgreSQL_on_Debian_11⠀⇛ Gitea is a free, open-source, and self-hosted solution for Git servers. Gitea has written in the Go programming language, a lightweight application, available as the binary package that can be installed on most of the platforms including Windows, Linux, and macOS. It is one of the robust, scalable, fast, easy to use and alternatives to GitLab. Gitea offers many features including a repository file editor, bug and time tracking, repository branching, file locking, built-in wiki, merging, Multiple database support, Easy upgrade process, Built-in Container Registry, and much more. In this tutorial, I will show you how to install Gitea from binary with PostgreSQL on Debian 11. # ⚓ How_to_Install_Ruby_on_Rails_with_PostgreSQL_on_Rocky_Linux 8.4⠀⇛ Ruby on Rails or RoR or Rails is a free and open- source web application framework written in Ruby with the MIT License. It is a full-stack web framework that uses the model-view-controller (MVC) pattern. The Rails web framework provides structures for a database, web service, and web pages. Also, Rails includes some important tools such as scaffolding, Puma, Gems, etc. # ⚓ Pacman_Commands_Cheat_Sheet_for_Arch_Linux⠀⇛ One uniqueness or key identifier of different Linux distributions is in the package manager they use to update, install, configure, and uninstall various targeted software packages. In Arch Linux, the package manager is called Pacman. This tutorial seeks to walk you through some commonly used and unique Pacman commands that will make your Arch Linux interaction and experience easier and much more memorable. It is highly advisable to be a root user or have Sudoer user privileges on your Arch Linux system to fully benefit from what the Pacman command has to offer. # ⚓ 10_Git_tutorials_to_level_up_your_open_source_skills_in 2022_|_Opensource.com⠀⇛ Git is an indispensable part of the code-sharing development workflow. Be you a beginner or an expert, this powerful version control system is the first thing you are expected to learn when working with open source code. You don’t need to know everything under the sun when it comes to Git, but knowing specific hacks makes sharing your code a lot easier on platforms like GitLab, so you can collaborate with developers far and near. If there’s something you’re not sure about, git –help can come to your rescue. I’m amazed every day by the amount of control that knowing Git provides. There is not a single instance when you can’t revert to an earlier version, however impossible or sticky the situation you may be in. Opensource.com had a great set of articles regarding Git in 2021; I’m summarizing just the top 10. All the articles contain hacks, lesser-known facts, and tips and tricks that can come in handy while working with Git. # ⚓ Install_Cinelerra_and_Natron,_Professional_Video_Editor_and Compositing/VFX_on_Ubuntu⠀⇛ This tutorial explains how you can install Cinelerra-GG and Natron on Ubuntu version 16.04 LTS up to 21.10. Cinelerra’s a professional video editor and Natron’s a compositing + special effects software available for GNU/Linux. Both are Free Software, Libre and Open Source. Now let’s start it. o § Desktop Environments/WMs⠀➾ # § K Desktop Environment/KDE SC/Qt⠀➾ # ⚓ KDE_Plasma_5.23.5_Released_as_the_Last_Update_in_the Series,_Further_Improves_Plasma_Wayland⠀⇛ KDE Plasma 5.23.5 is here about five weeks after the KDE Plasma 5.23.4 update and it’s the last bugfix release for the KDE Plasma 5.23 “25th Anniversary Edition” desktop environment, further improving various components, such as the Plasma Wayland session, which received improvements to the advanced keyboard options, as well as to mouse and touchpad settings to let you toggle between Flat and Adaptive acceleration profiles. o § Distributions⠀➾ # ⚓ What_is_CloudReady?_Is_it_a_Viable_Alternative_to_Chrome OS?⠀⇛ CloudReady is an operating system based on Google’s open source Chromium OS code-base. Neverware, the organization behind CloudReady, developed the CloudReady OS to be deployed on already existing PC and Mac hardware and guarantees performance uplift on said hardware due to its minimal hardware requirements. Basically, CloudReady turns your older computer into Chromebooks. Neverware was acquired by Google itself in late 2020. Before I share my experience and opinion on it, let me tell you a bit more about it. # § IBM/Red Hat/Fedora⠀➾ # ⚓ CentOS_8_Is_An_Ex-Distro_(But_AlmaLinux_Is_Not)⠀⇛ Among the many bad things that happened in 2021 was the official end of CentOS 8, which hit EOL at the end of the calendar year (but if you were running on CentOS 7, which is POWER9-compatible, you’re golden until June 2024). CentOS Stream is a thing, though, and for those of you who want something a little less, uh, bubbly than Fedora but more current than RHEL, it’s an option. # § Canonical/Ubuntu Family⠀➾ # ⚓ Deploy_and_maintain_applications_with_Charmed Operators⠀⇛ A complex application usually consists of several elements – for example, a common setup includes a Web server front-end and a database server or logging facilities. For each self-contained software element of server applications, operator software covers the required operational tasks, including updating. If the update routine for each application element is implemented as software, as operator, the obvious advantage is less total effort and more reuse. Whenever a Web server for example is being used for an application setup, the same update procedure in a Charmed Operator will ensure proven and reusable update runs. [...] The risk element can have the values stable, candidate, beta, or edge. A deployed Charm from the channel with risk value stable will accordingly see updates from the stable channel. The risk element helps the developer to stage updates (candidates) or to safely continuously release Charmed Operators from CI-based builds in a devops automation environment (edge). The developer can set the track value for denoting a version of the charm, which could reference the application version. Last but not least, the branch is a field for denoting a special variant. o § Devices/Embedded⠀➾ # § Open Hardware/Modding⠀➾ # ⚓ Decades_of_Fun:_Computers_Built_to_Last:_The_Amiga_as “a_computer_built_to_last_50_years”⠀⇛ I’ve recently thought a lot about the essay The computer built to last 50 years by Ploum. It’s a delightful piece about the author’s ideal, long-lasting computational platform – precisely the thing I enjoy reading. It’s got a nice blend of slow tech and libre computing advocacy mixed with personal ponderings centered around the computer as a tool for creativity and healthy interpersonal communication. The text feels especially relevant to me in the context of the new year, because 2022 marks some very special occasions in computer history. It’s now 40 years since Commodore launched the phenomenally popular C64, an era-defining 8-bit home computer that sold in millions and stayed in production for over a decade. Ten years later, in 1992, Commodore launched the Amiga 1200, a successor to their popular Amiga 500 model. Other computer models launched those years are Sinclair’s ZX Spectrum (1982), Atari’s Falcon 030 and Acorn’s Archimedes A4000 (both in 1992) – but Commodore’s models are the ones closest to my heart. # § Mobile Systems/Mobile Applications⠀➾ # ⚓ First_10_things_to_do_with_a_new_Android_Phone⠀⇛ # ⚓ Speed_up_that_Android_phone_by_clearing_your_browser cookies_and_cache_–_CNET⠀⇛ # ⚓ Lenovo_Legion_Y700_Android_gaming_tablet_has_an_8.8 inch_120_Hz_display_–_Liliputing⠀⇛ # ⚓ How_To_Share_Wi-Fi_Passwords_With_Friends_And_Family On_Android⠀⇛ # ⚓ Nokia_launches_a_bunch_of_new_Android_12_smartphones that_won’t_break_the_bank_–_Phandroid⠀⇛ # ⚓ Samsung_One_UI_4.0_(Android_12)_update_tracker: Eligible_devices_&_more⠀⇛ # ⚓ Nokia_G50_gets_Android_12_update_(in_Finland)_– Android_Community⠀⇛ o § Free, Libre, and Open Source Software⠀➾ # ⚓ 5_Hot_Free_and_Open_Source_Ruby_Application_Servers⠀⇛ 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. 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. # § Programming/Development⠀➾ # ⚓ Increasing_Bus_Factor⠀⇛ How many software developers would have to leave a project to make development come to a halt? That number is the bus factor. The macabre meaning behind the bus factor is the number of developers that would need to get hit by a bus to halt development (but it’s often lighter to think about members winning the lottery, not that anyone who knows about statistics would actually play the lottery).s # ⚓ Redundancy_in_IT_isn’t⠀⇛ If we consider redundancy to be an essential requirement of a system then, is the existence of said redundant data not redundant? Anyone who claims backups are redundant in the traditional English use of the term isn’t qualified to design or operate computer systems! Much as my old boss said that anything that isn’t documented doesn’t exist, I’d argue any data without redundancy is ephemeral. If your system can’t tolerate that, redundancy is therefore a requirement. * § Leftovers⠀➾ o ⚓ “We_Have_It_in_Our_Power_to_Begin_the_World_Over_Again”⠀⇛ For 2022 to be the year that it can and must be, no ordinary New Year’s resolution will do. So let us turn to the radical catechism of America’s founding: Thomas Paine’s Common Sense. o ⚓ Sorking_the_Ricardos:_the_Real_Story_of_Lucy_and_J._Edgar⠀⇛ In Sorkin’s script, several crises that Lucille Ball and Desi Arnaz dealt with during their marriage all come to a head in one week of September ’52. I prefer the literal truth, but I guess a screenwriter is entitled to compress the chronology. Sorkin deftly provides relevant background with pseudo- documentary interviews of I Love Lucy’s executive producer and staff writers. They reminisce about the phenomenal popularity of their show. Nowadays a hit TV show attracts 10 to 15 million viewers. I Love Lucy drew 60 million in the USA with exactly half the population (156 million in ’52, 333 million in 2021.) o ⚓ Bell_Hooks_Interview_(1999)⠀⇛ o ⚓ Liz_Truss_and_the_Booze⠀⇛ UPDATE It appears that the Guardian article on which this comment is based is factually incorrect on the price of the wine (the Guardian said the price was per bottle, which now seems to be untrue) and on the amount of gin (the Guardian says 2 bottles – as had the Sunday Times – when in fact it was two measures). So much of what I said did not make sense to me, does now in fact make sense. Frankly I should know better than to follow the Guardian uncritically, and what was always a minor piece by me now looks foolish. I leave it up with this update and explanation, if only as a reminder of my own fallibility… o § Science⠀➾ # ⚓ [Old] Best_Paper_Awards_in_Computer_Science:_Collection_of best_paper_awards_for_30_computer_science_conferences_since 1996⠀⇛ Caveats: Note that some conferences do not have such an award (e.g. SIGGRAPH, CAV); “Distinguished paper award” and “outstanding paper award” are included but not “best student paper” or “best 10- year old paper” (e.g. POPL); at this point, it is unlikely that new additional conferences will be added due to the ongoing time commitment to prepare updates (about 8 hours a year); only each author’s first affiliation is listed due to how the data was originally stored. # ⚓ Richard_Leakey:_Fossil_hunter_who_helped_prove_humans evolved_in_Africa,_dies_at_77⠀⇛ Leakey’s expeditions in the 1970s altered our understanding of human evolution, especially with the discovery of a 1.9-million-year-old skull of Homo habilis in 1972 and a 1.6-million-year-old skull of Homo erectus in 1975. o § Education⠀➾ # ⚓ Qatar,_like_Saudi_Arabia_and_the_UAE,_but_unlike_Kuwait, cleanses_its_textbooks⠀⇛ The revision of textbooks in the final year leading up to Qatar’s hosting of the 2022 World Cup is designed to keep the Gulf state in the beauty pageant for the beacon of moderate Islam. Saudi Arabia, the United Arab Emirates, and Indonesia are Qatar’s major competitors. The UAE and Saudi Arabia, in contrast to other competitors for religious soft power and leadership of the Muslim world, like Turkey and Iran, have already significantly revised their school textbooks, although analysts suggest that issues remain. o § Health/Nutrition/Agriculture⠀➾ # ⚓ Omicron_Threat_Looms⠀⇛ # ⚓ Opinion_|_Making_a_Killing:_The_US_Opioid_Epidemic⠀⇛ The other day in Mexico, I fell into conversation with an older gentleman from Virginia who had recently lost a brother to cancer. Choking up as he recalled how, as a child, his brother would approach parents on the street to compliment them on the beauty of their offspring, the gentleman added that cancer had not been his brother’s only affliction. He had also, he said, been a victim of “the other epidemic”—meaning the opioid crisis that caused some 500,000 overdose deaths in the United States between 1999 and 2019, while destroying countless more lives through addiction. # ⚓ Radioactive_Contamination_Is_Seeping_Into_Drinking_Water Around_the_U.S.⠀⇛ # ⚓ Hawaii’s_Water_Protectors_Lead_Movement_to_Close_Navy_Fuel Site_After_Leak⠀⇛ # ⚓ Teachers_Unions_Call_for_Remote_Learning,_Increased_Safety Measures_as_Covid_Surges⠀⇛ Teachers in cities across the U.S. are warning that school districts are not prepared to welcome students back to in-person education safely, saying the risks are simply too high given the ferocious spread of the Omicron variant. According to WBEZ, more than 25,000 members of the Chicago Teachers Union (CTU) will vote Tuesday over whether teachers will refuse to report to school buildings this week, choosing to teach remotely instead without district approval. # ⚓ ‘Enough_Is_Enough’:_Outrage_as_Big_Pharma_Hikes_Prices_on 442_Drugs⠀⇛ Patient advocates on Monday condemned the U.S. pharmaceutical industry for ushering in the new year with price hikes on more than 440 medications, a move that came as congressional Democrats’ plan to lower prescription drug costs remained stuck due to Sen. Joe Manchin’s persistent obstruction. “Clearly, the need for drug pricing reform is as urgent as ever.” # ⚓ Meet_the_Scientist_Who_Built_a_Cheap_Rapid_Test_in_March 2020._The_FDA_Never_Approved_It⠀⇛ The United States faces a shortage of rapid COVID- 19 tests amid the Omicron surge even as many inexpensive at-home rapid testing models have been ready for distribution — but refused approval by the U.S. Food and Drug Administration. One scientist, Harvard-trained Irene Bosch, submitted a rapid test to the FDA for emergency approval in March 2020 and even had a factory ready to produce it. Bosch describes how the FDA’s rejection came from unclear standards set by the administration early on in the pandemic, and says earlier approval of testing like hers could have saved lives. # ⚓ Steve_Kirsch_reveals_“secret_plan_to_end_the_vaccine madness”⠀⇛ It’s a new year, and my vacation is over. I won’t tell you much about what I was doing during my week off other than to say that this was a pretty lousy vacation, and Orac’s tarial cells are not nearly as recharged as he’d hoped they’d be by the time this day rolled around. (Don’t ask. That’s all I’ll say for now.) Be that as it may, before disappearing for ten days, I had made what appears to have been my first mention of a COVID-19 crank and antivaxxer whom I hadn’t really discussed before, a fact that I now find surprising given how prolific a source of misinformation that he’s been. I’m referring to tech bro turned incompetent conspiracy-mongering epidemiologist and scientist, Steve Kirsch. # ⚓ [Old] Doctors_investigate_mystery_brain_disease_in_Canada⠀⇛ Doctors in Canada have been coming across patients showing symptoms similar to that of Creutzfeldt- Jakob disease, a rare fatal condition that attacks the brain. But when they took a closer look, what they found left them stumped. # ⚓ New_Brunswick’s_Mystery_Disease:_Why_Did_the_Province_Shut Out_Federal_Experts?⠀⇛ As with most matters related to health, outbreak response in Canada falls under provincial jurisdiction, but in this case, New Brunswick asked the PHAC for help. Federal colleagues began assembling a nationwide working group, which eventually numbered about two dozen. It included Michael Coulthart, head of the CJDSS, as well as Neil Cashman, a University of British Columbia neurologist, and Strong. Across the country, consultations began with experts in prion disease, environmental neurotoxins, and food- and water- borne illness. According to documents obtained by a freedom of information request, the CIHR and the PHAC were meeting weekly, and a clinic was being put together in Moncton as a clearing house for patients, which would be partly headed by Marrero. By then, a posting on the Program for Monitoring Emerging Diseases—a global outbreak-monitoring system that publicized the first cases of SARS and Ebola—had brought the illness to global attention. Experts from Johns Hopkins University, the Mayo Clinic, and the Cleveland Clinic reached out. As rapidly as the cluster had appeared, so did the expertise to combat it. Then, on June 3, New Brunswick abruptly changed tack. The province told the emerging national working group to stand down. The investigation “was pulled up to the highest levels of the New Brunswick government, and they took control,” says the senior scientist, who is intimately familiar with the workings of the PHAC investigation and has asked for anonymity, claiming federal scientists have been “muzzled” by federal health authorities at the request of the province. Cashman declined to speak for this story, indicating that he needed clearance from the New Brunswick government. Strong was permitted by the CIHR to speak only if the conversation avoided New Brunswick and instead focused on cluster epidemiology in general. # ⚓ A_third_of_Ohio_deer_test_positive_for_COVID-19_virus⠀⇛ The investigators said the prevalence of infection varied from 13.5% to 70% across the nine sites, with the highest prevalence observed in four sites that were surrounded by more densely populated neighborhoods. # ⚓ Deer_may_be_reservoir_for_SARS-CoV-2,_study_finds⠀⇛ More than 80% percent of the white-tailed deer sampled in different parts of Iowa between December 2020 and January 2021 tested positive for SARS-CoV- 2. The percentage of SARS-CoV-2 positive deer increased throughout the study, with 33% of all deer testing positive. The findings suggest that white-tailed deer may be a reservoir for the virus to continually circulate and raise concerns of emergence of new strains that may prove a threat to wildlife and, possibly, to humans. # ⚓ [Old] Managing_Overabundant_White-tailed_Deer⠀⇛ White-tailed deer (Odocoileus virginianus) are one of the most recognizable and charismatic species of wildlife, but they are the cause of a growing urban wildlife management problem in many metropolitan areas throughout the United States. As urban sprawl increases, the natural habitat required by many wildlife species disappears, but white-tailed deer are able to adapt to urban environments and human activity. White-tailed deer populations grow rapidly in these areas due to the lack of natural predators, patchy habitats, abundant food resources, and increased offspring survival. o § Integrity/Availability⠀➾ # § Proprietary⠀➾ # ⚓ Cloud_misconfiguration_a_growing_cause_of_security incidents⠀⇛ # ⚓ YYMMDDHHMM_just_overflowed_a_signed_32_bit_int⠀⇛ The first value for this year is January 1, 2022 at 00:00, which turns into 2201010000, and that does not fit! So, if you’re using Microsoft Exchange and stopped getting your mail in the past couple of hours, this is why! Really! No joke! # ⚓ Netgear_thinks_you’ll_pay_extra_for_ad_blocking_on its_Orbi_routers⠀⇛ The Game Booster service for Orbi devices will cost $50 annually, and while this isn’t a massive sum of money, it certainly raises some questions about why Netgear is charging for a service that was previously offered for free on other devices. This decision is made all the more puzzling when you consider how expensive an Orbi system is, with some larger systems costing as much as $1,500. # § Security⠀➾ # ⚓ A_New_Future_for_GnuPG⠀⇛ For many years our work was mainly financed by donations and smaller projects. Now we have reached a point where we can benefit from a continuous revenue stream to maintain and extend the software without asking for donations or grants. This is quite a new experience to us and I am actually a bit proud to lead one of the few self-sustaining free software projects who had not to sacrifice the goals of the movement. # § Privacy/Surveillance⠀➾ # ⚓ How_to_Hide_from_Facial_Recognition Software_with_Fawkes⠀⇛ You want to be able to live a normal life — to hang out on social media with your friends and family and occasionally post photos of trips to the beach, social gatherings (when they resume), and other life events — without the images being scraped and added to a facial recognition database. # ⚓ How_to_Delete_Your_Facebook,_Twitter, Instagram,_and_TikTok⠀⇛ Wanting to delete your account is one thing, but actually being able to hit the delete button is another story. Social media outlets make money off of you and your information, so it shouldn’t come as a surprise that they don’t want to let you go. Because of this, the biggest networks have made it overly complicated to delete your account. But if you are set on getting rid of them, here’s what you’ll have to do. # ⚓ Turns_Out_People_Really_Are_Using_Apple AirTags_to_Track_and_Steal_Cars⠀⇛ This follows previous accounts of five vehicles being identified in Canada with AirTags surreptitiously attached to them, which lead the local police department to put out an advisory about the phenomenon. And, in a twist that will surprise precisely nobody, all of the vehicles identified in Canada were of the “high end” variety. That said, there’s more to it than just sticking a tag under someone’s car and then finding it later. This appears to be a tactic used by a sophisticated group of thieves, as they have the resources to reprogram a car’s key once they locate it. As the previous police advisory notes, “Once inside, an electronic device, typically used by mechanics to reprogram the factory setting, is connected to the onboard diagnostics port below the dashboard and programs the vehicle to accept a key the thieves have brought with them. Once the new key is programmed, the vehicle will start and the thieves drive it away.” # ⚓ [Old] Another_Driver_Finds_An_Apple AirTag_Tracking_His_Car’s_Location⠀⇛ For anyone who isn’t already familiar, AirTags are small tracking devices intended to help people find easily misplaced items such as car keys using Apple’s Find My app. And even if your hypothetical lost keys are too far away for your personal phone to connect to the AirTag, it can use other Apple devices nearby to let you know where they are. That last feature is the one that allows people to use AirTags for more nefarious purposes. You know, like tracking cars to steal later or possibly to stalk someone. # ⚓ The_(appropriately)_quantified_self⠀⇛ When I launched the Health app, I was surprised to see that it had been counting my steps since I became an iPhone user 18 months ago. Really? I don’t recall opting into that feature. # ⚓ A_Former_Facebook_Executive_Pushes_to Open_Social_Media’s_‘Black_Boxes’⠀⇛ While Mr. Silverman no longer works at Facebook, he hasn’t quite left the company behind. Instead, he has spent the weeks since his exit working with a bipartisan group of U.S. senators on legislation that would, among other things, force the giant social media platforms to provide the sort of transparency that got him marginalized at Facebook. “What’s happening right now, though, is that a few private companies are disseminating a massive amount of the world’s news and it’s largely happening inside black boxes,” Mr. Silverman told me last week, in his first interview since leaving the company. “I think figuring out ways to both help and, in some cases, force, large platforms to be more transparent with news and civic content as it’s in the process of being disseminated can ultimately help make social platforms better homes for public discourse — and in a lot of ways, help them live up to a lot of their original promise.” o § Defence/Aggression⠀➾ # ⚓ Over_200_‘Vigils_for_Democracy’_Planned_Across_US_to Commemorate_January_6⠀⇛ To mark the one-year anniversary of the January 6 insurrection at the U.S. Capitol and demand free and fair elections, more than 200 grassroots- organized candlelit vigils are planned for Thursday in cities and towns across the United States. The vigils will be held in nearly every state in the country, with some gatherings including voter registration drives and voter outreach events to counteract what organizers say is an effort by “the same faction that attacked our country on January 6″ to restrict voting rights and attack fair voting districts all while “quietly preparing future attempts to sabotage free and fair elections and with [them] our democracy.” # ⚓ Federal_Court_Tells_Proud_Boys_Defendants_That_Raiding_The Capitol_Building_Isn’t_Covered_By_The_First_Amendment⠀⇛ A handful of Proud Boys members charged with crimes related to the January 6th raid on the Capitol building are arguing their actions are protected by the First Amendment. According to the defendants, the raid they participated in was nothing more than a protest. Alternatively, they’re arguing one of the laws being used against them is unconstitutionally overbroad, turning otherwise legal activity into illegal activity. # ⚓ ‘No_Winners_in_a_Nuclear_War’:_US,_Russia,_China,_UK,_and France_Issue_Rare_Joint_Statement⠀⇛ As the leaders of five of the world’s nine nuclear powers on Monday released a rare joint statement acknowledging that there can be no victors of a nuclear war, disarmament campaigners called on them to “walk the talk” and pursue meaningful action to reduce the risk of thermonuclear armageddon by reducing—and ultimately eliminating—their own atomic stockpiles. “As Greta Thunberg said, ‘blah, blah, blah.’ They write this ‘nice’ statement but [are] doing exactly the opposite in reality.” # ⚓ Why_is_Israel_Amending_Its_Open-Fire_Policy:_Three_Possible Answers⠀⇛ The military’s new rules now allow Israeli soldiers to shoot, even kill, fleeing Palestinian youngsters with live ammunition for allegedly throwing rocks at Israeli ‘civilian’ cars. This also applies to situations where the alleged Palestinian ‘attackers’ are not holding rocks at the time of the shooting. The reference to ‘civilians’ in the revised army manual applies to armed Israeli Jewish settlers who have colonized the occupied West Bank and East Jerusalem in defiance of international law and Palestinian sovereignty. These settlers, who often operate as paramilitary forces in direct coordination with the Israeli army, endanger the lives of their own families by residing on occupied Palestinian land. Per Israel’s twisted standards, these violent Israelis, who have killed and wounded numerous Palestinians throughout the years, are ‘civilians’ in need of protection from rock- throwing Palestinian ‘assailants’. # ⚓ ‘No_Military_Solution’_to_Russia-Ukraine_Conflict,_Say Expert_Voices⠀⇛ As President Joe Biden ratchets up tensions with Moscow by assuring Ukraine that “the United States and its allies and partners will respond decisively” to a Russian invasion, experts warned Monday that there is no military solution to the seven-year war between neighbors with so much shared history and culture. “What is essentially a civil war has become a proxy war, a site of dangerous geopolitical focus.” # ⚓ Major_Corporations_Have_‘Broken_Promises_and_Funded Seditionists’_Since_Jan._6,_Reports_Reveal⠀⇛ A pair of watchdog groups on Monday called out companies and trade groups that continued to financially support the 147 congressional Republicans who voted last year to overturn the 2020 presidential election results even after the January 6 attack on the U.S. Capitol. “Major corporations were quick to condemn the insurrection and tout their support for democracy—and almost as quickly, many ditched those purported values.” # ⚓ ‘Threat_to_Our_Democracy_Could_Not_Be_Clearer,’_Says Sanders_After_Trump_Endorses_Far-Right_Orbán⠀⇛ U.S. Sen. Bernie Sanders rebuked former President Donald Trump Monday after the frequent admirer of dictators endorsed the reelection of Hungarian President Viktor Orbán, under whose administration Hungary’s generation-old democracy has been severely eroded. “Trump wants to do here what Orbán has done in Hungary: weaken democratic institutions, curb press freedom, and rewrite election laws to entrench his own party’s power,” Sanders (I-Vt.)  tweeted. “The threat to our democracy could not be clearer, and we must act boldly to protect it.” # ⚓ Bloomberg_says_U.S._officials_were_just_handed_‘highest- level_Kremlin_insider_in_recent_memory’⠀⇛ American officials secured Vladislav Klyushin’s extradition from Switzerland last month on charges of insider trading, but journalists at Bloomberg say the Russian tech tycoon might also have access to documents relating to the Russian military’s operations abroad, including Moscow’s campaign to hack Democratic Party servers during the 2016 U.S. presidential election and the attempted chemical poisoning assassination of former spy Sergey Skripal and his daughter in the UK in 2018. According to the U.S. indictment, Klyushin’s I.T. firm, M13, worked for the Russian presidency and federal government. Bloomberg’s sources described Klyushin as “the highest-level Kremlin insider handed to U.S. law enforcement in recent memory.” # ⚓ Cross-Border_Access_to_User_Data_by_Law_Enforcement:_2021 Year_in_Review⠀⇛ It was approved on November 17, 2021—a major disappointment that can endanger technology users, journalists, activists, and vulnerable populations in countries with flimsy privacy protections and weaken everyone’s right to privacy and free expression across the globe. Following the decision by the CoE’s Committee of Ministers of the Council of Europe, the Protocol will open for signatures to countries that have ratified the Budapest Convention (currently 66 countries) around May 2022.  It’s been a long fight and a very busy year. EFF, along with CIPPIC, European Digital Rights (EDRi), and other allies, fought to let the CoE and the world know that the Protocol was being pushed through without adequate human rights protections. We sounded warnings in February about the problem and noted that draft meetings to finalize the text were held in closed session, excluding civil society and even privacy regulators. After the draft protocol was approved in May by the CoE’s Cybercrime Committee, EFF and 40 organizations urged the Committee of Ministers, which also reviews the draft, to allow more time for suggestions and recommendations so that human rights are adequately protected in the protocol. In August, we submitted 20 solid, comprehensive recommendations to strengthen the Protocol, including requiring law enforcement to garner independent judicial authorization as a condition for cross border requests for user data, prohibiting police investigative teams from bypassing privacy safeguards in secret data transfer deals, and deleting provisions mandating that internet providers directly cooperate with foreign law enforcement orders for user data, even where local laws require them to have independent judicial authorization for such disclosures. We then defended our position at a virtual hearing before the Parliamentary Assembly of the Council of Europe (PACE), which suggested amendments to the Protocol text.  # ⚓ Insurrection⠀⇛ While Hitler’s Beer Hall Putsch and Trump’s January 6 coup attempt bore a striking resemblance in terms of the size of the insurrections and the resulting violence, the most notable similarity is the nature of the lies that led to the buildup of political tensions: Hitler’s lies about Germany’s defeat in World War I and Trump’s lies about voter fraud driving his loss in the 2020 election. Both were big lies that undermined faith in government institutions and gained credibility from frequent repetition. # ⚓ China_replaces_‘soldiers_with_robots’_in_Tibet_as_soldiers ‘fleeing’_in_harsh_winters⠀⇛ As the unsolved India-China border dispute brews tensions, new media reports allege that China is sending machine gun-wielding robots to the frontier to exacerbate the situation. According to Indian media reports, dozens of autonomous vehicles capable of transporting both weapons and supplies are being dispatched to Tibet, with the bulk being deployed in border regions where Chinese troops are engaged in a standoff with Indian troops. # ⚓ Dalai_Lama’s_last_escort_on_1959_escape_from_Tibet_dies⠀⇛ The last surviving member of a small troop of Indian soldiers who escorted the Dalai Lama as he fled from Tibet in 1959 has died aged 85, his former regiment said on Friday. The Tibetan spiritual leader arrived in India as a young monk after a 13-day trek through the Himalayas disguised as a soldier to evade detection by Chinese troops. Naren Chandra Das, who died on Monday at his residence in the northeastern state of Assam, was 22 at the time and had just completed his training with the Assam Rifles, the Indian Army’s oldest paramilitary force. # ⚓ Chinese_Embassy_Writes_to_MPs_Who_Attended_Meeting_to Revive_All-Party_Group_on_Tibet⠀⇛ Following the escape of the Dalai Lama, the Tibetan government-in-exile, known as the Central Tibet Administration, had been set up in Dharamshala. The largest section of the Tibetan diaspora is based in the Indian sub-continent. # ⚓ [Old] Chinese_Authorities_Double_Down_on_Tibetan Reincarnations⠀⇛ In recent years, Chinese officials have announced meetings where selected senior monks are required to “study” these policies and promise their support. Since 2018, all monastics, particularly those with teaching or official duties, have been required to meet “Four Standards,” including “political reliability” and “being dependable at critical moments.” Both are believed to involve support for the Chinese government’s choice of the next Dalai Lama and any other reincarnate lama. # ⚓ China_intimidated_by_support_for_Tibet,_says_‘Tibetan Parliament-in-Exile’⠀⇛ “By sending the letters to honourable members of the Indian Parliament, it becomes evident that China is intimidated by the growing support for the Tibet movement around the world. The leaders of free countries have all their rights and responsibilities to support the just cause of Tibet and we vehemently condemn this move by China,” said the statement issued on Friday. # ⚓ The_Magic_Letter⠀⇛ Numerous sad and tragic events that we did not see, experience, or encounter directly most likely occurred as well. The decision my family and I made after receiving the magic letter from Kent State University was complicated for multiple reasons, but it enabled our family to stay whole, pursue a better life, and remain far away from the chaotic situation in our home country. At the same time, we cannot fully enjoy the result of the magic letter because hundreds, thousands, maybe millions of people in Turkey still suffer under Erdogan’s oppressive rule. I wish I had the power to send all of them a magic letter of their own. # ⚓ Afghan_Shops_Remove_Heads_of_Mannequins_in_Line_With Taliban_Order⠀⇛ Taliban authorities reportedly have also increased monitoring of public taxis in the capital, Kabul, to see if drivers are abiding by the ministry’s instructions related to women’s right to travel. The decree requires drivers to carry only those female passengers who wear a headscarf or Islamic hijab and are accompanied by a male relative if they travel more than 72 kilometers. It also instructs cabdrivers to grow beards, stop their vehicles at prayer times and stop playing music while driving. The ministry reportedly has also banned Afghan women from driving. It has also ordered local channels to stop showing dramas and soap operas featuring actresses, and female news anchors to wear hijabs while on the air. o § Transparency/Investigative Reporting⠀➾ # ⚓ Trump’s_Texas_“audit”_falls_apart:_“Forensic”_probe_finds no_substantial_evidence_of_voter_fraud⠀⇛ Texas Republicans have failed to find any substantial evidence of outcome-altering fraud in the 2020 presidential election after leading a months-long recount at Donald Trump’s behest. The findings, reported by the secretary of state’s office on New Year’s Eve, are part of the first phase of the audit, which targets the four largest counties in the Lone Star State: Collin, Dallas, Harris, and Tarrant. According to The Texas Tribune, the initial findings bore “few discrepancies between electronic and hand counts of ballots in a sample of voting precincts.” o § Environment⠀➾ # ⚓ 6_Big_Environmental_Stories_to_Watch_in_2022⠀⇛ # ⚓ Winter_Wildfire_Fueled_by_Climate_Crisis_Destroys_1,000 Homes_in_Colorado⠀⇛ # ⚓ Opinion_|_Shifting_Wasteful_Consumption⠀⇛ In San Mateo County California, where I live, advocates worked hard to create a new public electricity supplier that would provide everyone electricity from renewable sources at no extra cost. I turn off the light when I leave a room, but my personal carefulness does not come close to the impact of the work people did together to bring us the new electricity supplier.   # ⚓ Climate_Change-Fueled_Blaze_Destroys_1,000_Homes_in Colorado_in_Rare_Winter_Wildfire⠀⇛ A devastating climate change-fueled wildfire destroyed nearly 1,000 homes outside of Boulder and Denver, Colorado, with little notice last Thursday. The fire was fanned by winds that gusted up to 110 miles per hour, and came after a year of drought across the western U.S. and amid an unusually warm December. We speak with Jennifer Balch, director of the Earth Lab at the University of Colorado, Boulder, who says the climate crisis is extending the scale and scope of wildfire season in the state. “We’ve known that there’s a link between climate change and wildfires for over a decade, and it takes just a little bit of warming to lead to a lot more burning,” says Balch. # § Energy⠀➾ # ⚓ Nuclear_Power_Doesn’t_Belong_in_the_Green_New_Deal⠀⇛ # § Wildlife/Nature⠀➾ # ⚓ California’s_Forever_Fire⠀⇛ Early in my two-writer marriage, my husband and I joked that we should add a silent third spouse who worked in venture capital or practiced corporate law. But really, we already had a bonus partner: California. The state was dramatic and a handful. But she was gorgeous, and she brought into our lives, through the natural world, all the treasure and magic we’d need. The beaches. The mountains. The clean waves at Malibu. The seal pups at Año Nuevo State Park. This was not just our relationship to California; this was everyone here. The implicit bargain was that California would protect and deliver to her residents the earth’s own splendor. In return, we’d spend a stupid amount of money on housing and tolerate a few hazards. We stowed an earthquake kit in the basement of our tiny house and, even prepandemic, cached boxes of N95 masks under the sink. Why live anywhere else? My human spouse hung photos of El Capitan in the entrance hall. We propped a bright red surfboard against the living-room wall. # ⚓ Paradise_Lost_in_Greater_Yellowstone?⠀⇛ Grazing allotments are outlined in red. The lowest two  Six Mile allotments are near Chico Hot Springs and Emigrant Peak. Although the Forest Service considered a no- grazing alternative, it chose Alternative 3, which EXPANDS total acres open to livestock grazing over the present situation, requires costly “range improvements” like pipelines, fencing, and other taxpayer-funded development to mitigate livestock impacts—all to permit the continued use of public lands for the private profit of local ranchers. o § Finance⠀➾ # ⚓ Opinion_|_Democrats_Should_Run_on_Defending_Social Security—and_Win⠀⇛ The nation is facing a retirement income crisis. Social Security is unquestionably the nation’s most important source of retirement income. But the last time Congress expanded Social Security was when Richard Nixon was president. Unless this Congress addresses the crisis by expanding Social Security, too many Americans will be unable to retire without a drastic and precipitous drop in their standards of living. # ⚓ 700,000_US_Teens_Navigate_School_Without_Family_Support_or Permanent_Housing⠀⇛ # ⚓ “Tax_the_Rich:”_10_Billionaires_Added_$402_Billion_to_Their Fortunes_in_2021⠀⇛ # ⚓ ‘In_2022,_Let’s_Tax_the_Rich’:_10_Billionaires_Added_$402 Billion_to_Their_Fortunes_in_2021⠀⇛ The world’s 10 richest billionaires added roughly $402 billion to their collective wealth in 2021, a year marked by continued suffering and economic dislocation fueled by the global coronavirus pandemic. “Heading into 2022, the 10 wealthiest individuals in the world are all worth more than $100 billion,” CNBC noted, citing the Bloomberg Billionaires Index, which tracks and ranks the fortunes of the planet’s richest people. # ⚓ Apple_briefly_crossed_a_$3_trillion_market_cap⠀⇛ Apple’s huge success is due in large part to the iPhone, which revolutionized the smartphone industry and remains a cash cow for the company. But Apple continues to see strong momentum in its other businesses as well, with its services and Mac divisions reporting all-time highs in its Q4 2021 earnings. # ⚓ [Old] Tech_Innovation_vs._Legislative_Reform:_Apple’s Response_to_the_TCJA⠀⇛ After taxes, Apple is faced with over $200 billion in repatriated cash.[129] While Apple has allocated portions of this stockpile to various uses, the majority remains untouched.[130] Additionally, as it is widely believed that the TCJA will lead to reduced offshoring of overseas income in years to come, domestic cash reserves attributable to TCJA reforms are likely to increase further.[131] As Apple had more than sufficient cash to meet its operational needs prior to 2018, it has significant leeway in the allocation of these new cash flows. [132] Apple can (1) allow cash to sit in reserve, (2) allocate funds to new capital expenditures, or (3) alter its capital structure by paying off debts or distributing funds to shareholders in buybacks or dividends. # ⚓ Apple_Becomes_First_Company_to_Hit_$3_Trillion_Market Value⠀⇛ Apple now accounts for nearly 7 percent of the total value of the S&P 500, breaking IBM’s record of 6.4 percent in 1984, according to Howard Silverblatt, an analyst who tracks valuations at S&P Dow Jones Indices. Apple alone is about 3.3 percent of the value of all global stock markets, he said. Behind Apple’s ascent is its tight grip on consumers, an economy that has especially favored its business and its stock, and its shrewd use of an enormous pile of cash. [...] Yet instead of making a major acquisition, or even trying something ambitious and expensive like building multiple factories in the United States, Apple has decided to largely give its cash back to its investors by buying its own stock. Over the past decade, Apple has purchased $488 billion of its own shares, by far the most of any company, according to an analysis by Mr. Silverblatt. Much of that spending came after Apple used a 2017 tax law to move most of the $252 billion it had held abroad back to the United States. Apple is now responsible for 14 of the 15 largest stock buybacks in any single financial quarter, Mr. Silverblatt said. “They are the poster child,” he said. # ⚓ [Old] How_Fortune_500_Companies_Avoid_Paying_Income_Tax⠀⇛ Now that the corporate tax rate is reduced to 21%, corporations have found a way to pay even less. The ITEP published an updated report on corporate taxes in December 2019. Per their findings, 379 companies paid an average tax rate of 11% for the tax year. Ninety-one of those companies, including DowDuPont and Avis Budget Group no federal income tax in 2018. Tax subsidies for the 379 companies totaled $73.9 billion, with Bank of America receiving the largest amount of subsidies at $5.5 billion. o § AstroTurf/Lobbying/Politics⠀➾ # ⚓ Media_Watchdogs_Warn_Networks_Against_Uncritical_Airing_of ‘Big_Lie’_Trump_Event⠀⇛ In the lead-up to the first anniversary of the January 6 attack on the U.S. Capitol later this week, media watchdogs are warning news networks and journalists against uncritical live coverage of Donald Trump’s planned press conference and the lies the disgraced former president is expected to spew. “It is critical that news networks do the right thing—refuse to carry it live, so they do not uncritically promote the lies and disinformation that is generated from Trump’s speech in real time.” # ⚓ Opinion_|_Georgia’s_New_Racially_Discriminatory_Electoral Maps⠀⇛ # ⚓ Schumer_Vows_to_Change_Senate_Rules_to_Protect_US_Democracy by_January_17⠀⇛ Just days before the first anniversary of a right- wing attack on the U.S. Capitol, Senate Majority Leader Chuck Schumer on Monday announced a new deadline for Democrats to change the upper chamber’s rules to end Republican obstruction of pro-democracy legislation. “January 6th was a symptom of a broader illness—an effort to delegitimize our election process.” # ⚓ 60_Groups_to_Senate_Dems:_Jettison_Filibuster_to_‘Safeguard Our_Democracy’⠀⇛ Dozens of progressive advocacy groups on Monday kicked off the New Year by reiterating with fresh urgency a demand they made to Senate Democrats throughout 2021: Reform the legislative filibuster to shield U.S. democracy from the increasingly authoritarian GOP. In a new letter to members of the Senate Democratic caucus, 60 organizations led by Fix Our Senate implored the majority party to recognize the “need to pass federal democracy and voting legislation to safeguard our democracy,” just as it acted in December to “extend the debt limit to avoid economic calamity.” # ⚓ Opinion_|_2022_Should_Be_Seen_as_the_Year_for_Democracy⠀⇛ One hundred and fifteen years ago, on Jan. 1, 1907, the German poet Rainer Maria Rilke wrote to his wife, Clara: # ⚓ Opinion_|_Make_No_Mistake,_Fascism_Is_on_the_Ballot_in 2022⠀⇛ When fascism reared its ugly head in Europe and Japan in the 1920s, it signaled a coming war. As a newer and slicker form of that despotism rises here in America, it may well bring the same type of crisis. # ⚓ GOP’s_2022_Candidates_Could_Push_the_Party_Even_Further Into_Extremism⠀⇛ # ⚓ Calling_Trump_‘Just_a_Warm-Up_Act,’_Professor_Warns_of Democratic_Collapse_in_US⠀⇛ In a matter of years, the United States’ deeply flawed and increasingly fragile democratic system could collapse under the weight of a long-running reactionary onslaught and be replaced by a right- wing dictatorship—one for which former President Donald Trump was “just a warm-up act.” “Willingness to publicly endorse the Big Lie has become a litmus test of Republican loyalty to Mr. Trump.” # ⚓ How_the_Philippines’_President_Dutuerte_Weaponized_a Filipino_Custom_During_COVID-19⠀⇛ Historically, bayanihan refers to the Filipino tradition of a community coming together to help families physically lift their wooden houses from one location to another. Now the term refers more to volunteering. But amid a global pandemic, when gathering is the main source of infection, historian Greg Bankoff argues that bayanihan no longer works to help Filipinos overcome challenges. Instead, the traditional practices of bayanihan put people at risk of infection. So it was surprising when Duterte announced the Bayanihan to Heal as One Act, a legislation granting him additional authority to combat COVID-19 in the Philippines. # ⚓ Reclaiming_Moral_High_Ground⠀⇛ For example, the words of my hero, Rev. Dr. Martin Luther King Jr. are regularly twisted to advocate positions antithetical to the spiritual guidance he offers. They use his dream that children be judged by the content of their character to justify not more affirmative action, but less; not more accurate history, but less; not more economic equity, but less. We will not be surprised if the US Navy names a warship the USS Martin Luther King. I (Wim) teach the power of nonviolence in my classes and I make sure that I distinguish between the two lanes—principled and pragmatic. # ⚓ Opinion_|_Hopefully_2022_Is_the_Year_the_Two-State_Solution Finally_Dies_in_Washington⠀⇛ Maybe you remember this photo that went round the world four years ago. A Palestinian boy was accused of stonethrowing and marched away blindfolded by a dozen soldiers in Hebron. Fawzi al-Junaidi was 16 and spent three weeks in detention. You can imagine how that experience scarred him. # ⚓ Deepening_Schism:_Trump_Lectures_American_Jews⠀⇛ It should come as no surprise that Trump’s support for Israel has nothing to do with the country’s increasingly suspect claim to being “the only democracy in the Middle East.” Instead, Trump adopted Israel’s discriminatory domestic policies and aggressive foreign goals as causes to sponsor. But then, because those same practices have alienated many Jews, Trump has periodically taken it upon himself to lecture and castigate Jewish Americans—he does this even though he now holds no official office and has been reduced to the “president” of a community sowing lies and harvesting hate. In mid-December, Trump declared that U.S. Jews “don’t like Israel or don’t care about Israel.” This reiterated earlier claims such as “Jews don’t love Israel enough” and “Jewish Americans who vote for Democrats are being disloyal to Israel.” Oddly, Trump’s complaints imply that U.S. Jews are at fault because they do not exhibit sufficient dual loyalty. # ⚓ Decay_in_the_UK⠀⇛ The British nation has just gone through a most painful separation from its nearest neighbors with its exit from Europe on the basis that Britain wanted to be free of the influence of other countries, wanted not to be beholden to any other jurisdictions but its own. It is supremely ironic that in doing so it has jumped out of the frying pan and into the fire, landing in the welcome embrace of the United States. There is no clearer evidence of this than the looting of the Venezuelan gold held in the Bank of England. [1] The Bank of England, an institution that, up to now, has been considered a pillar of probity, indeed a symbol of the economic order, astonishingly has taken it upon itself to appropriate 31 tons of Venezuelan gold entrusted to their vaults by the Venezuelan Central Bank many years ago. Even more surprising, this suspension of the customary contractual arrangements between two central banks, has been validated by British courts by their refusal to recognise that Nicolás Maduro is the duly elected President of Venezuela. Mr. Maduro’s credentials have been formally recognized by the Assembly of the United Nations and specifically by 177 of its 193 members.  He is not some self-declared, unelected pretender with no legitimate claim to the presidency.[2] This was purely political expediency on the part of the courts, not international law nor contractual law. It smacks of sheer piracy, one of the less savory features of British history. # ⚓ Putin_removes_top_investigator_who_oversaw_major_cases against_anti-Kremlin_opposition⠀⇛ Vladimir Putin has dismissed a Federal Investigative Committee senior official who was responsible for several major cases over the past decade, including multiple probes into Russia’s anti-Kremlin opposition. The presidential order releasing 40-year-old Major General Rustam Gabdulin is dated December 28, 2021, but it wasn’t reported by the news media until a few days later. # ⚓ Marjorie_Taylor_Greene’s_Personal_Twitter_Suspended_Over COVID_Disinformation⠀⇛ Greene was temporarily suspended by the platform multiple times in 2021 for similar infractions, after posting false information on COVID-19 and voter fraud. Greene’s congressional account, which at the time of this writing has over 395,000 followers, is still active; the suspended account, @mtgreenee, had over 465,000 followers before its deletion. # ⚓ Marjorie_Taylor_Greene_Permanently_Banned_by_Twitter⠀⇛ Greene is the first member of Congress to be kicked off Twitter for violating its rules. Twitter booted Donald Trump a year ago after he praised the rioters attacking the U.S. Capitol on Jan. 6, 2021, in an attempt to overturn the results of the 2020 election. Greene’s official accounts on Facebook and Instagram remain active. Meta, which owns Facebook and Instagram, did not immediately respond to requests for comment about whether she has violated those services’ policies. # ⚓ Twitter_Permanently_Suspends_Marjorie_Taylor_Greene’s Account⠀⇛ Twitter said that Ms. Greene had a fifth “strike,” which meant that her account will not be restored. The company had issued her a fourth strike in August after she falsely posted that the vaccines were “failing.” Ms. Greene was given a third strike less than a month before that when she had tweeted that Covid-19 was not dangerous and that vaccines should not be mandated. # ⚓ Marjorie_Taylor_Greene’s_Twitter_account_permanently suspended_for_COVID_misinformation⠀⇛ Of note: While the Georgia Republican primarily uses her personal account (@mtgreenee), she does retain access to her official congressional account (@RepMTG). # ⚓ Twitter_blocks_Republican_congresswoman’s_account_for_Covid claims⠀⇛ The Georgia Republican’s account was permanently suspended under the “strike” system Twitter launched in March, which uses artificial intelligence to identify posts about the coronavirus that are misleading enough to cause harm to people. Two or three strikes earn a 12-hour account lock. Four strikes prompt a weeklong suspension. Five or more strikes can get someone permanently removed from Twitter. o § Misinformation/Disinformation⠀➾ # ⚓ Fact_check:_How_do_I_spot_fake_news?⠀⇛ What do these examples have in common? They are fake news — also known as disinformation, which is information that is partially or even completely false and deliberately disseminated to influence political views or generate as many clicks as possible. Fake news often spreads rapidly and has become a huge problem in the digital world. Many users find it difficult to separate from credible information. Here are some pointers on how you can counter the flood of false information. This article is primarily about fake news in written form — but DW will be publishing further articles about fake images and videos. # ⚓ Peter_Navarro:_Trump_Distributed_Bogus_Election_Fraud Research_to_‘Every’_Congressional_Republican⠀⇛ Navarro’s reports include debunked allegations of “outright voter fraud” across six battleground states, including “the large-scale manufacturing of fake ballots, bribery, and dead voters” as well as roundly discredited conspiracy theories alleging sordid connections between voting machine companies, a former Venezuelan dictator, the Clinton Foundation, and George Soros. o § Censorship/Free Speech⠀➾ # ⚓ NY_Senator_Proposes_Ridiculously_Unconstitutional_Social Media_Law_That_Is_The_Mirror_Opposite_Of_Equally Unconstitutional_Laws_In_Florida_&_Texas⠀⇛ We’ve joked in the past about how Republicans hate Section 230 for letting websites moderate too much content, while Democrats hate it for letting websites not moderate enough content. Of course, the reality is they both are mad about content moderation (at different extremes) because they both want to control the internet in a manner that helps “their team.” But both approaches involve unconstitutional desires to interfere with 1st Amendment rights. For Republicans, it’s often the compelled hosting of speech, and for Democrats, it’s often the compelled deletion of speech. Both of those are unconstitutional. # ⚓ France_removes_EU_flag_from_Arc_de_Triomphe_after_right- wing_outrage⠀⇛ Officials took down a temporary European Union flag at the Arc de Triomphe in Paris after it drew fury from conservatives and the far right. The flag was intended to mark the start of France’s six-month EU presidency. # ⚓ Independent_TV_journalist_sentenced_to_five_years_in_prison in_Vietnam⠀⇛ Le Trong Hung, a Vietnamese journalist who often covered corruption for the independent social media TV news channel he helped to found, was sentenced today to five years in prison on a charge of “anti- state propaganda.” Reporters Without Borders (RSF) demands his immediate release and insists that his conviction is overturned. o § Freedom of Information/Freedom of the Press⠀➾ # ⚓ Extraditing_Julian_Assange_Threatens_Journalists Worldwide⠀⇛ Which returns us to the case of Assange, who is being punished for publishing documents that prove that the United States committed war crimes in Afghanistan and Iraq. Daniel Bastard, Asia-Pacific director of Reporters Without Borders, says, “The way the US has been treating Julian Assange is clearly giving a blank cheque to authoritarian governments around the world to crack down on press freedom and force into silence journalists and information providers who displease them.” His view is shared by his colleague Rebecca Vincent, who argues that the persecution of Assange will undermine US efforts to promote the cause of press freedom internationally. “If the Biden administration is serious about its commitment to media freedom, they would lead by example and end this more than decade-long persecution now.” # ⚓ Moscow_uses_‘foreign_agent’_status_to_harass_and_persecute opponents⠀⇛ In addition to Tolokonnikova, four other people – including well-known Russian satirical writer Victor Shenderovich and art collector and op-ed columnist Marat Gelman – were also added to the list by the Russian justice ministry. None of the other new “foreign agents” responded with quite the same sense of provocation as Tolokonnikova, a 32-year-old activist who was already sentenced to prison in 2012 for her participation in an anti-Putin performance at Moscow’s Cathedral of Christ the Saviour. # ⚓ Contempt_proceedings_against_Pakistani_journalists_who investigated_judicial_collusion⠀⇛ “I verified my sources,” Ansar Abbasi, an investigative reporter with The News International newspaper, told RSF. But his insistence that he acted professionally did not suffice to deter High Court Chief Justice Athar Minallah from initiating contempt of court proceedings yesterday against him, against the newspaper’s editor, Aamir Ghauri, and against Mir Shakil-ur-Rehman, the publisher and editor-in-chief of the Jang Group, which owns the newspaper. The proceedings were prompted by an article by Abbasi on 15 November reporting that Rana Shamim, the former chief justice of the Gilgit-Baltistan region, had signed an affidavit stating that, shortly before the July 2018 general elections, he heard Pakistan’s then chief justice, Mian Saqib Nisar, pressure an Islamabad High Court judge to deny bail to leaders of the conservative opposition party, the Pakistan Muslim League-Nawaz (PML-N), who had just been jailed. # ⚓ Nigerian_journalist_to_appear_before_judge_after_being_held arbitrarily_for_two_months⠀⇛ Two requests for his release were denied twice by a judge in November after prosecutors, on each occasion, asked for more time to prepare their case. The hearing that was scheduled for 6 December was postponed for three weeks because of the judge’s absence. “This journalist is being persecuted just for doing his job,” said Arnaud Froger, the head of RSF’s Africa desk. “We call on the Nigerian judicial authorities to release this journalist at once and to stop trying to silence those denouncing the reality of the massacres in Kaduna.” o § Civil Rights/Policing⠀➾ # ⚓ Boston_Police_Department_Used_Forfeiture_Funds_To_Hide Purchase_Of_Surveillance_Tech_From_City_Reps⠀⇛ Asset forfeiture is just cops going shopping for things they want. The analogy — one prompted by statements made by Sean McMurty, the head of a county forfeiture unit in New Jersey — works on multiple levels. McMurtry encouraged cops to seize stuff they wanted or needed. # ⚓ An_Open_Letter_to_the_Chief_Justice_of_India⠀⇛ # ⚓ Taliban_are_revoking_Afghan_women’s_hard-won_rights⠀⇛ A UN report published in July quotes rural women who say the 2020 withdrawal agreement between the United States and Taliban has meant less violence in their areas, greater freedom of movement and reduced anxiety. # ⚓ Court_rules_pot_smell_alone_can’t_justify_warrantless search⠀⇛ The smell of marijuana can be a factor police use to justify a search without a warrant but can’t be the sole basis for it, the Pennsylvania Supreme Court ruled Wednesday. The court said a state police search of a vehicle in Allentown three years ago was conducted only because the troopers smelled marijuana. # ⚓ Pa._Supreme_Court_Rules_Smell_Of_Marijuana_Alone_Not_Enough To_Justify_Warrantless_Search⠀⇛ “The odor of marijuana alone does not amount to probable cause to conduct a warrantless search of the vehicle but, rather, may be considered as a factor in examining the totality of the circumstances,” wrote Chief Justice Max Baer for the majority. # ⚓ Medical_Marijuana’s_Legal_Status_In_PA_Changes_How_Cops_Can Do_Traffic_Stops⠀⇛ As KDKA’s Jon Delano, an attorney, explains, the ruling came from a case out of Allentown and won’t be the last on this subject. Teri Barr was driving late at night with her husband, a medical marijuana user, asleep in the backseat. State police pulled her over for a traffic violation, and when they smelled marijuana, they claimed probable cause to search Barr’s car without a warrant. They found illegal cannabis and a firearm. The state Supreme Court ruled the search was illegal. # ⚓ Pot_smell_alone_can’t_justify_warrantless_search,_Pa._court rules⠀⇛ “Where an officer who smells marijuana also observes its packaging (or lack thereof) and there is no barcode or other identifying information that typically appears on the original packaging from a dispensary, that could be enough to establish probable cause,” Dougherty wrote. o § Internet Policy/Net Neutrality⠀➾ # ⚓ Repealing_Section_230:_Giving_Mark_Zuckerberg_What_He Wants?⠀⇛ I will directly respond to Mike’s column, but first I should probably outline again what I am proposing. I somewhat foolishly assumed that people had read myearlier pieces, and probably even more foolishly assumed anyone remembered them. So, I will first give the highlights of how I would like to see the law restructured and then respond to some of the points made by Mike and others. Narrowing the Scope of 230 # ⚓ Telecom_Monopolies_Are_Exploiting_Crappy_U.S._Broadband Maps_To_Block_Community_Broadband_Grant_Requests⠀⇛ We’ve noted repeatedly that despite a lot of breathless rhetoric about America’s “quest to bridge the digital divide,” U.S. government leaders still don’t actually know where broadband is or isn’t available. Shoddy broadband mapping has generally been a good thing for regional U.S. telecom monopolies, who not only have been allowed to obscure competition gaps (and the high prices and poor service that result), but hoover up an endless gravy train of subsidies and tax breaks for networks that…mysteriously…always wind up half deployed. Our failure to measure deployment success has been painfully, repeatedly exploited. o § Digital Restrictions (DRM)⠀➾ # ⚓ Just_how_big_in_media_does_Apple_want_to_be?⠀⇛ Old-media firms have been puzzled by Apple’s on-off sorties into their territory, which sometimes seem half-hearted. Winning at streaming depends mainly on splurging on content. But deep-pocketed Apple spent just over $2bn on film and tv in 2021, against Amazon’s $9bn and Netflix’s $14bn, estimates Ampere Analysis, a research company. It doesn’t bother to market its efforts much. And although medialand has cooed at the executives that Apple has poached, such as Jamie Erlicht and Zack Van Amburg from Sony and Richard Plepler from HBO, Silicon Valley insiders say that Apple keeps its own top tech people on other projects. o § Monopolies⠀➾ # § Patents⠀➾ # ⚓ “A_Vaccine_for_the_World”:_U.S._Scientists_Develop Low-Cost_Shot_to_Inoculate_Global_South⠀⇛ As COVID cases skyrocket, we speak to Dr. Peter Hotez at Texas Children’s Hospital about the Omicron surge, as well as his groundbreaking work developing an affordable patent-free coronavirus vaccine. Last week the Indian government gave emergency approval to the new low-cost, patent-free vaccine called Corbevax, which Hotez co-created. He says it could reach billions of people across the globe who have lacked access to the more expensive mRNA vaccines produced by Pfizer and Moderna. “We can really make a vaccine for the world,” says Hotez. Hotez also addresses problems stemming from ongoing vaccine hesitancy. # ⚓ US_Courts_Realizing_They_Have_A_Judge_Alan_Albright Sized_Problem_In_Waco⠀⇛ We’ve written a bit about Judge Alan Albright, the only judge in the US district court in Waco, Texas. Judge Albright, a former patent litigator, decided that, upon taking the bench, he’d become the friendliest court for patent cases in the entire country. He even went around advertising that patent plaintiff’s should file there and they’ve taken him up on it in droves. Since he’s the only judge in the district, all the cases get assigned to him and, at last count, more than 25% of new patent cases are all going to him. He’s so busy with patent cases he had to hire a former patent troll lawyer as a magistrate judge to help him out. # § Copyrights⠀➾ # ⚓ David_Bowie’s_Estate_Sells_His_Publishing_Catalog_to Warner_Chappell_(EXCLUSIVE)⠀⇛ The agreement comprises songs from the 26 David Bowie studio albums released during his lifetime, as well as the posthumous studio album release, “Toy,” which comes out on Friday. It also includes the two studio albums from Tin Machine, along with tracks released as singles from soundtracks and other projects. The deal brings nearly all of Bowie’s music into the Warner system. Last September, the estate announced a global partnership with Warner Music that will bring the late artist’s vast recorded-music catalog from 1968 through 2016 under the company’s umbrella; the deal includes Bowie’s albums from 2000 through 2016, which were originally released via Sony Music. News that Bowie’s estate was in negotiations to sell his publishing was broken by Financial Times in October. # ⚓ David_Bowie:_Singer’s_estate_sells_rights_to_his entire_body_of_work_to_WCM⠀⇛ Bowie had already predicted the decline in traditional music sales, telling the New York Times in 2002 that music would become “like running water or electricity”. # ⚓ David_Bowie’s_Estate_Sells_‘Entire_Body_of_Work’_in Massive_Publishing_Deal⠀⇛ In 1997, Bowie attempted to disperse his future royalties to his fans with the advent of “Bowie Bonds,” which raised $55 million and allowed Bowie to repurchase the rights of his master recordings back from a former manager; however, Napster’s arrival and its effect on the music industry impacted the earning potential of the 10-year Bowie Bonds, which were ultimately liquidated in 2007. # ⚓ Huge_New_Global_Anti-Piracy_Coalition_Will_Tackle Manga_&_Anime_Piracy⠀⇛ Japan-based anti-piracy group CODA is building a huge coalition dedicated to tackling illegal online distribution of anime, manga and similar copyrighted content. The International Anti-Piracy Organisation will be compromised of 32 local companies including publisher Kodansha, Hollywood studios plus Netflix, and around 450 companies in China. # ⚓ Sci-Hub’s_Creator_Thinks_Academic_Publishers,_Not_Her Site,_Are_The_Real_Threat_To_Science,_And_Says:_‘Any Law_Against_Knowledge_Is_Fundamentally_Unjust’⠀⇛ A year ago, Techdirt wrote about an important lawsuit in India, brought by the academic publishers Elsevier, Wiley, and the American Chemical Society against Sci-Hub and the similar Libgen. A couple of factors make this particular legal action different from previous attempts to shut down these sites. First, an Indian court ruled in 2016 that photocopying textbooks for educational purposes is fair use; the parallels with SciHub, which provides free access to copies of academic papers for students and researchers who might not otherwise be able to afford the high subscription fees, are clear. Secondly, the person behind Sci-Hub, Alexandra Elbakyan, is fighting, rather than ignoring, the case, as she has done on previous occasions. ╘══════════════════════════════════════════════════════════════════════════════╛ ¶ Lines in total: 5679 ➮ Generation completed at 02:42, i.e. 49 seconds to (re)generate ⟲