<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-11149365</id><updated>2026-03-26T00:17:53.308+00:00</updated><category term="python example"/><category term="algorithms"/><category term="python"/><category term="rosettacode"/><category term="J-language programming-language."/><category term="advocacy"/><category term="awk"/><category term="crunchy python tutorials"/><category term="duck typing"/><category term="duck typing type python"/><category term="europython EDA python"/><category term="maths Kaprekar"/><category term="meritocracy"/><category term="nice community"/><category term="python example training"/><category term="python truth-table boolean"/><category term="script"/><category term="wide finder"/><title type='text'>Go deh!</title><subtitle type='html'>Mainly Tech projects on Python and Electronic Design Automation.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default?alt=atom'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default?alt=atom&amp;start-index=26&amp;max-results=25'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>260</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11149365.post-7018584544614148995</id><published>2025-09-14T12:51:00.003+01:00</published><updated>2025-09-19T07:28:49.287+01:00</updated><title type='text'>From all truths to (ir)relevancies</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI6Tg5CMmhqxo3YLYzw2sarTsTkBTDxuJ8nyTzdwG-C-yFwSB2Z-nu8EJcmRQM0Lw-XcY3obH4uBXrbaf9NXblIdLdcIM4lUfhDU8llOBIzzBdOJuh9TTJOhIaJXDiibJ9Tt8ZNV4ag9ee8Vb7lSs3oqy4w-5R4GAEgJvi3MThZYt-BXgUnWgt/s1024/Gemini_Generated_Image_ahywcpahywcpahyw.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1024&quot; data-original-width=&quot;1024&quot; height=&quot;508&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI6Tg5CMmhqxo3YLYzw2sarTsTkBTDxuJ8nyTzdwG-C-yFwSB2Z-nu8EJcmRQM0Lw-XcY3obH4uBXrbaf9NXblIdLdcIM4lUfhDU8llOBIzzBdOJuh9TTJOhIaJXDiibJ9Tt8ZNV4ag9ee8Vb7lSs3oqy4w-5R4GAEgJvi3MThZYt-BXgUnWgt/w508-h508/Gemini_Generated_Image_ahywcpahywcpahyw.png&quot; width=&quot;508&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div _ngcontent-ng-c2711534780=&quot;&quot; class=&quot;markdown markdown-main-panel enable-updated-hr-color&quot; dir=&quot;ltr&quot; id=&quot;model-response-message-contentr_fbb1854db7be6292&quot; style=&quot;--animation-duration: 400ms; --fade-animation-function: linear; font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;div class=&quot;attachment-container generated-images&quot; style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;div _ngcontent-ng-c224903204=&quot;&quot; class=&quot;loader&quot; style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;Following up on &lt;a href=&quot;https://paddy3118.blogspot.com/2025/07/all-truth-in-truthtables.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;my previous post&lt;/a&gt; about truth tables,&amp;nbsp;I now ask a subtler question: which inputs actually matter? Some variables, though present, leave no trace on the output. In this post, I uncover those quiet bits — the irrelevant inputs — and learn how to spot them with precision.&lt;/p&gt;&lt;h4 style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px; text-align: left;&quot;&gt;Building on the previous&lt;/h4&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;The previous post showed that for a given number of inputs, there is a finite, but rapidly growing, number of possible truth tables. For two inputs, there are 16. For three inputs, there are 256. This leads to a powerful idea: we can create a standardized format for all truth tables and uniquely identify the parts in each one.&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;font-family: Google Sans, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;The Standardized Truth Table (STT) Format&lt;/h3&gt;&lt;h3 style=&quot;font-family: Google Sans, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&amp;nbsp;&lt;/h3&gt;&lt;h3 style=&quot;font-family: Google Sans, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #800180; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;&lt;b&gt;i[1] i[0]&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;   &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #274e13; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;=================&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  &lt;b&gt;0    0&lt;/b&gt; &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;   &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #04ff00; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt; &lt;b&gt; 0    1&lt;/b&gt;  &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;   &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #04ff00; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;1    0 &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;&lt;b&gt;:&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;   &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #04ff00; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  &lt;b&gt;1    1 &lt;/b&gt; &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;   &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #04ff00; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;&lt;b&gt;1&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  &lt;/span&gt;&amp;nbsp;&lt;/h3&gt;&lt;p style=&quot;font-family: Google Sans, sans-serif; line-height: 1.15; margin-top: 0px; text-align: left;&quot;&gt;&lt;u&gt;&lt;b&gt;Colour Key&lt;/b&gt;&lt;/u&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li style=&quot;font-family: Google Sans, sans-serif; line-height: 1.15; margin-top: 0px; text-align: left;&quot;&gt;&lt;span style=&quot;color: #800180;&quot;&gt;&lt;b&gt;Inputs&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;font-family: Google Sans, sans-serif; line-height: 1.15; margin-top: 0px; text-align: left;&quot;&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;&lt;b&gt;Input count&lt;/b&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style=&quot;font-family: Google Sans, sans-serif; line-height: 1.15; margin-top: 0px; text-align: left;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;b&gt;Result, r&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;&lt;li style=&quot;font-family: Google Sans, sans-serif; line-height: 1.15; margin-top: 0px; text-align: left;&quot;&gt;&lt;span style=&quot;color: #04ff00;&quot;&gt;&lt;b&gt;Result vector: 0001&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;We have a standardized truth table with&lt;span style=&quot;color: #800180;&quot;&gt;&lt;b&gt; &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.6595em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; inputs&lt;/b&gt;&lt;/span&gt;. Each row in the inputs section of the truth table is an increasing binary count from &lt;b&gt;&lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.6444em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;color: #2b00fe; line-height: 1.15; margin-top: 0px;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt; to &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.908em; line-height: 1.15; margin-top: 0px; vertical-align: -0.0833em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;2**&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.8247em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.05em; margin-top: 0px; top: -3.063em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2222em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mbin&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;−&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2222em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.6444em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;. The result column for the truth table has &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.8247em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;2**&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.8247em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.05em; margin-top: 0px; top: -3.063em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; rows, leading to &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.9945em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.9945em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.05em; margin-top: 0px; top: -3.063em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mopen mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;**(&lt;/span&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;2**&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.9021em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0714em; margin-top: 0px; top: -2.931em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.5em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size3 size1 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; different possible truth table result vectors for &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.6595em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; inputs.&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;Any one possible result,&lt;span style=&quot;color: #38761d;&quot;&gt;&lt;b&gt; &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.4306em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;, of the standardized truth table is read as the binary bits of the output going from the topmost row (where the inputs are all zero) down to the bottom-most row, in order. This single binary number, the &quot;result number&quot; or &lt;span style=&quot;color: #04ff00;&quot;&gt;&lt;b&gt;vector&lt;/b&gt;&lt;/span&gt;, uniquely identifies the truth table and the boolean function it represents.&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;font-family: Google Sans, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;Irrelevant Variables in Boolean Expressions&lt;/h3&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;A variable in a boolean expression is considered irrelevant if its value has no effect on the final output. In a truth table, this means that &lt;b&gt;&lt;i&gt;changing the value of that input variable while all other inputs remain the same does not change the output&lt;/i&gt;&lt;/b&gt;.&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;While this is easy to understand, it can be difficult to spot for complex functions. This is where the standardized truth table format, STT, comes in handy.&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;font-family: Google Sans, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;Irrelevancy Calculation&lt;/h3&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;For an &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.6595em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;-input truth table with a &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.9945em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;2**&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.9945em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.05em; margin-top: 0px; top: -3.063em;&quot;&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;2**&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.9021em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0714em; margin-top: 0px; top: -2.931em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.5em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size3 size1 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;bit result, &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.4306em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, we can efficiently check for irrelevant variables. The key insight is that&lt;i&gt; for any single input variable, say &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.8095em; line-height: 1.15; margin-top: 0px; vertical-align: -0.15em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.1514em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: 0em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;[n]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, the other input bits change in the exact same order when &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.8095em; line-height: 1.15; margin-top: 0px; vertical-align: -0.15em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.1514em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: 0em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;[n]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2778em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2778em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.6444em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; as they do when &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.8095em; line-height: 1.15; margin-top: 0px; vertical-align: -0.15em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i[&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.1514em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: 0em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;n]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2778em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2778em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.6444em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, in the input count region of the STT&lt;/i&gt;.&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;Therefore, if the result bits for the rows where &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.8095em; line-height: 1.15; margin-top: 0px; vertical-align: -0.15em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.1514em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: 0em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;[n]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2778em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2778em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.6444em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; are the same as the result bits for the rows where &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.8095em; line-height: 1.15; margin-top: 0px; vertical-align: -0.15em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.1514em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: 0em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;[n]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2778em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2778em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.6444em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, then the input variable &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.8095em; line-height: 1.15; margin-top: 0px; vertical-align: -0.15em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i[&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.1514em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: 0em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;n]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; has no effect on the output and is therefore &lt;b&gt;&lt;i&gt;irrelevant&lt;/i&gt;&lt;/b&gt;.&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;Let&#39;s illustrate with an example for a 3-input truth table.&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;b style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;Example&lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;i[2]&lt;/th&gt;
&lt;th&gt;i[1]&lt;/th&gt;
&lt;th&gt;i[0]&lt;/th&gt;
&lt;th&gt;:&lt;/th&gt;
&lt;th align=&quot;left&quot;&gt;Output&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;:&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;r0​&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;:&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;r1​&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;:&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;r2​&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;:&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;r3​&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;:&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;r4​&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;:&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;r5​&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;:&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;r6​&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;:&lt;/td&gt;
&lt;td align=&quot;left&quot;&gt;r7​&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;Consider checking if &lt;b&gt;&lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 1em; line-height: 1.15; margin-top: 0px; vertical-align: -0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mopen&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mclose&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt; is irrelevant. The values of the other inputs (&lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 1em; line-height: 1.15; margin-top: 0px; vertical-align: -0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mopen&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;mclose&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; and &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 1em; line-height: 1.15; margin-top: 0px; vertical-align: -0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mopen&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;mclose&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;) follow the sequence 00, 01, 10, 11 both when &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 1em; line-height: 1.15; margin-top: 0px; vertical-align: -0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mopen&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mclose&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; is 0 and when &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 1em; line-height: 1.15; margin-top: 0px; vertical-align: -0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mopen&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mclose&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; is 1.&lt;/p&gt;&lt;ul style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px; padding-inline-start: 32px;&quot;&gt;&lt;li style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;When&lt;b&gt; &lt;/b&gt;&lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;b&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 1em; line-height: 1.15; margin-top: 0px; vertical-align: -0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;mopen&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mclose&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2778em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2778em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.6444em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, the corresponding output bits are &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.625em; line-height: 1.15; margin-top: 0px; vertical-align: -0.1944em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.1667em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.1667em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.1667em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;When&lt;b&gt; &lt;/b&gt;&lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;b&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 1em; line-height: 1.15; margin-top: 0px; vertical-align: -0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;/b&gt;&lt;span class=&quot;mopen&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mclose&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2778em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mrel&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.2778em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.6444em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, the corresponding output bits are &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.625em; line-height: 1.15; margin-top: 0px; vertical-align: -0.1944em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.1667em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.1667em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;6&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.1667em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;7&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;If the sequence of bits &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 1em; line-height: 1.15; margin-top: 0px; vertical-align: -0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mopen&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.1667em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.1667em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.1667em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;5&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; is identical to the sequence of bits &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 1em; line-height: 1.15; margin-top: 0px; vertical-align: -0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mopen&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.1667em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.1667em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;6&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mpunct&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mspace&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.1667em; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-right: 0.0278em; margin-top: 0px;&quot;&gt;r&lt;/span&gt;&lt;span class=&quot;msupsub&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-t vlist-t2&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.3011em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-left: -0.0278em; margin-right: 0.05em; margin-top: 0px; top: -2.55em;&quot;&gt;&lt;span class=&quot;pstrut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 2.7em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;sizing reset-size6 size3 mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;mord mtight&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;7&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-s&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;​&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;vlist-r&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;vlist&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 0.15em; line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mclose&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, then the input variable &lt;span class=&quot;math-inline&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;katex&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span aria-hidden=&quot;true&quot; class=&quot;katex-html&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;base&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;&lt;span class=&quot;strut&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;height: 1em; line-height: 1.15; margin-top: 0px; vertical-align: -0.25em;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;mord mathnormal&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;mopen&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mord&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;mclose&quot; face=&quot;Google Sans Text, sans-serif !important&quot; style=&quot;line-height: 1.15; margin-top: 0px;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; has no effect on the output and is therefore irrelevant.&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;This method allows for a very efficient, algorithmic approach to simplifying boolean expressions.&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;collections&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;defaultdict&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;pprint&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;is_irrelevant&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;considered&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Determine whether a specific input variable is irrelevant to the output of the truth table.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Args:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; considered: Index of the input variable to test.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; input_count: Total number of input variables.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result_vector: Integer representing the output bits of the truth table.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; True if the input is irrelevant, False otherwise.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;considered_to_resultbits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: [], &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: []}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;in_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;considered_bit&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;in_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;considered&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;resultbit&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;in_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;considered_to_resultbits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;considered_bit&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;resultbit&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;considered_to_resultbits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;considered_to_resultbits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;find_irrelevant_ttable_inputs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Identify which input variables are irrelevant in a standardized truth table.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Args:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; input_count: Number of input variables.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result_vector: Integer representing the output bits of the truth table.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; List of input indices that are irrelevant.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrelevant&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;is_irrelevant&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrelevant&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px; text-align: left;&quot;&gt;Relevant and irrelevant result vectors for STT&#39;s&lt;/h3&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px; text-align: left;&quot;&gt;I am interested in the truthtables/boolean expressions of an increasing number of inputs. Previously I was taking all the zero input STT, then all the 1-input, all the 2-input, ...&amp;nbsp;&lt;br /&gt;That had repetitions and irrelevancies. I can now take just the relevant result vectors for each case, or, take the maximum inputs I can handle and sort the result vectors so that those with the most irrelevancies for that maximum number of inputs, come first.&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px; text-align: left;&quot;&gt;Here&#39;s the code I used to investigate these properties of irrelevances:&lt;/p&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print_STT_results_sensitive_to_inputs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Print a summary of irrelevance patterns across all standardized truth tables (STTs)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; for input counts from 0 up to `max_input_count - 1`.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; For each input count `i`, the function:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Computes all possible result vectors (2**(2**i))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Identifies which inputs are irrelevant for each result&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Summarizes how many result vectors have at least one irrelevant input&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Prints spacing patterns (diffs) between result indices with irrelevance&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; - Checks whether irrelevance indices for input count `i` begin with those from `i-1`&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Args:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; max_input_count: The exclusive upper bound on input counts to analyze.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;INPUTS = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;==========&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;total_possible_tt_results =&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;is_irrelevant&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;txt&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;pprint&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pformat&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;compact&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;indent&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;replace&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;txt&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;txt&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;replace&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;{&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;{&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp; &#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#print(&quot; &amp;nbsp;result2irrelevances = &quot;, txt)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;k&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;k&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;items&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;v&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrelevances&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;relevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;relevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;chop_line&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;format_irrelevance_table_full&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;220&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;STT Result Irrelevance vs Input Table&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;table&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# First-order differences between irrelevance indices&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;diff0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;j&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;j&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;j&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#print(f&quot; &amp;nbsp; &amp;nbsp;{diff0 = }&quot;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Second-order differences between irrelevance indices&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;diff1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;diff0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;j&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;diff0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;j&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;j&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;diff0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#print(f&quot; &amp;nbsp; &amp;nbsp;{diff1 = }&quot;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Irrelevance indices reflected about the center of the r count?&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;is_irrelevance_reflected&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# True so far&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Irrelevances for `i` inputs begin with those from `i-1`?&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;previous_prefixed&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;all&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;:=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;][:&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;previous_prefixed&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# True so far&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;is_irrelevance_reflected&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ins2irrel&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;dict&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]]) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Check whether irrelevance indices are symmetric about the center of the result vector space.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; For each input count `i`, the result vector space has size 2**(2**i).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; This function checks whether for every irrelevance index `r &amp;lt; half_range`,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; its mirror index `full_range - 1 - r` is also marked as irrelevant.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Args:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ins2irrel: Mapping from input count to list of result indices with irrelevance.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; True if all irrelevance sets are symmetric about the center, False otherwise.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ins2irrel&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;items&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrel_set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;full_range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;imax&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;half_range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;full_range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;all&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;full_range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrel_set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrel_set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;half_range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;format_irrelevance_table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;dict&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Create a compact table showing which inputs are irrelevant for each result vector `r`.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Each column is sized to match the width of its corresponding `r` value.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Only includes columns for `r` values that have at least one irrelevant input.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Each row corresponds to an input index, with &#39;@&#39; if that input is irrelevant for that `r`, else blank.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A tuple of (plain text table string, markdown table string)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;msg&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;No inputs to analyze (input_count = 0).&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;| Input | (none) |&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;|-------|--------|&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;| (none) | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;msg&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;md&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;filtered_r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrels&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;items&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irrels&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;filtered_r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;msg&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;No irrelevant inputs found for any result vector.&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;| Input | (none) |&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;|-------|--------|&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;| i[&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;] | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;msg&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;md&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Determine individual column widths based on r string length&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_labels&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;filtered_r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_widths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_labels&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Header row&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;rjust&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_labels&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_widths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;| Input | &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; | &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;rjust&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_labels&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_widths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; |&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Markdown separator row&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;separator_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;|-------|&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;|&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;-&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_widths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;|&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Rows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;i[&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;ljust&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;@&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; .&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;rjust&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;filtered_r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_widths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;| &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;i[&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;ljust&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; | &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; | &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;@&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; .&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;rjust&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;filtered_r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_widths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; |&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;plain_table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;([&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;markdown_table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;([&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;separator_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;plain_table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;markdown_table&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;format_irrelevance_table_full&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;dict&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Create a full table showing which inputs are irrelevant for each result vector `r`.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Includes columns for all result vector indices (0 to max(r)).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Each row corresponds to an input index, with &#39;@&#39; if that input is irrelevant for that `r`, else blank.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A tuple of (plain text table string, markdown table string)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;msg&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;No inputs to analyze (input_count = 0).&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;| Input | (none) |&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;|-------|--------|&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;| (none) | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;msg&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;md&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sorted&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;keys&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;())&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_labels&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_widths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_labels&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Header row&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;rjust&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_labels&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_widths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;| Input | &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; | &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;rjust&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_labels&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_widths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; |&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Markdown separator row&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;separator_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;|-------|&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;|&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;-&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_widths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;|&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Rows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;i[&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;ljust&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;label&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;@&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; .&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;rjust&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, []) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_widths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;| &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;i[&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;ljust&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; | &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; | &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;@&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; .&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;rjust&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result2irrelevances&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;get&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, []) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_widths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; |&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;plain_table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;([&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows_plain&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;markdown_table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;([&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;separator_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows_md&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;plain_table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;markdown_table&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;chop_line&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;table_text&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_length&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Chop each line in a multi-line string to a maximum length.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; If a line exceeds `max_length`, it is truncated to `max_length - 3` and &#39;...&#39; is appended.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Args:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; table_text: The full multi-line string to process.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; max_length: The maximum allowed line length.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A new multi-line string with long lines chopped and marked with &#39;...&#39;.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;chopped_lines&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;line&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;table_text&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;splitlines&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;line&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_length&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;chopped_lines&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;line&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[:&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_length&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;...&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;chopped_lines&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;line&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;chopped_lines&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print_STT_results_sensitive_to_inputs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;font-family: Google Sans Text, sans-serif; line-height: 1.15; margin-top: 0px; text-align: left;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Irrelevances: Output&lt;/h3&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;INPUTS = 0&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;==========&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; total_possible_tt_results = 2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; irrelevances = []&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; len(irrelevances) = 0, relevances = 2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;STT Result Irrelevance vs Input Table&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;No inputs to analyze (input_count = 0).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;INPUTS = 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;==========&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; total_possible_tt_results = 4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; irrelevances = [0, 3]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; len(irrelevances) = 2, relevances = 2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;STT Result Irrelevance vs Input Table&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 1 2 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;i[0] &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; @&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;INPUTS = 2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;==========&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; total_possible_tt_results = 16&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; irrelevances = [0, 3, 5, 10, 12, 15]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; len(irrelevances) = 6, relevances = 10&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;STT Result Irrelevance vs Input Table&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;i[0] &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; @ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;i[1] &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;INPUTS = 3&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;==========&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; total_possible_tt_results = 256&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; irrelevances = [0, 3, 5, 10, 12, 15, 17, 34, 48, 51, 60, 63, 68, 80, 85, 90, 95, 102, 119, 136, 153, 160, 165, 170, 175, 187, 192, 195, 204, 207, 221, 238, 240, 243, 245, 250, 252, 255]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; len(irrelevances) = 38, relevances = 218&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;STT Result Irrelevance vs Input Table&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 ...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;i[0] &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; @ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;i[1] &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;i[2] &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;INPUTS = 4&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;==========&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; total_possible_tt_results = 65536&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; irrelevances = [0, 3, 5, 10, 12, 15, 17, 34, 48, 51, 60, 63, 68, 80, 85, 90, 95, 102, 119, 136, 153, 160, 165, 170, 175, 187, 192, 195, 204, 207, 221, 238, 240, 243, 245, 250, 252, 255, 257, 514, 768, 771, 780, 783, 816, 819, 828, 831, 960, 963, 972, 975, 1008, 1011, 1020, 1023, 1028, 1280, 1285, 1290, 1295, 1360, 1365, 1370, 1375, 1440, 1445, 1450, 1455, 1520, 1525, 1530, 1535, 1542, 1799, 2056, 2313, 2560, 2565, 2570, 2575, 2640, 2645, 2650, 2655, 2720, 2725, 2730, 2735, 2800, 2805, 2810, 2815, 2827, 3072, 3075, 3084, 3087, 3120, 3123, 3132, 3135, 3264, 3267, 3276, 3279, 3312, 3315, 3324, 3327, 3341, 3598, 3840, 3843, 3845, 3850, 3852, 3855, 3888, 3891, 3900, 3903, 3920, 3925, 3930, 3935, 4000, 4005, 4010, 4015, 4032, 4035, 4044, 4047, 4080, 4083, 4085, 4090, 4092, 4095, 4112, 4352, 4369, 4386, 4403, 4420, 4437, 4454, 4471, 4488, 4505, 4522, 4539, 4556, 4573, 4590, 4607, 4626, 4883, 5140, 5397, 5654, 5911, 6168, 6425, 6682, 6939, 7196, 7453, 7710, 7967, 8224, 8481, 8704, 8721, 8738, 8755, 8772, 8789, 8806, 8823, 8840, 8857, 8874, 8891, 8908, 8925, 8942, 8959, 8995, 9252, 9509, 9766, 10023, 10280, 10537, 10794, 11051, 11308, 11565, 11822, 12079, 12288, 12291, 12300, 12303, 12336, 12339, 12348, 12351, 12480, 12483, 12492, 12495, 12528, 12531, 12540, 12543, 12593, 12850, 13056, 13059, 13068, 13071, 13073, 13090, 13104, 13107, 13116, 13119, 13124, 13141, 13158, 13175, 13192, 13209, 13226, 13243, 13248, 13251, 13260, 13263, 13277, 13294, 13296, 13299, 13308, 13311, 13364, 13621, 13878, 14135, 14392, 14649, 14906, 15163, 15360, 15363, 15372, 15375, 15408, 15411, 15420, 15423, 15552, 15555, 15564, 15567, 15600, 15603, 15612, 15615, 15677, 15934, 16128, 16131, 16140, 16143, 16176, 16179, 16188, 16191, 16320, 16323, 16332, 16335, 16368, 16371, 16380, 16383, 16448, 16705, 16962, 17219, 17408, 17425, 17442, 17459, 17476, 17493, 17510, 17527, 17544, 17561, 17578, 17595, 17612, 17629, 17646, 17663, 17733, 17990, 18247, 18504, 18761, 19018, 19275, 19532, 19789, 20046, 20303, 20480, 20485, 20490, 20495, 20560, 20565, 20570, 20575, 20640, 20645, 20650, 20655, 20720, 20725, 20730, 20735, 20817, 21074, 21331, 21588, 21760, 21765, 21770, 21775, 21777, 21794, 21811, 21828, 21840, 21845, 21850, 21855, 21862, 21879, 21896, 21913, 21920, 21925, 21930, 21935, 21947, 21964, 21981, 21998, 22000, 22005, 22010, 22015, 22102, 22359, 22616, 22873, 23040, 23045, 23050, 23055, 23120, 23125, 23130, 23135, 23200, 23205, 23210, 23215, 23280, 23285, 23290, 23295, 23387, 23644, 23901, 24158, 24320, 24325, 24330, 24335, 24400, 24405, 24410, 24415, 24480, 24485, 24490, 24495, 24560, 24565, 24570, 24575, 24672, 24929, 25186, 25443, 25700, 25957, 26112, 26129, 26146, 26163, 26180, 26197, 26214, 26231, 26248, 26265, 26282, 26299, 26316, 26333, 26350, 26367, 26471, 26728, 26985, 27242, 27499, 27756, 28013, 28270, 28527, 28784, 29041, 29298, 29555, 29812, 30069, 30326, 30464, 30481, 30498, 30515, 30532, 30549, 30566, 30583, 30600, 30617, 30634, 30651, 30668, 30685, 30702, 30719, 30840, 31097, 31354, 31611, 31868, 32125, 32382, 32639, 32896, 33153, 33410, 33667, 33924, 34181, 34438, 34695, 34816, 34833, 34850, 34867, 34884, 34901, 34918, 34935, 34952, 34969, 34986, 35003, 35020, 35037, 35054, 35071, 35209, 35466, 35723, 35980, 36237, 36494, 36751, 37008, 37265, 37522, 37779, 38036, 38293, 38550, 38807, 39064, 39168, 39185, 39202, 39219, 39236, 39253, 39270, 39287, 39304, 39321, 39338, 39355, 39372, 39389, 39406, 39423, 39578, 39835, 40092, 40349, 40606, 40863, 40960, 40965, 40970, 40975, 41040, 41045, 41050, 41055, 41120, 41125, 41130, 41135, 41200, 41205, 41210, 41215, 41377, 41634, 41891, 42148, 42240, 42245, 42250, 42255, 42320, 42325, 42330, 42335, 42400, 42405, 42410, 42415, 42480, 42485, 42490, 42495, 42662, 42919, 43176, 43433, 43520, 43525, 43530, 43535, 43537, 43554, 43571, 43588, 43600, 43605, 43610, 43615, 43622, 43639, 43656, 43673, 43680, 43685, 43690, 43695, 43707, 43724, 43741, 43758, 43760, 43765, 43770, 43775, 43947, 44204, 44461, 44718, 44800, 44805, 44810, 44815, 44880, 44885, 44890, 44895, 44960, 44965, 44970, 44975, 45040, 45045, 45050, 45055, 45232, 45489, 45746, 46003, 46260, 46517, 46774, 47031, 47288, 47545, 47802, 47872, 47889, 47906, 47923, 47940, 47957, 47974, 47991, 48008, 48025, 48042, 48059, 48076, 48093, 48110, 48127, 48316, 48573, 48830, 49087, 49152, 49155, 49164, 49167, 49200, 49203, 49212, 49215, 49344, 49347, 49356, 49359, 49392, 49395, 49404, 49407, 49601, 49858, 49920, 49923, 49932, 49935, 49968, 49971, 49980, 49983, 50112, 50115, 50124, 50127, 50160, 50163, 50172, 50175, 50372, 50629, 50886, 51143, 51400, 51657, 51914, 52171, 52224, 52227, 52236, 52239, 52241, 52258, 52272, 52275, 52284, 52287, 52292, 52309, 52326, 52343, 52360, 52377, 52394, 52411, 52416, 52419, 52428, 52431, 52445, 52462, 52464, 52467, 52476, 52479, 52685, 52942, 52992, 52995, 53004, 53007, 53040, 53043, 53052, 53055, 53184, 53187, 53196, 53199, 53232, 53235, 53244, 53247, 53456, 53713, 53970, 54227, 54484, 54741, 54998, 55255, 55512, 55769, 56026, 56283, 56540, 56576, 56593, 56610, 56627, 56644, 56661, 56678, 56695, 56712, 56729, 56746, 56763, 56780, 56797, 56814, 56831, 57054, 57311, 57568, 57825, 58082, 58339, 58596, 58853, 59110, 59367, 59624, 59881, 60138, 60395, 60652, 60909, 60928, 60945, 60962, 60979, 60996, 61013, 61030, 61047, 61064, 61081, 61098, 61115, 61132, 61149, 61166, 61183, 61423, 61440, 61443, 61445, 61450, 61452, 61455, 61488, 61491, 61500, 61503, 61520, 61525, 61530, 61535, 61600, 61605, 61610, 61615, 61632, 61635, 61644, 61647, 61680, 61683, 61685, 61690, 61692, 61695, 61937, 62194, 62208, 62211, 62220, 62223, 62256, 62259, 62268, 62271, 62400, 62403, 62412, 62415, 62448, 62451, 62460, 62463, 62708, 62720, 62725, 62730, 62735, 62800, 62805, 62810, 62815, 62880, 62885, 62890, 62895, 62960, 62965, 62970, 62975, 63222, 63479, 63736, 63993, 64000, 64005, 64010, 64015, 64080, 64085, 64090, 64095, 64160, 64165, 64170, 64175, 64240, 64245, 64250, 64255, 64507, 64512, 64515, 64524, 64527, 64560, 64563, 64572, 64575, 64704, 64707, 64716, 64719, 64752, 64755, 64764, 64767, 65021, 65278, 65280, 65283, 65285, 65290, 65292, 65295, 65297, 65314, 65328, 65331, 65340, 65343, 65348, 65360, 65365, 65370, 65375, 65382, 65399, 65416, 65433, 65440, 65445, 65450, 65455, 65467, 65472, 65475, 65484, 65487, 65501, 65518, 65520, 65523, 65525, 65530, 65532, 65535]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; len(irrelevances) = 942, relevances = 64594&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;STT Result Irrelevance vs Input Table&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 ...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;i[0] &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; @ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;i[1] &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;i[2] &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; @ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;i[3] &amp;nbsp; &amp;nbsp;@ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Irrelevance indices reflected about the center of the r count?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; True&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Irrelevances for `i` inputs begin with those from `i-1`?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; True&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;OEIS&lt;/h3&gt;&lt;p&gt;The sequence of relevances: 2, 2, 10, 218, 64594 is already present as &lt;a href=&quot;https://oeis.org/A000371&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;A000371 &lt;/a&gt;on OEIS.&lt;/p&gt;&lt;p&gt;The sequences of irelevances: 0, 2, 6, 38, 942 had no exact match although &lt;a href=&quot;https://oeis.org/search?q=2%2c6%2c38%2c942%20id:A005530&quot; target=&quot;_blank&quot;&gt;A005530 &lt;/a&gt;came close&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;END.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/7018584544614148995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2025/09/from-all-truths-to-irrelevancies.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/7018584544614148995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/7018584544614148995'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2025/09/from-all-truths-to-irrelevancies.html' title='From all truths to (ir)relevancies'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhI6Tg5CMmhqxo3YLYzw2sarTsTkBTDxuJ8nyTzdwG-C-yFwSB2Z-nu8EJcmRQM0Lw-XcY3obH4uBXrbaf9NXblIdLdcIM4lUfhDU8llOBIzzBdOJuh9TTJOhIaJXDiibJ9Tt8ZNV4ag9ee8Vb7lSs3oqy4w-5R4GAEgJvi3MThZYt-BXgUnWgt/s72-w508-h508-c/Gemini_Generated_Image_ahywcpahywcpahyw.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-3066718111574923076</id><published>2025-08-10T17:22:00.001+01:00</published><updated>2025-08-10T17:22:52.228+01:00</updated><title type='text'>Go Deh celebrations!</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghCYUXmcR6-kfrZKbVof_gfZfqHnOE_cfxQx9l6Iii9pjsuFXpRuudMkEU5_gjPHNfsa34AFbNCefCkvGwfEOaCKGqXGzQfTZTsdoG9YUXkj9oGDfRoozESPySqOszV5PquQUtHDHG2-2snTbL3TAdo1FLEfeemLpuxJXHU7NFbUPKpagEmM48/s1024/A%20jubilant%20Jamaican%202.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1024&quot; data-original-width=&quot;1024&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghCYUXmcR6-kfrZKbVof_gfZfqHnOE_cfxQx9l6Iii9pjsuFXpRuudMkEU5_gjPHNfsa34AFbNCefCkvGwfEOaCKGqXGzQfTZTsdoG9YUXkj9oGDfRoozESPySqOszV5PquQUtHDHG2-2snTbL3TAdo1FLEfeemLpuxJXHU7NFbUPKpagEmM48/s320/A%20jubilant%20Jamaican%202.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_z_l56oVliXpceL0jsn8lbb_wjVN9KF7c4vD0IAzKv76gWTvREQCqDvXJQa-Y7UlxdTCUbSYja7bSwPmRvf5yTo_E4sJW61CZTNdC2-utWn28tI0RuEPhRCbQqfb73_LddRGry9Sa7bNhAp6eDx8x4clBJAkm3__Tjr39byNDqiRlNdJFkQAi/s2048/Gemini_Generated_Image_pvdkv4pvdkv4pvdk.png&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2048&quot; data-original-width=&quot;2048&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_z_l56oVliXpceL0jsn8lbb_wjVN9KF7c4vD0IAzKv76gWTvREQCqDvXJQa-Y7UlxdTCUbSYja7bSwPmRvf5yTo_E4sJW61CZTNdC2-utWn28tI0RuEPhRCbQqfb73_LddRGry9Sa7bNhAp6eDx8x4clBJAkm3__Tjr39byNDqiRlNdJFkQAi/s320/Gemini_Generated_Image_pvdkv4pvdkv4pvdk.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;This year it&#39;s:&amp;nbsp;&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;&lt;b&gt;Fifty years&lt;/b&gt; since I first learned to program!&lt;/li&gt;&lt;li&gt;&lt;b&gt;Thirty years&lt;/b&gt; of programming Python!&lt;/li&gt;&lt;li&gt;And In July, this blog topped &lt;b&gt;one million views&lt;/b&gt; since its inception!&amp;nbsp;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;I first learned to program&lt;/i&gt;&lt;/b&gt; by crashing an after-school class I saw the private school geeks disappearing to from Central library&amp;nbsp; in Nottingham. One of the Trent Polytechnic lecturers I now see sometimes on Computerphile - he mentioned how the council payed something towards the cost of the computer on the understanding that they have a class for students, but &lt;i&gt;somehow &lt;/i&gt;only the guys from the fee paying Nottingham High School for Boys seemed to get the memo, hmm.&lt;br /&gt;That was s long ago, Paper tape and teletypes.&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;Forward to 1995&lt;/i&gt;&lt;/b&gt;: A new job, amongst engineers where the few of them that could program, programmed in Perl. Perl was big within the chip design industry back then, but Aargh! I thought Perl was awful - for me it did not gel! I went looking for an alternative and found this little known language called Python.&amp;nbsp;&lt;br /&gt;The community on comp.lang.python seemed so nice, they valued readability and &quot;One obvious way to do it&quot; over Perls more than one way. I was hooked, and did my little bit of evangelizing. (OK, I was known as that Python guy - but they couldn&#39;t fault the code).&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;Was it eleven years ago that I started the blog?&lt;/i&gt;&lt;/b&gt; It has been one of two main places where I have shown my work - the other is on site&lt;a href=&quot;https://rosettacode.org/wiki/User:Paddy3118&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt; rosettacode.org&lt;/a&gt; which, no doubt, has been scraped to death for AI&#39;s - it is one of the few places online showing different programming languages solving the same task. I wrote 199 of those RosettaCode tasks over the years, and many more of the examples solving those tasks; (mainly&amp;nbsp; Python and Awk language examples). Most, if not all of those task descriptions were my own work - not copied off other sites - if there are similarities in text then they probably copied from me or the task is so simple that there is going to be convergence).&lt;/p&gt;&lt;p&gt;&amp;nbsp;Lately, as you can tell from the pictures above, I have been dabbling in AI. AI &lt;b&gt;&lt;i&gt;is&lt;/i&gt;&lt;/b&gt; the future, but who knows how AI will affect that future? I am a programmer who can describe coding tasks to other people for them to complete the task. AI is an ever changing field, I think that I am learning to use it better, as it gets better too - I am both more and less precise in my prompting and finding out what the AI remembers and does best. I experiment with the&amp;nbsp; amount of description in the code to cut and paste into new sessions to cut the mistakes and continue from a clean base. I experiment with coding from pseudo-code. I have found that some abilities are universal: when exploring the use of SQL - which I am a hunt-n-peck coder in, I can still spot redundancies &quot;You recompute the first query as part of the second and the second as part of the third, can&#39;t you reuse prior results&quot;, lead to the AI introducing common table expressions I think it was, and telling me all about them.&lt;/p&gt;&lt;p&gt;I&#39;m still scripting&amp;nbsp; 😊&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/3066718111574923076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2025/08/go-deh-celebrations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/3066718111574923076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/3066718111574923076'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2025/08/go-deh-celebrations.html' title='Go Deh celebrations!'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghCYUXmcR6-kfrZKbVof_gfZfqHnOE_cfxQx9l6Iii9pjsuFXpRuudMkEU5_gjPHNfsa34AFbNCefCkvGwfEOaCKGqXGzQfTZTsdoG9YUXkj9oGDfRoozESPySqOszV5PquQUtHDHG2-2snTbL3TAdo1FLEfeemLpuxJXHU7NFbUPKpagEmM48/s72-c/A%20jubilant%20Jamaican%202.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-1386948987337358897</id><published>2025-07-20T10:28:00.000+01:00</published><updated>2025-07-20T10:28:05.886+01:00</updated><title type='text'>All Truth in Truthtables!</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&amp;nbsp;&lt;img alt=&quot;&quot; height=&quot;236&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjAkKWov5Vkf0RC3lLoj7mdzZPEW2RRK5fqNDoD1wzaRXh8UUXI9pd3gYbneEhapx8xw2MprxeoN3Zmb1E-5scChoMYLZgcygDR8cwG7BaQtEZkWeYlMn8RUPWTWX4jerFY2kU0NR_AkSUfjVx85ifTtOIhzJq1ZQT_IXVIqtqJ3qBATtr2l0w4=w236-h236&quot; width=&quot;236&quot; /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #800180;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;(Best viewed on a larger than phone screen)&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;To crib from &lt;i&gt;my &lt;/i&gt;&lt;a href=&quot;https://rosettacode.org/wiki/Truth_table&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;RosettaCode tasks&lt;/a&gt; description and examples:&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;i&gt;A &lt;a class=&quot;extiw&quot; href=&quot;https://en.wikipedia.org/wiki/Truth_table&quot; title=&quot;wp:Truth table&quot;&gt;truth table&lt;/a&gt; is a display of the inputs to, and the output of a Boolean equation 
organised as a table where each row gives one combination of input 
values and the corresponding value of the equation.&lt;/i&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;And as examples:&lt;/p&gt;&lt;pre&gt;&lt;blockquote&gt;&lt;i&gt;Boolean expression: A ^ B

A B&amp;nbsp;: A ^ B
0 0&amp;nbsp;: 0
0 1&amp;nbsp;: 1
1 0&amp;nbsp;: 1
1 1&amp;nbsp;: 0

Boolean expression: S | ( T ^ U )

S T U&amp;nbsp;: S | ( T ^ U )
0 0 0&amp;nbsp;: 0
0 0 1&amp;nbsp;: 1
0 1 0&amp;nbsp;: 1
0 1 1&amp;nbsp;: 0
1 0 0&amp;nbsp;: 1
1 0 1&amp;nbsp;: 1
1 1 0&amp;nbsp;: 1
1 1 1&amp;nbsp;: 1&lt;/i&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Format&lt;/h2&gt;&lt;p&gt;A truth table has a&lt;b&gt; header row&lt;/b&gt; of columns showing first the names of &lt;b&gt;inputs &lt;/b&gt;assigned to each column; a visual separator - e.g. &#39;:&#39;; then the column name for the output &lt;b&gt;result&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;The &lt;b&gt;body &lt;/b&gt;of the table, under the&lt;b&gt; inputs section&lt;/b&gt;, contains rows of all binary combinations of the inputs. It is usually arranged as each row of the input section being a binary count &lt;i&gt;from zero to 2**input_count - 1&lt;/i&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;The &lt;b&gt;body &lt;/b&gt;of the table, under the&lt;b&gt;&amp;nbsp;result section&lt;/b&gt;, 
contains rows showing the binary output produced from the input configuration in the same row, to the left.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Format used&lt;/h3&gt;&lt;p&gt;&amp;nbsp;I am interested in the number of inputs rather than their names so will show vector&lt;b&gt; i&lt;/b&gt; with the most significant indices to the left, (so the binary count in the input sections body looks right).&lt;/p&gt;&lt;p&gt;Similarly I am interested in the bits in the result column rather than a name so will just call the result column &lt;b&gt;r&lt;/b&gt;.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;From one result to many&lt;/h2&gt;&lt;p&gt;&amp;nbsp;Here&#39;s the invocation, and truth tables produced for some simple boolean operators:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;OR&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_ttable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;0b&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1110&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;&amp;nbsp;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;OR
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;i[1] i[0] :   r  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;=================
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  0    0  :   0  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  0    1  :   1  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  1    0  :   1  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  1    1  :   1  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; widows: 2; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;XOR&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_ttable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;0b&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;110&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;XOR
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;i[1] i[0] :   r  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;=================
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  0    0  :   0  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  0    1  :   1  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  1    0  :   1  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  1    1  :   0  &lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; widows: 2; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;AND&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_ttable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;0b&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1000&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;AND
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;i[1] i[0] :   r  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;=================
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  0    0  :   0  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  0    1  :   0  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  1    0  :   0  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  1    1  :   1  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;For those three inputs, we can extend the table to show result columns for OR, XOR and then AND, like this:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;OR, XOR, then AND result *columns*&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_ttable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;14&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# A list of results, (in decimal this time)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;OR, XOR, then AND result *columns*
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;i[1] i[0] : r[0] r[1] r[2] 
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;===========================
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  0    0  :   0    0    0  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  0    1  :   1    1    0  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  1    0  :   1    1    0  
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  1    1  :   1    0    1  &lt;/span&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;All Truth&lt;/h2&gt;&lt;p&gt;&amp;nbsp;Just how many results are possible?&lt;/p&gt;&lt;p&gt;Well, i = 2 &lt;b&gt;&lt;i&gt;inputs &lt;/i&gt;&lt;/b&gt;gives 2**i = 4 possible input boolean combinations; so a&amp;nbsp;&lt;b&gt;&lt;i&gt;result column&lt;/i&gt;&lt;/b&gt; has &lt;b&gt;2**i &lt;/b&gt;= 4&amp;nbsp; bits.&lt;br /&gt;The number of different result columns is therefore &lt;b&gt;&lt;i&gt;2**(2**i)&lt;/i&gt;&lt;/b&gt; = 2**4 = 16&lt;/p&gt;&lt;p&gt;We can show all possible results by successive results being a binary count, but this time by column in the results section, (with the LSB being closest to the header row)&lt;/p&gt;&lt;p&gt;The pp_table function automatically&amp;nbsp; generates all possible results if a second parameter of None is used&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;All Truths of two inputs!&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_ttable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;All Truths of two inputs!
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;i[1]  i[0]  :  r[0]  r[1]  r[2]  r[3]  r[4]  r[5]  r[6]  r[7]  r[8]  r[9] r[10] r[11] r[12] r[13] r[14] r[15] 
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;==============================================================================================================
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  0     0   :   0     1     0     1     0     1     0     1     0     1     0     1     0     1     0     1   
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  0     1   :   0     0     1     1     0     0     1     1     0     0     1     1     0     0     1     1   
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  1     0   :   0     0     0     0     1     1     1     1     0     0     0     0     1     1     1     1   
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #2b00fe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  1     1   :   0     0     0     0     0     0     0     0     1     1     1     1     1     1     1     1   &lt;/span&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;We &lt;i&gt;might &lt;/i&gt;say that it shows all possible truths for up-to-and-including two inputs. That is because results include outputs not dependent on any or all of those two inputs. For example r[0], and r[15] do not depend on any input as they give constant outputs of 0 and 1, respectively. r[5] is simply ~i[0] and does not depend on i[1]&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;It&#39;s Big, Oh!&lt;/h3&gt;&lt;p&gt;The results grow as&amp;nbsp; 2**(2**i), sometimes called &lt;b&gt;&lt;i&gt;double exponential growth&lt;/i&gt;&lt;/b&gt;! it gets large, quickly!!&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #2b00fe; font-family: courier;&quot;&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;&lt;b&gt;i | 2**(2**i)&lt;/b&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;--|----------
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;0 | 2
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;1 | 4
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;2 | 16
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;3 | 256
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;4 | 65_536
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;5 | 4_294_967_296&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; widows: 2; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;The code&lt;/h1&gt;&lt;p&gt;&amp;nbsp;Contemplating using AI and needing to get it to understand what I wanted, as well as endless prompting to get it to do what I want, the way&lt;b&gt; I&lt;/b&gt; wanted it;&lt;b&gt;&lt;i&gt; I decided on writing it all by myself &lt;/i&gt;&lt;/b&gt;- I knew I wanted it just so, and the coding would be nothing new to me, just nailing what I wanted to show.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Truthtable prettyprinter&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Author: Paddy3118 &amp;nbsp;2025/07/19&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# Regions of a truthtable&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;```text&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;+----------------- --+---------+&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;| &amp;nbsp; &amp;nbsp; &amp;nbsp;Inputs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| Result &amp;nbsp;|&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;+------------------- +---------+&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;| I[2] | I[1] | I[0] | &amp;nbsp; R &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;|------|------|------|---------|&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;| &amp;nbsp;0 &amp;nbsp; | &amp;nbsp;0 &amp;nbsp; | &amp;nbsp;0 &amp;nbsp; | &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;| &amp;nbsp;0 &amp;nbsp; | &amp;nbsp;0 &amp;nbsp; | &amp;nbsp;1 &amp;nbsp; | &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;| &amp;nbsp;0 &amp;nbsp; | &amp;nbsp;1 &amp;nbsp; | &amp;nbsp;0 &amp;nbsp; | &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;| &amp;nbsp;0 &amp;nbsp; | &amp;nbsp;1 &amp;nbsp; | &amp;nbsp;1 &amp;nbsp; | &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;| &amp;nbsp;1 &amp;nbsp; | &amp;nbsp;0 &amp;nbsp; | &amp;nbsp;0 &amp;nbsp; | &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;| &amp;nbsp;1 &amp;nbsp; | &amp;nbsp;0 &amp;nbsp; | &amp;nbsp;1 &amp;nbsp; | &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;| &amp;nbsp;1 &amp;nbsp; | &amp;nbsp;1 &amp;nbsp; | &amp;nbsp;0 &amp;nbsp; | &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;| &amp;nbsp;1 &amp;nbsp; | &amp;nbsp;1 &amp;nbsp; | &amp;nbsp;1 &amp;nbsp; | &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; |&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;+--------------------+---------+&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;```&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_ttable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_vector_name&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;i&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector_name&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;r&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_single&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_mult&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;match&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(): &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# single result&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_single&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector_name&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(): &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# multiple results&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_mult&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector_name&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# All possible results&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Refuse to write &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; result columns.&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_mult&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector_name&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;case&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;raise&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; Typeerror(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;result must be an int, a list of ints, or None.&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_vector_name&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_vector_name&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_width&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;: &#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_single&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector_name&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:^{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_width&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector_name&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:^{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_width&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;header&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;=&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])) &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# header row spacer&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_bits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;res&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:0{&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}b}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[::&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;res&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_vector&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_bits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:0{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_count&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}b}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;bit&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_bits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;bit&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:^{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_width&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;: &#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;res_bits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result_bits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;res_bits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:^{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;col_width&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;row&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rows&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;OR&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_ttable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;0b&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1110&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;XOR&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_ttable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;0b&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;110&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;AND&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_ttable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;0b&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1000&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;OR, XOR, then AND result *columns*&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_ttable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;14&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# A list of results, (in decimal this time)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;All Truths of two inputs!&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_ttable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;END.&amp;nbsp;&lt;/h4&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/1386948987337358897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2025/07/all-truth-in-truthtables.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/1386948987337358897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/1386948987337358897'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2025/07/all-truth-in-truthtables.html' title='All Truth in Truthtables!'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjAkKWov5Vkf0RC3lLoj7mdzZPEW2RRK5fqNDoD1wzaRXh8UUXI9pd3gYbneEhapx8xw2MprxeoN3Zmb1E-5scChoMYLZgcygDR8cwG7BaQtEZkWeYlMn8RUPWTWX4jerFY2kU0NR_AkSUfjVx85ifTtOIhzJq1ZQT_IXVIqtqJ3qBATtr2l0w4=s72-w236-h236-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-6157910081675774828</id><published>2025-03-23T08:54:00.001+00:00</published><updated>2025-03-23T09:35:20.726+00:00</updated><title type='text'>Incremental combinations without caching</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiDhcFwRluMUmESYsqTtkwNppqf1z4krD48fhecEBVWqwxG6UN6vaA1CctLiNef3T3kEUip9mQsHGaK6zfHGNo-PICWgj2vo9mFdMU-xSGImhgl8PRc3wgI172uD1R1zRtYCja71vCLWxIZvitL-xTN0cFNHb8jTdTL-JqBYlp50D4CjJuJRuz2&quot; style=&quot;margin-left: auto; margin-right: auto;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1024&quot; data-original-width=&quot;1024&quot; height=&quot;534&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiDhcFwRluMUmESYsqTtkwNppqf1z4krD48fhecEBVWqwxG6UN6vaA1CctLiNef3T3kEUip9mQsHGaK6zfHGNo-PICWgj2vo9mFdMU-xSGImhgl8PRc3wgI172uD1R1zRtYCja71vCLWxIZvitL-xTN0cFNHb8jTdTL-JqBYlp50D4CjJuJRuz2=w534-h534&quot; width=&quot;534&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;Irie server room&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Someone had &lt;a href=&quot;https://discuss.python.org/t/incremental-combination-generation-from-laggy-generators/85052/2&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;a problem&lt;/a&gt; where they received initial data d1, worked on all &lt;b&gt;r&lt;/b&gt; combinations of the data initially received, but by the time they had finished that, they checked and found there was now extra data d2, and they need to, in total, process the &lt;b&gt;r&lt;/b&gt; combinations of all data d1+d2.&lt;/p&gt;&lt;p&gt;They don&#39;t want to process combinations twice, and the solutions given seemed to generate and store the combinations of&amp;nbsp; d1, then generate the combinations of d1+d2 but test and reject any combination that was found previously.&lt;/p&gt;&lt;p&gt;Seems like a straight-forward answer that is easy to follow, but I thought: &lt;b&gt;&lt;i&gt;Is there a way to create just the extra combinations but without storing all the combinations from before?&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;My methods&lt;/h2&gt;&lt;p&gt;It&#39;s out with Vscode as my IDE. I&#39;ll be playing with a lot of code that will end up deleted, modified, rerun. I could use a Jupyter notebook, but I can&#39;t publish them to my blog satisfactorily. I&#39;ll develop a .py file but with cells: a line comment of # %% visually splits the file into cells in the IDE adding buttons and editor commands to execute cells and selected code, in any order, on a restartable kernel running in an interactive window that also runs Ipython.&lt;/p&gt;&lt;p&gt;When doodling like this, I often create long lines, spaced to highlight comparisons between other lines. I refactor names to be concise at the time, as what you can take in at a glance helps find patterns. Because of that, &lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;this blog post is not written to be read on the small screens of phones&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;&amp;nbsp;So, its combinations; binomials, nCr.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;A start&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;First thing was to try and see patterns in the combinations of d1+d2 &lt;i&gt;minus &lt;/i&gt;those of just d1.&lt;/li&gt;&lt;li&gt;Dealing with sets of values; sets are unordered, so will at some&amp;nbsp; time need a function to print them in order to aid pattern finding.&lt;/li&gt;&lt;li&gt;Combinations can be large - use combinations of ints then later work with any type.&lt;/li&gt;&lt;li&gt;Initial combinations of 0 to n-1 ints I later found to be more awkward to reason about so changed to work with combinations of 1 to n ints. extending to n+x added ints n+1 to n+x to combinations.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#!/bin/env python3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Check patterns in extending combinations nCr&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;functools&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;reduce&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;itertools&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;pprint&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pformat&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;typing&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;, &lt;span style=&quot;color: #4ec9b0;&quot;&gt;Iterable&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;nCr&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;):&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;), &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pf_set&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;) -&amp;gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Format set with sorted elements for printing&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; &amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;{{&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pformat&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sorted&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;), &lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;120&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;compact&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;)[&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;:&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;]&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;}}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Diffs&lt;/h3&gt;&lt;p&gt;In the following cell I create combinations for r = 3, and n in some range n_range in c and print successive combinations, and differences between successive combinations.&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n_range&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# Investigate combinations nCr for &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;=}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;, and &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n_range&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;=}&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# generate some combinations&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; {&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;nCr&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;)) &lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n_range&lt;/span&gt;}&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;c = {&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;key&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;val&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;items&lt;/span&gt;():&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:2}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pf_set&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;val&lt;/span&gt;)&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;,&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp; &amp;nbsp;}&quot;&lt;/span&gt;)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_diffsby&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n_range&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta_n&lt;/span&gt;):&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Print nCr in c diffs by delta_n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Diffs by &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta_n&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_n&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n_range&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n1&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_n&lt;/span&gt;[&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;]&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n1&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;C&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pf_set&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;[&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n1&lt;/span&gt;])&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n1&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n2&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;zip&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_n&lt;/span&gt;[&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta_n&lt;/span&gt;:]):&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n2&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;C&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; - &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n1&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;C&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pf_set&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;[&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n2&lt;/span&gt;] &lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;[&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n1&lt;/span&gt;])&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_diffsby&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n_range&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_diffsby&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n_range&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;)&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Cell output:&lt;/h4&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# Investigate combinations nCr for r=3, and n_range=range(3, 7)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;c = {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; 3: {(1, 2, 3)},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; 4: {(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; 5: {(1, 2, 3), (1, 2, 4), (1, 2, 5), (1, 3, 4), (1, 3, 5), (1, 4, 5), (2, 3, 4), (2, 3, 5), (2, 4, 5), (3, 4, 5)},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; 6: {(1, 2, 3), (1, 2, 4), (1, 2, 5), (1, 2, 6), (1, 3, 4), (1, 3, 5), (1, 3, 6), (1, 4, 5), (1, 4, 6), (1, 5, 6),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;(2, 3, 4), (2, 3, 5), (2, 3, 6), (2, 4, 5), (2, 4, 6), (2, 5, 6), (3, 4, 5), (3, 4, 6), (3, 5, 6), (4, 5, 6)},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Diffs by 1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 3C3 = {(1, 2, 3)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;4C3 - 3C3 = {(1, 2, 4), (1, 3, 4), (2, 3, 4)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;5C3 - 4C3 = {(1, 2, 5), (1, 3, 5), (1, 4, 5), (2, 3, 5), (2, 4, 5), (3, 4, 5)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;6C3 - 5C3 = {(1, 2, 6), (1, 3, 6), (1, 4, 6), (1, 5, 6), (2, 3, 6), (2, 4, 6), (2, 5, 6), (3, 4, 6), (3, 5, 6), (4, 5, 6)}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Diffs by 2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 3C3 = {(1, 2, 3)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;5C3 - 3C3 = {(1, 2, 4), (1, 2, 5), (1, 3, 4), (1, 3, 5), (1, 4, 5), (2, 3, 4), (2, 3, 5), (2, 4, 5), (3, 4, 5)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;6C3 - 4C3 = {(1, 2, 5), (1, 2, 6), (1, 3, 5), (1, 3, 6), (1, 4, 5), (1, 4, 6), (1, 5, 6), (2, 3, 5), (2, 3, 6), (2, 4, 5),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;(2, 4, 6), (2, 5, 6), (3, 4, 5), (3, 4, 6), (3, 5, 6), (4, 5, 6)}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Patterns&lt;/h2&gt;&lt;p&gt;Looking at diffs 4C3 - 3C3 each tuple is like they took 3C2 = {(1,2), (1,3), (2,3)} and tagged the extra 4 on to every inner tuple. &lt;br /&gt;Lets call this modification &lt;b&gt;extending&lt;/b&gt;,&lt;/p&gt;&lt;p&gt;5C3 - 4C3 &lt;i&gt;seems &lt;/i&gt;to follow the same pattern.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Function extend&lt;/h3&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;[&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;[&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;]], &lt;span style=&quot;color: #9cdcfe;&quot;&gt;value&lt;/span&gt;: &lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;) -&amp;gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;[&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;[&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;]]:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns set of tuples of s with each tuple extended by value&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;((&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;tpl&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;value&lt;/span&gt;) &lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;tpl&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; {(&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;), (&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;), (&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;)}&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt; = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt; {(&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;), (&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;), (&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;)}&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Rename nCr to bino and check extend works&lt;/h3&gt;&lt;p&gt;nCr&amp;nbsp; was originally working with 0..n-1 and bino was 1..n. Now they both do&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# binomial combinations of ints 1..&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;) -&amp;gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;[&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;[&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;]]:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; All combinations of 1..n ints taken r at a time&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; bino(4, 3) == {(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;), &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;))&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt; (&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;), &lt;span style=&quot;color: #9cdcfe;&quot;&gt;value&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;))) &amp;nbsp;= &amp;nbsp;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Cell output:&lt;/h4&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div style=&quot;line-height: 19px;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(bino(4, 3) == (bino(3, 3) | extend(bino(3, 2), value=4))) &amp;nbsp;= &amp;nbsp;True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Pascal&lt;/h2&gt;&lt;div&gt;After finding that pattern I went searching for it using Gemini AI. My question was:&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;blockquote&gt;show that comb(n+1, r) = comb(n, r) + (n+1)* comb(n, r-1)&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;The answer said I got my text prompt wrong and mentioned &lt;a href=&quot;https://en.wikipedia.org/wiki/Pascal%27s_rule&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Pascals Rule&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;I scanned the page, as I no time for how things were expressed but it seemed reasonable that I had the algorithm right,&lt;i&gt; and that there were relations of some kind for bigger differences in n&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Pascals rule checker&lt;/h3&gt;&lt;div&gt;I wrote a function to do the check then exercised it&amp;nbsp; (a few times, now deleted).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pascals_rule&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;) -&amp;gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;bool&lt;/span&gt;:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;check C(n+1, r) == C(n, r) | extend(C(n, r-1), n + 1)&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;), &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pascals_rule&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Diff by 1 extra item &quot;done&quot;, attempting diff by 2.&lt;/h2&gt;&lt;div&gt;Looking back at the diffs by 2 table and looking for patterns I thought I might need different types of extension functions modifying the tuples within sets in different ways - it seemed &quot;mathematical&quot; so...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Some functions that may be needed&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_mul&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;[&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;[&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;]], &lt;span style=&quot;color: #9cdcfe;&quot;&gt;e&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;Iterable&lt;/span&gt;) -&amp;gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;[&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;[&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;]]:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; set where each tuple of s is extended in turn, by every item in e&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; s = {(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; extend_mul(s, (5, 6)) == {(1, 2, 3, 5), (1, 2, 3, 6),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (1, 2, 4, 5), (1, 2, 4, 6),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (1, 3, 4, 5), (1, 3, 4, 6),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (2, 3, 4, 5), (2, 3, 4, 6)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; {(&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;t&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt;) &lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;t&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;e&lt;/span&gt;}&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_muli&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;[&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;[&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;]], &lt;span style=&quot;color: #9cdcfe;&quot;&gt;e&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;Iterable&lt;/span&gt;) -&amp;gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;[&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;[&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;]]:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; set where each tuple of s is extended in turn, by every *item in e&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; s = {(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; extend_muli(s, ((5,), (6,))) == {(1, 2, 3, 5), (1, 2, 3, 6),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (1, 2, 4, 5), (1, 2, 4, 6),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (1, 3, 4, 5), (1, 3, 4, 6),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (2, 3, 4, 5), (2, 3, 4, 6)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; {(&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;t&lt;/span&gt;, &lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt;) &lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;t&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;e&lt;/span&gt;}&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_add&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;[&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;[&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;]], &lt;span style=&quot;color: #9cdcfe;&quot;&gt;e&lt;/span&gt;: &lt;span style=&quot;color: #4ec9b0;&quot;&gt;Iterable&lt;/span&gt;) -&amp;gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;[&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;[&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;]]:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; set where each tuple of s is extended once, all &amp;nbsp;items of *e&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; s = {(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; extend_add(s, (5, 6)) == {(1, 2, 3, 5, 6), (1, 2, 4, 5, 6),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (1, 3, 4, 5, 6), (2, 3, 4, 5, 6)}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; {(&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;t&lt;/span&gt;, &lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;e&lt;/span&gt;) &lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;t&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;}&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Diff by 2 pattern finding&lt;/h2&gt;&lt;p&gt;It was incremental - find a pattern in 3C?, subtract it from 5C3, Find a pattern in 3C? that covers part of the remainder; repeat.&lt;br /&gt;(Where ? &amp;lt;=3).&lt;/p&gt;&lt;p&gt;I also shortened function pf_set to pf so it would take less space when printing formatted expressions in f-strings&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;To simplify formatted printing of sets: &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pf&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;:=&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pf_set&lt;/span&gt;) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;# Looking again at the diffs by 2 i.e. `5C3 - 3C3`&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;5C3 - 3C3 = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pf&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;))&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp;There&#39;s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pf&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;)) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; in there with each tuple extended by 4 and by 5 &quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pf&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_mul&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;), (&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;))) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp;Whats left: &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pf&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;tmp1&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;:=&lt;/span&gt; (&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_mul&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;), (&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;)))) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp; &amp;nbsp;Now &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pf&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;)) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp; &amp;nbsp;So &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pf&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;tmp2&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;:=&lt;/span&gt; (&lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_add&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;), (&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;)))) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp;Finally: &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pf&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;tmp1&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;tmp2&lt;/span&gt;) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Cell output:&lt;/h4&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;To simplify formatted printing of sets: (pf:=pf_set) = &amp;lt;function pf_set at 0x7f1bd45365c0&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# Looking again at the diffs by 2 i.e. `5C3 - 3C3`&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;5C3 - 3C3 = {(1, 2, 4), (1, 2, 5), (1, 3, 4), (1, 3, 5), (1, 4, 5), (2, 3, 4), (2, 3, 5), (2, 4, 5), (3, 4, 5)}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; There&#39;s pf(bino(3, 3-1)) = &#39;{(1, 2), (1, 3), (2, 3)}&#39; in there with each tuple extended by 4 and by 5 &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; pf(extend_mul(bino(3, 3-1), (3+1, 3+2))) = &#39;{(1, 2, 4), (1, 2, 5), (1, 3, 4), (1, 3, 5), (2, 3, 4), (2, 3, 5)}&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Whats left: pf(tmp1 := (bino(5, 3) - bino(3, 3) - extend_mul(bino(3, 3-1), (3+1, 3+2)))) = &#39;{(1, 4, 5), (2, 4, 5), (3, 4, 5)}&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Now pf(bino(3, 3-2)) = &#39;{(1,), (2,), (3,)}&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; So pf(tmp2 := (extend_add(bino(3, 3-2), (3+1, 3+2)))) = &#39;{(1, 4, 5), (2, 4, 5), (3, 4, 5)}&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Finally: pf(tmp1 - tmp2) = &#39;{}&#39;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Behold Diff by 2&lt;/h3&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;, &lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;, &lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# lets set some variables and use those for the diffs by 2&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;:=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;), (&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;:=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;)) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt; (&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_mul&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;), (&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;)) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_add&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;), (&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;))) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Cell output:&lt;/h4&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# lets set some variables and use those for the diffs by 2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; (n:=3), (r:=3) = (3, 3)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; len(bino(n+2, r)) = 10&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; bino(n+2, r) == (bino(n, r) | extend_mul(bino(n, r-1), (n+1, n+2)) | extend_add(bino(n, r-2), (n+1, n+2))) = True&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Pascals rules for increasing diffs&lt;/h2&gt;&lt;p&gt;I followed the same method for diffs of three and ended up with these three functions:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# By similar observation and much checking:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pascal_rule_1&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) -&amp;gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;bool&lt;/span&gt;:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Checks bino(n+1, r) == (bino(n, r)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | extend_add(bino(n, r-1), (n+1,)))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt; (&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_add&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;), (&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;,)))&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pascal_rule_2&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) -&amp;gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;bool&lt;/span&gt;:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Checks bino(n+2, r) == (bino(n, r)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | extend_mul(bino(n, r-1), (n+1, n+2))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | extend_add(bino(n, r-2), (n+1, n+2)))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt; (&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_mul&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;), (&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;))&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_add&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;), (&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;)))&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pascal_rule_3&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) -&amp;gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;bool&lt;/span&gt;:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Checks bino(n+3, r) == (bino(n, r)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | extend_muli(bino(n, r-1), tuple(combinations((n+1, n+2, n+3), 1)))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | extend_muli(bino(n, r-2), tuple(combinations((n+1, n+2, n+3), 2)))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; | extend_muli(bino(n, r-3), tuple(combinations((n+1, n+2, n+3), 3)))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra_n&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;)) &amp;nbsp;&lt;span style=&quot;color: #6a9955;&quot;&gt;# n..n+3 inclusive&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt; (&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_muli&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;), &lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra_n&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;)))&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_muli&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;), &lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra_n&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;)))&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_muli&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;), &lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra_n&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;)))&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Simple Checks&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pascal_rule_1&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pascal_rule_2&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pascal_rule_3&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;)&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Generalised Pascals rule&lt;/h3&gt;&lt;p&gt;What can I say, I looked for patterns in the pascals rule functions for discrete diffs and tried to find patterns. I looked deeper into identities between the extend functions.&lt;/p&gt;&lt;p&gt;I finally found the following function that passed my tests, (many not shown).&amp;nbsp;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# from pascal_rule_3 to pascal_rule_x&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pascal_rule_x&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;) -&amp;gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;bool&lt;/span&gt;:&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Checks bino(n+x, r) == union_reduce(&amp;lt;extend_muli selections of bino(n, 0 &amp;lt; r &amp;lt; r)&amp;gt; )&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; ie if already used bino(n, r) and along comes x more for n then it shows how to&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; calculate bino(n+x, r) without the need for storing bino(n, r)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra_n&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;)) &amp;nbsp;&lt;span style=&quot;color: #6a9955;&quot;&gt;# n..n+x inclusive&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n_r_terms&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_muli&lt;/span&gt;((&lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;) &lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt; {()}), &amp;nbsp; &lt;span style=&quot;color: #6a9955;&quot;&gt;# extend this&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra_n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;))) &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6a9955;&quot;&gt;# by this&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;min&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;))&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;reduction&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;reduce&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;union&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n_r_terms&lt;/span&gt;, &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;())&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;bino&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;reduction&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pascal_rule_x&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;) &amp;nbsp;&lt;span style=&quot;color: #6a9955;&quot;&gt;# n, r, x&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pascal_rule_x&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;pascal_rule_x&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;&lt;p&gt;I don&#39;t like the&amp;nbsp;&lt;span style=&quot;background-color: #1f1f1f; color: #c586c0; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #1f1f1f; color: #9cdcfe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;background-color: #1f1f1f; color: #d4d4d4; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;background-color: #1f1f1f; color: #9cdcfe; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #1f1f1f; color: #d4d4d4; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #1f1f1f; color: #b5cea8; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: #1f1f1f; color: #c586c0; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; white-space: pre;&quot;&gt; {()}&lt;/span&gt;&amp;nbsp;bit as it doesn&#39;t seem elegant. There is probably some identity to be found that would make it disappear but, you know.&lt;/p&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;Back to the original problem&lt;/h1&gt;&lt;p&gt;If comb(d1, r) is processed and then we find an extra d2 items, then we want to process extra_comb(d1, r, d2) where extra_comb does not include or save comb of d1.&lt;/p&gt;&lt;p&gt;We just need to exclude the nCr term in reduction of function pascal_rule_x.&lt;/p&gt;&lt;p&gt;Eventually I arrive at&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;first&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;abcd&#39;&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;))&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;first&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;(&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;abcdef&#39;&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;))&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;sorted&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;first&lt;/span&gt;))&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extra_combs&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;orig&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;abcd&#39;&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;ef&#39;&lt;/span&gt;):&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;C&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt; &amp;nbsp;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Less typing&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra_n&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;) &amp;nbsp;&lt;span style=&quot;color: #6a9955;&quot;&gt;# n..n+x inclusive&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;orig&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n_r_terms&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; (&lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_muli&lt;/span&gt;((&lt;span style=&quot;color: #4ec9b0;&quot;&gt;C&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;) &lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt; {()}), &amp;nbsp; &lt;span style=&quot;color: #6a9955;&quot;&gt;# extend this&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;C&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra_n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;))) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6a9955;&quot;&gt;# by this&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;, &lt;span style=&quot;color: #dcdcaa;&quot;&gt;min&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra_n&lt;/span&gt;), &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;) &lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt; &lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;)) &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6a9955;&quot;&gt;# miss C(n, r)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;reduction&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;reduce&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;union&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;n_r_terms&lt;/span&gt;, &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;())&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6a9955;&quot;&gt;# set(C(n+extra_n, r)) - reduction == set(C(n, r))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;reduction&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;abcd&#39;&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;efg&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;)) \&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;)).&lt;span style=&quot;color: #dcdcaa;&quot;&gt;union&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;extra_combs&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;))&lt;/div&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Tests&lt;/h2&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Test comb(n+x, r) == comb(n, r) | extra_combs(n, r, x)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta_&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;abcdefg&#39;&lt;/span&gt;, &lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;, &lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;hijkl&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;)):&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; (&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta_&lt;/span&gt;[:&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;] &lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt; &lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;(&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta_&lt;/span&gt;))):&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;combnx&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;))&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;combn&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;(&lt;span style=&quot;color: #4ec9b0;&quot;&gt;combinations&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;))&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;extra_combs&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;)&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;combnx&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt; (&lt;span style=&quot;color: #9cdcfe;&quot;&gt;combn&lt;/span&gt; &lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra&lt;/span&gt;), &lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Whoops! For &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #6a9955;&quot;&gt;# checks that extra does not generate any of combn&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;extra&lt;/span&gt;.&lt;span style=&quot;color: #dcdcaa;&quot;&gt;intersection&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;combn&lt;/span&gt;), &lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Whoops! For &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;, &lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;) = &lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;END.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/6157910081675774828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2025/03/incremental-combinations-without-caching.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/6157910081675774828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/6157910081675774828'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2025/03/incremental-combinations-without-caching.html' title='Incremental combinations without caching'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiDhcFwRluMUmESYsqTtkwNppqf1z4krD48fhecEBVWqwxG6UN6vaA1CctLiNef3T3kEUip9mQsHGaK6zfHGNo-PICWgj2vo9mFdMU-xSGImhgl8PRc3wgI172uD1R1zRtYCja71vCLWxIZvitL-xTN0cFNHb8jTdTL-JqBYlp50D4CjJuJRuz2=s72-w534-h534-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-670262973629941969</id><published>2025-03-05T22:14:00.000+00:00</published><updated>2025-03-05T22:14:54.088+00:00</updated><title type='text'>Intsets by AI</title><content type='html'>&lt;div _ngcontent-ng-c2089202004=&quot;&quot; class=&quot;markdown markdown-main-panel stronger&quot; dir=&quot;ltr&quot; id=&quot;model-response-message-contentr_ef47054a1625a71d&quot; style=&quot;--animation-duration: 600ms; --fade-animation-function: linear;&quot;&gt;&lt;p data-sourcepos=&quot;3:1-3:55&quot; style=&quot;text-align: center;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class=&quot;attachment-container generated-images&quot;&gt;&lt;div _ngcontent-ng-c458529192=&quot;&quot; class=&quot;loader animate&quot;&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c2713074886=&quot;&quot; class=&quot;image-container replace-fife-images-at-export ng-star-inserted&quot; style=&quot;text-align: center;&quot;&gt;&lt;div _ngcontent-ng-c2713074886=&quot;&quot; class=&quot;overlay-container ng-star-inserted&quot;&gt;&lt;button _ngcontent-ng-c2713074886=&quot;&quot; class=&quot;image-button ng-star-inserted&quot;&gt;&lt;img _ngcontent-ng-c2713074886=&quot;&quot; alt=&quot;Image of &quot; class=&quot;image animate loaded&quot; src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAgAAAAIACAIAAAB7GkOtAAAAA3NCSVQICAjb4U/gAAAAX3pUWHRSYXcgcHJvZmlsZSB0eXBlIEFQUDEAAAiZ40pPzUstykxWKCjKT8vMSeVSAANjEy4TSxNLo0QDAwMLAwgwNDAwNgSSRkC2OVQo0QAFmBqYWZoZmxmaAzGIzwUASLYUyTrUQzIAAAKHaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA1LjUuMCI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6SXB0YzR4bXBFeHQ9Imh0dHA6Ly9pcHRjLm9yZy9zdGQvSXB0YzR4bXBFeHQvMjAwOC0wMi0yOS8iIHBob3Rvc2hvcDpDcmVkaXQ9Ik1hZGUgd2l0aCBHb29nbGUgQUkiIElwdGM0eG1wRXh0OkRpZ2l0YWxTb3VyY2VmaWxlVHlwZT0iaHR0cDovL2N2LmlwdGMub3JnL25ld3Njb2Rlcy9kaWdpdGFsc291cmNldHlwZS90cmFpbmVkQWxnb3JpdGhtaWNNZWRpYSIgSXB0YzR4bXBFeHQ6RGlnaXRhbFNvdXJjZVR5cGU9Imh0dHA6Ly9jdi5pcHRjLm9yZy9uZXdzY29kZXMvZGlnaXRhbHNvdXJjZXR5cGUvdHJhaW5lZEFsZ29yaXRobWljTWVkaWEiLz4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICA8P3hwYWNrZXQgZW5kPSJ3Ij8+00qVvQAAIABJREFUeJxUvVuPZGeSJGbmfiIys65k93QPe3YuO5IWg8ViVi/So/6zIECA3vQgrASsBGmwu9Ojnp2evrDZJItVLFZl5SUiPnfTg/lJrogGm8iq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&quot; /&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;I will be using sets a lot in a future algorithm and wanted to find out about the speed of operation of different set implementations.&lt;/p&gt;&lt;p&gt;I will be dealing with different sets of strings from a total of around 200_000, (but the strings being added throughout the calculations). Python sets can do that directly, but I can create an integer index of all the strings and then do calculations on sets of integers.&lt;/p&gt;&lt;p&gt;Sets of integers can be translated to ints with bits set to indicate which ints were in the set. Numpy can do this but needs either all the strings up-front, or the maximum integer up front.&amp;nbsp; Python integers are variable length, as the algorithm adds more strings, they can be looked up and either their index returned or an incrementing index assigned and returned if the string is new. if you want to set the seven thousandth and one bit of a Python int then the int will extend as necessary to allow this.&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Code by AI&amp;nbsp;&lt;/h4&gt;&lt;p&gt;I decided to talk to Gemini AI to create all code and after a couple of hours of asking, refining and my testing I got my code. (&lt;i&gt;&lt;b&gt;Mine &lt;/b&gt;&lt;/i&gt;as I expended effort in its creation and debugging, even if it was by questioning Gemini).&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Result!&lt;/h4&gt;&lt;p&gt;I found that intsets can be hundreds of times faster than the same operation with the same values but with sets. (Frozensets in this particular case ase I cache a conversion function).&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;max_int: 262144, set_count: 5, repeat_count: 1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Average time for intset operations: 0.001064 seconds&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Average time for set operations: 0.921396 seconds&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Intset operations are approximately 866.31 times faster than set operations.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Code&lt;/h4&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;This module provides functions for generating random sets, performing set operations,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;and timing the performance of set operations using both standard Python sets and&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;integer-based sets (intsets). It includes caching for intset conversions and calculates&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;the speedup of intset operations over standard set operations.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;random&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;time&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;itertools&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;functools&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;lru_cache&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;typing&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;List&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;generate_random_sets_with_sample&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;List&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Generates a list of random frozensets of integers using random.sample.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Args:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; max_int: The maximum integer value in the sets.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set_count: The number of random sets to generate.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A list of random frozensets of integers.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;frozenset&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random_sets&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;population&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sample_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;randint&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;current_set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;frozenset&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sample&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;population&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sample_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random_sets&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;current_set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random_sets&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Append all_ints to random_sets&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random_sets&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;intset_difference&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;Calculates the difference of two intsets.&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;~&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;intset_intersection&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;Calculates the intersection of two intsets.&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;intset_symmetric_difference&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;Calculates the symmetric difference of two intsets.&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;^&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;intset_union&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;Calculates the union of two intsets.&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;set_difference&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;Calculates the difference of two frozensets.&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;difference&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;set_intersection&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;Calculates the intersection of two frozensets.&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;intersection&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;set_symmetric_difference&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;Calculates the symmetric difference of two frozensets.&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;symmetric_difference&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;set_union&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;Calculates the union of two frozensets.&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;union&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;@&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;lru_cache&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;maxsize&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;set_to_intset&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Converts a frozenset of integers to an intset, with caching.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Args:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; input_set: The frozenset of integers.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The intset representation of the frozenset.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;num&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;input_set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;num&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;result&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;time_set_operations&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random_sets&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;List&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;FrozenSet&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;repeat_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Times set and intset operations multiple times and returns average timings.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Args:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; random_sets: A list of frozensets.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; repeat_count: The number of times to repeat the timing.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A tuple containing the average intset operation time and the average set operation time.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;total_intset_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;total_set_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;repeat_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;itertools&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;permutations&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random_sets&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Time intset operations&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;set_to_intset&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;set_to_intset&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start_intset&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;intset_difference&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;intset_intersection&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;intset_symmetric_difference&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;intset_union&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;end_intset&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;end_intset&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start_intset&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Time set operations&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start_set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;set_difference&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;set_intersection&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;set_symmetric_difference&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;set_union&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;end_set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;end_set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start_set&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;total_intset_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;intset_time&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;total_set_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set_time&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;avg_intset_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;total_intset_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;repeat_count&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;avg_set_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;total_set_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;repeat_count&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;avg_intset_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;avg_set_time&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Example Usage:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;18&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;repeat_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random_sets&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;generate_random_sets_with_sample&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;avg_intset_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;avg_set_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;time_set_operations&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random_sets&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;repeat_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;max_int: &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_int&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;, set_count: &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;set_count&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;, repeat_count: &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;repeat_count&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Average time for intset operations: &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;avg_intset_time&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:.6f}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; seconds&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Average time for set operations: &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;avg_set_time&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:.6f}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; seconds&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;avg_intset_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;speedup&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;avg_set_time&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;avg_intset_time&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Intset operations are approximately &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;speedup&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:.2f}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; times faster than set operations.&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Set operations time was zero. Unable to calculate speedup.&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;My Gemini&amp;nbsp; chat&lt;/h4&gt;&lt;p&gt;1.&amp;nbsp; python function set_to_intset that given a set containing integers returns an&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int with just those binary bits set to one; and a reverse function called&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; intset_to_set that given an int returns a set of ints where the ints are the&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; positions of all the bits that are one in the intset argument.&lt;br /&gt;2.&amp;nbsp; methods between two python sets: difference, intersection,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; symmetric_difference and union can be achieved between two intsets using&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; logical operators and logical functions. What are they?&lt;br /&gt;3.&amp;nbsp; add a functionwith arguments max_int, set_count, and repeats; generates&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set_count random sets of the ints 0 to max_int and the set of all ints from&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; zero to max_int.&lt;br /&gt;4.&amp;nbsp; use random.sample with a randomised sample count&lt;br /&gt;5.&amp;nbsp; population should be the range&lt;br /&gt;6.&amp;nbsp; append all_ints to random_sets then test the stated set functions on all&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; permutations of two of the random sets. accumulate the execution time of the&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set functions&lt;br /&gt;7.&amp;nbsp; remove list from variable permutations then do not use an intermediate&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; variable permutations, just iterate on its expression.&lt;br /&gt;8.&amp;nbsp; Do similar timings for intset transformations of all random_sets&lt;br /&gt;9.&amp;nbsp; No, keep the method timings as before.&lt;br /&gt;10. keep two time accumulators, one for timing the runs of the set functions; do&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; not time the transformations between set and intset; use the other timer for&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; timing the intset functions. return two two times&lt;br /&gt;11. do not time the conversions. time the set operations too&lt;br /&gt;12. time_set_operations should take a repeat count and repeat the for loop that&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; many times then return the avrage timings for each of sets, intsets&lt;br /&gt;13. do not print the sets. print max_int, set_count, and repeat_count&lt;br /&gt;14. show how much faster intset is&lt;br /&gt;15. speedup calculation is wrong&lt;br /&gt;16. speedup of intset is intset time / set time&lt;br /&gt;17. no it is with respect to set time so divide by set time&lt;br /&gt;18. that is not what I typed!&lt;br /&gt;19. I was wrong about the speedum calculation&lt;br /&gt;20. use it&lt;br /&gt;21. inline the set andintset calculations when timing instead of calling out to&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; the set_* and intset_+ functions, (but keep their definitions)&lt;br /&gt;22. use max_int = 3**18 and set_count = 10&lt;br /&gt;23. use max_int = 2**18; set_count = 5; repeat_count = 1&lt;br /&gt;24. use lru_cached versions of function set_to_intset&lt;br /&gt;25. generate random_sets as frozensets directly&lt;br /&gt;26. add function type_hints&lt;br /&gt;27. only have type hinting on function arguments and return values&lt;br /&gt;28. add docstrings to all functions and add a module docstring&lt;/p&gt;&lt;p&gt;&lt;b&gt;End.&lt;/b&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/670262973629941969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2025/03/intsets-by-ai.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/670262973629941969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/670262973629941969'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2025/03/intsets-by-ai.html' title='Intsets by AI'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-3797424006789846400</id><published>2025-01-01T14:13:00.000+00:00</published><updated>2025-01-01T14:13:52.607+00:00</updated><title type='text'>Me, Chatgpt, copilot, gemini, and google search classify quadrilaterals</title><content type='html'>&lt;div class=&quot;separator&quot;&gt;&lt;p style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;366&quot; src=&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABdIAAAJOCAYAAACz9fURAAAgAElEQVR4XuxdBbgcRda9xN3d3Y1AQgIEgru7huCwuMOPLLC4y8Liurg7WSSEQELc3d3dhfx1Kkx4DO/lTc/tmamuPvV9fOzy+lbdOrfPdPXpW7d22WaasBEBIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAvkisAuFdN4ZRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABApGgEI67w4iQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAESACO0GAQjpvDyJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAIU0nkPEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAEUgPAWakp4cbrYgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEICYIUEiPSaA5TSJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARSA8BCunp4UYrIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABGICQIU0mMSaE6TCBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQATSQ4BCenq40YoIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABGKCAIX0mASa0yQCRCC7CPzzn/+UO++8U7Zt25bdgTkaEfAQAfLJw6BySjlDgHzKGfQcmAgQASJABIgAEYgIAo0aNZJ27drJF1984YzHu+yyi/zjH/+Qp59+2hmf4ugIhfSQoj516lR58MEH5X//+5/MmzdPSpQoIe3bt5eTTz5ZLrzwQildunRII7EbIuAuAq+++qr07t17h4NFixaVmjVrykEHHST33HOP1K1bN3Tnwbfnn39ejj32WOnUqVPo/afboUaomDhxovznP/+R3377TYYNGyYbN26U6dOnCx7mbPFBgHz6M9YaPn300Ufy7rvvyuDBg2XBggVSv359OfLII+W2226TSpUqxeeGivlMyadw+PTxxx/b59Po0aNl6dKlUr16denWrZuAo3jZZCMCBSGAewYJBvgtXrhwoVStWlXatGkjRx99tFx++eVeAIdnzeeff27Xb1OmTJF9991X+vbt68XcOAm3EPCdT3i+vPzy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ASJABIgAESACRMAdBCikuxMLekIEiAARIAJEgAgQASJABIgAESACRIAIEAEiQASIABEgAg4iQCHdwaDQJSJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARcAcBCunuxIKeEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIiAgwhQSHcwKHSJCBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAEiQATcQYBCujuxoCdEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABIuAgAhTSQwhK48aNpWfPnvLKK6/o0QYOHCi9evWSAQMG6D/309DH+eefLzNmzBD0y0YEiEBwCMycOVOaNGkiL7/8spx33nnBDcSeiUACECCfEhBkTjErBP7xj3/InXfeKdu3b8/qel5EBIhA4QiQT7w7iEA4CEyZMkWuuOIK+fHHH2XVqlXywQcfyIoVK6hNhAM/RyECRMAhBGIppHtis4dzqVKlpGHDhnLYYYfJ//3f/0mtWrVCDQGF9FDh5mAhI1CkSJGsRsxl4SirjgO8KN/C3/Dhw/UCHF5Yx44dK1u2bKHwEmC8XeiafAomCtu2bZPXXntN3n//fRk1apQsW7ZML5Kddtppcv3110vp0qWDGZi9JgoB7/3zp59+kn322Wfn3FeuXCmHHnqo/h3/8MMPZdiwYX8S0v/9739L69at5S9/+UvOmD399NPSv39//cyYM2eOnHvuuTuTOHLulIZEIE8I5JNP4M9LL70kn376qUA8LFasmLRp00Zuu+02OeSQQ/KECIclAtkjkK6H4B6GBoJn0b/+9S+pV69e9p39fuV+++2nk/luvfVWqVy5sk4I/Oabbyik+0aSBlFGoCCtsWrVqtK2bVs56qijNB8qVKhgdYqfffaZQBfAwnF6e/vtt6Vfv3763W/q1Kly4IEH6sRdtmARiLWQftddd+kP5Q0bNsigQYPk9ddfl0aNGsm4ceOkbNmywSKb0juF9NCg5kB5QKBv3767jAqx6uuvv9Z8S214cQt7EcsUDmQLbty4UUqUKKE/osJueFhCXGnXrp2sXr1aJk+eTCE97CCEPB75FAzga9as0S+1Xbt2laOPPlpq1qwpQ4cOlVdffVUOOOAALT5mu4gRjIfsNQ4IFCT8IWsPz78xY8bo7L0jjzxSL4rin9QFnPLl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BwEa0u3RBSUhAkSACBABIkAEiAARIAJEgAgQASJABIgAESACRIAIEAELEaAh3UKlUCQiQASIABEgAkSACBABIkAEiAARIAJEgAgQASJABIgAEbAHARrS7dEFJSECRIAIEAEiQASIABEgAkSACBABIkAEiAARIAJEgAgQAQsRoCHdQqVQJCJABIgAESACRIAIEAEiQASIABEgAkSACBABIkAEiAARsAcBGtLt0QUlIQJEgAgQASJABIgAESACRIAIEAEiQASIABEgAkSACBABCxGgId1CpVAkIkAEoo3AxRdfrEaMGKGWLFkS7YlydkSACBABIkAEiAARCAkC7dq105Jij8ZGBIiAGQLkkxl+7E0EMiNAPtm1HmhI91Ef77zzjrrkkksy3nDQQQepEiVKqIYNG6oTTzxR/61w4cKeSjB48GA1YcIEdf/99+8z7oYNG9Tbb7+tBg4cqH755Re1e/duVbduXXXTTTeps88+21MZOBgRSAWBhQsXqieffFL98MMPatWqVSp//vyaK2eddZa64oorVMGCBVMZ1so+NKRbqZbICnXAAQckNbfhw4crZ5OWVAefHsI3DN/P8ePHqxkzZqg9e/aof/75x6e3cVgi4A6BMPHp77//Vv3791cDBgxQU6dOVb///ruqVq2a6t69u7r11ltVgQIF3E2eTxMBAwQSz0UYqlSpUuqwww5TvXr1UieccILB6Ml3nTNnjvrkk08U9mJVq1bdp6OJoeL7779XH3/8sf524axVqVIlOkwkrxY+6RKBKPNpx44dqm/fvuqrr75SM2fOVNu2bVM1a9bU50H8c+CBB7pEi48TgZwRiDKfMPNHH31Uff311wr2lq1bt+rvE+yRd911l/4Os7lHgIZ095gl3cMh5IMPPqgPLjBer1mzRns5wFhYuXJlvaAbNWqU9Ji5PXjdddepl19+eT+jwzfffKNOO+001aVLF9W+fXuVN29e9fnnnysYTu699171wAMP5DY0/04EfENg0KBB6swzz1S4bLrwwgtVgwYN1J9//qnGjBmj1ykOO6+//rpv7w96YBrSg0Y83u9777339gEAhjV8g9599919/vuxxx6rypQpk3awcBGMDR++jdjszZs3j4b0tGuFAjgIhIlPMD7AYaNVq1aqa9euqnTp0mrcuHGqX79+6uijj1bDhg1TyV4McAUQAVMEEs9F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v4KefOHCj3OAAPSUA07GEkMjAD2FhhoD5QgBaCpHHI1lhkIAegoFMwbJEQLQU444GssMhYAfPXkKpC9ZssQEDdFAAAQOJCAfl6pWreoLC/TkCxd+nEMEoKcccjaWGjgB6ClwxBggxwhAUznmcCw3UALQU6B40XmOEYCecszhWG6gBLzoyVMg/ZdffqFly5ZRqVKl6KCDDgp00ugcBKJAYPfu3ZSfn0+VK1emIkWK+Joy9OQLF36cAwSgpxxwMpYYGgHoKTTUGChHCEBTOeJoLDMUAtBTKJgxSI4QgJ5yxNFYZigE/OjJUyA9lFljEBAAARAAARAAARAAARAAARAAARAAARAAARAAARAAARBwkAAC6Q46BVMCARAAARAAARAAARAAARAAARAAARAAARAAARAAARBwhwAC6e74AjMBARAAARAAARAAARAAARAAARAAARAAARAAARAAARBwkAAC6Q46BVMCARAAARAAARAAARAAARAAARAAARAAARAAARAAARBwhwAC6e74AjMBARAAARAAARAAARAAARAAARAAARAAARAAARAAARBwkAAC6Q46BVMCARAAARAAARAAARAAARAAARAAARAAARAAARAAARBwhwAC6e74AjMBARAAARAAARAAARAAARAAARAAARAAARAAARAAARBwkAAC6Q46BVMCARAAARAAARAAARAAARAAARAAARAAARAAARAAARBwh8D/AwXALdTtm3LJAAAAAElFTkSuQmCC&quot; width=&quot;645&quot; /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;&amp;nbsp;(Best viewed on a larger than phone screen)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;I decided to use AI more in coding, so found some free tools and incorporated them into my coding experience.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;My initial goal &lt;br /&gt;&lt;/h2&gt;&lt;p&gt;Someone on Linkedin posted their &lt;u&gt;classification of types of quadrilaterals&lt;/u&gt; with a view to how they would implement each of them using OO principles. I commented on it, but was more interested in creating a program to state what type of quadrilateral it is given.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Starting off &lt;br /&gt;&lt;/h2&gt;&lt;p&gt;I won&#39;t go through all the many questions I put to the AI&#39;s but you ask something of the AI, do background searches on results, revise a question, think of implementation, revise the questions to the AI again, ....&lt;/p&gt;&lt;p&gt;Early on I thought the best way to input a quadrilateral would be by entering four ordered points that traced their way around the periphery of the shape so after chatgpt had given a different definition of a quadrilateral I asked:&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: #9fc5e8;&quot;&gt;&lt;i&gt;Is that the same as defining a quadrilateral as &quot;A closed figure constructed from tracing four ordered, unequal, noncollinear points closing by tracing from the last to the first point&quot;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;Because their were crucial occasions were lengths were computed and compared as floating point values I got the AI to align all input points onto a grid. After a while, I had to weigh how precise I would need to be to make specific changes to parts of the source in the AI, (and keeping track of those changes), versus just fixing my copy of some function and then just using select parts of AI generated code - with edits if it was from a different AI or something from a search.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Testing&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;I was using Vscode as my Python editor, I was &lt;i&gt;&lt;b&gt;not &lt;/b&gt;&lt;/i&gt;writing a Jupyter notebook, but I started using&amp;nbsp; &lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;comments to split my source into cells that I could easily run/rerun in its interactive and graphical interpreter.&lt;/p&gt;&lt;p&gt;I needed some test data so, with the aid of image searches for types of quadrilaterals, I defined &lt;b&gt;&lt;i&gt;my &lt;/i&gt;&lt;/b&gt;type of quadrilaterals, and stated what features they have as:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;test_cases&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [ &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# ([points], &quot;classification&quot;, &quot;description&quot;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Convex&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non crossing, all angles &amp;lt;180&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Rectangle1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, all ang == 90, opp sides ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Rectangle2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, all ang == 90, all sides ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Rectangle3&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, all ang == 90, opp sides ==, rotated&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Square1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, all ang == 90, opp sides ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Square2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, all ang == 90, all sides ==, rotated&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Rhombus&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, ang !=90, opp sides || and all sides ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Parallelogram&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, opp sides || and opp sides ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Trapezium1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, at least one set of opposite || sides&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Trapezium2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, at least one set of opposite || sides&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Kite1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non crossing, No interior ang &amp;gt;180, two non== sets of == lines that touch&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Kite2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non crossing, No interior ang &amp;gt;180, two non== sets of == lines that touch&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Reflex&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non crossing, one interior ang &amp;gt;180&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Dart1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non crossing, one interior ang &amp;gt;180, two non== sets of == lines that touch&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Dart2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non crossing, one interior ang &amp;gt;180, two non== sets of == lines that touch&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossed&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossing&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Truss1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossing, crossing lines ==, none-crossing lines ||&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Truss2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossing, crossing lines ==, none-crossing lines ||&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Bowtie1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossing, crossing lines ==, none-crossing lines || and ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Bowtie2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossing, crossing lines ==, none-crossing lines || and ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Bowtie3&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossing, crossing lines ==, none-crossing lines || and ==, rotated&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;It took some time working out a few of the points necessary as the AI&#39;s &quot;can&#39;t count&quot; very well so most were done by my hand calculations after giving up on AI help for this. (One gets tired of the confident but wrong replies).&lt;/p&gt;&lt;p&gt;You may not see the truss type of quadrilateral elsewhere, Bowties, to me always have that extra symmetry, but I needed a name for the category so chose truss.&lt;/p&gt;&lt;p&gt;Somewhere, there is a cell defining a function that visualises all the quadrilaterals. I started with chatgpt&#39;s help in starting function &lt;b&gt;&lt;i&gt;visualise_test_cases&lt;/i&gt;&lt;/b&gt; then modified it by hand, as necessary. The picture at the start of the blog is the final matplotlib output. Note: I used several versions of Python in development and some did not have matplotlib so used # %% cell shenanigans, and if 0: blocks so that the matplotlib stuff only runs in the vscode interpreter).&lt;/p&gt;&lt;p&gt;With testing, and debugging came another lot of AI and google searches, and AI describing some of the algorithms used. A google search lead to a StackOverflow q&amp;amp;A&#39;s where the &lt;u&gt;&lt;i&gt;second &lt;/i&gt;&lt;/u&gt;most used answer for finding the angles between two lines used atan2, and with an explanation of its benefits. I decided to use it and asked chatgpt to do this:&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;background-color: #9fc5e8;&quot;&gt;in _angle() is it better to use atan2?&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;That was most of what was needed to update def _angle() to that shown. Because float angles are also being compared, I wrote _round_angle myself and applied it appropriately.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;_classify becomes _categorise&amp;nbsp;&lt;/h2&gt;&lt;p&gt;I did not like the first, &quot;default&quot;, method of classification from chatgpt, which was refined as function _classify which returned only one type of quadrilateral for the given points, and was&amp;nbsp; a bit untidy in how it got there.. I asked several questions to get chatgpt to first calculate properties of&amp;nbsp; the quadrilateral, and refined it to form function _categorise. Putting my tests through it I got all the properties for my named quadrilaterals and pared them and reordered them to form dict &lt;i&gt;&lt;b&gt;quad2features&lt;/b&gt;&lt;/i&gt;. If the quadrilaterals features are a superset of those shown in quad2features then the quadrilateral is of the type in the key.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;OK output&lt;/h2&gt;&lt;p&gt;I started to get output that looked correct:&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; widows: 2; word-spacing: 0px;&quot;&gt;&lt;br class=&quot;Apple-interchange-newline&quot; /&gt;&lt;span style=&quot;background-color: #444444;&quot;&gt;Convex
&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non crossing, all angles &amp;lt;180
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (7, 3), (6, 6), (4, 9)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Convex&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Rectangle1
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non-crossing, all ang == 90, opp sides ==
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (7, 1), (7, 4), (1, 4)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Convex&#39;, &#39;Parallelogram&#39;, &#39;Rectangle&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Rectangle2
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non-crossing, all ang == 90, all sides ==
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (1, 7), (4, 7), (4, 1)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Convex&#39;, &#39;Parallelogram&#39;, &#39;Rectangle&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Rectangle3
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non-crossing, all ang == 90, opp sides ==, rotated
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(0, 3), (3, 0), (9, 6), (6, 9)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Convex&#39;, &#39;Parallelogram&#39;, &#39;Rectangle&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Square1
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non-crossing, all ang == 90, opp sides ==
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (7, 1), (7, 7), (1, 7)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Convex&#39;, &#39;Rhombus&#39;, &#39;Square&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Square2
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non-crossing, all ang == 90, all sides ==, rotated
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 5), (4, 1), (8, 4), (5, 8)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Convex&#39;, &#39;Rhombus&#39;, &#39;Square&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Rhombus
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non-crossing, ang !=90, opp sides || and all sides ==
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (6, 1), (9, 5), (4, 5)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Convex&#39;, &#39;Rhombus&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Parallelogram
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non-crossing, opp sides || and opp sides ==
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (6, 1), (9, 10), (4, 10)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Convex&#39;, &#39;Parallelogram&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Trapezium1
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non-crossing, at least one set of opposite || sides
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (7, 1), (5, 5), (2, 5)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Convex&#39;, &#39;Trapezium&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Trapezium2
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non-crossing, at least one set of opposite || sides
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (5, 3), (5, 6), (1, 7)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Convex&#39;, &#39;Trapezium&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Kite1
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non crossing, No interior ang &amp;gt;180, two non== sets of == lines that touch
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 4), (5, 1), (7, 4), (5, 7)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Convex&#39;, &#39;Kite&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Kite2
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non crossing, No interior ang &amp;gt;180, two non== sets of == lines that touch
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(4, 1), (1, 5), (4, 11), (7, 5)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Convex&#39;, &#39;Kite&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Reflex
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non crossing, one interior ang &amp;gt;180
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (5, 5), (7, 4), (4, 8)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Reflex&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Dart1
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non crossing, one interior ang &amp;gt;180, two non== sets of == lines that touch
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 4), (7, 1), (4, 4), (7, 7)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Reflex&#39;, &#39;Dart&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Dart2
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Non crossing, one interior ang &amp;gt;180, two non== sets of == lines that touch
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(4, 1), (1, 7), (4, 4), (7, 7)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Reflex&#39;, &#39;Dart&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Crossed
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Crossing
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (6, 6), (7, 2), (3, 9)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Reflex&#39;, &#39;Crossed&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Truss1
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Crossing, crossing lines ==, none-crossing lines ||
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (7, 7), (7, 3), (1, 9)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Reflex&#39;, &#39;Crossed&#39;, &#39;Truss&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Truss2
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Crossing, crossing lines ==, none-crossing lines ||
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (7, 7), (3, 7), (9, 1)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Reflex&#39;, &#39;Crossed&#39;, &#39;Truss&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Bowtie1
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Crossing, crossing lines ==, none-crossing lines || and ==
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (7, 9), (7, 1), (1, 9)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Reflex&#39;, &#39;Crossed&#39;, &#39;Truss&#39;, &#39;Bowtie&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Bowtie2
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Crossing, crossing lines ==, none-crossing lines || and ==
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(1, 1), (9, 7), (1, 7), (9, 1)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Reflex&#39;, &#39;Crossed&#39;, &#39;Truss&#39;, &#39;Bowtie&#39;]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;Bowtie3
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  Crossing, crossing lines ==, none-crossing lines || and ==, rotated
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  [(0, 3), (9, 6), (6, 9), (3, 0)]
&lt;/span&gt;&lt;span style=&quot;-webkit-text-stroke-width: 0px; background-color: #444444; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: pre; word-spacing: 0px;&quot;&gt;  QuadrilateralClassifier(points).classify() =[&#39;Reflex&#39;, &#39;Crossed&#39;, &#39;Truss&#39;, &#39;Bowtie&#39;]&lt;/span&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;The code&lt;/h2&gt;&lt;p&gt;Remember, my goal was to learn more about coding with added AI assistance - not to create production ready code.&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#!/bin/env python3.11&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Quadrilateral taxonomy&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Classification of quadrilaterals defined by a closed figure constructed by&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;tracing four ordered, distinct, and noncollinear points, connecting consecutive&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;oints with straight lines, and closing the shape by connecting the last point&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;to the first.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;QuadrilateralClassifier&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Features of quadrilaterals&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;quad2features&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Convex&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Convex&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Kite&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Convex&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;No Parallel Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Two Touching Equal Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Trapezium&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Convex&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;One Pair of Parallel Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Parallelogram&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Convex&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Two Pairs of Parallel Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Two Pairs of Equal Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Rhombus&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Convex&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Two Pairs of Parallel Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Four Equal Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Rectangle&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Convex&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Two Pairs of Parallel Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Two Pairs of Equal Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;4 Right Angles&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Square&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Convex&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Two Pairs of Parallel Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Four Equal Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;4 Right Angles&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Reflex&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Concave&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Dart&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Concave&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;No Parallel Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Two Touching Equal Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Crossed&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Crossed&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Truss&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Crossed&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;One Pair of Parallel Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Bowtie&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Crossed&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;One Pair of Parallel Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Two Pairs of Equal Sides&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;},&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;__init__&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;grid_size&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.01&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Initializes the QuadrilateralClassifier with points and grid size.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Parameters:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; points (list of tuples): List of four ordered points (x, y).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; grid_size (int): Size of the grid to which points will be aligned.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;raise&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;ValueError&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Exactly four points are required to define a quadrilateral.&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;original_points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;grid_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;grid_size&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_align_to_grid&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check if points remain four distinct and noncollinear after alignment&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;raise&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;ValueError&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Aligned points are not four distinct points.&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_is_noncollinear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;raise&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;ValueError&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Aligned points are collinear, not forming a quadrilateral.&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_align_to_grid&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Aligns points to the nearest grid size.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Parameters:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; points (list of tuples): List of points to align.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; list of tuples: List of aligned points.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;round&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;grid_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;grid_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;round&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;grid_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;grid_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_round_length&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;length&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Rounds length to grid/10 size.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Parameters:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; length: distance to round.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Rounded length.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;grid&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;grid_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;round&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;length&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;grid&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;grid&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_round_angle&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;angle&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_unit&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.01&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Rounds angle to multiples of _unit size.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Parameters:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; angle: Angle to round.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Rounded angle.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;round&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;angle&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_unit&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_unit&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_is_noncollinear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Checks if the points are noncollinear.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool: True if points are noncollinear, False otherwise.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;are_points_collinear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Checks if three points are collinear.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check all combinations of three points&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;are_points_collinear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;are_points_collinear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;are_points_collinear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;are_points_collinear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_distance&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Calculates the Euclidean distance between two points.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Parameters:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p1, p2 (tuple): Two points.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; float: Distance between the points.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_round_length&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sqrt&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_angle&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Calculates the angle (in degrees) at p2 formed by segments (p1, p2) and (p2, p3).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Parameters:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p1, p2, p3 (tuple): Three points.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; float: Angle in degrees.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dx1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dy1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dy2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;angle1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;atan2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dy1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dx1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;angle2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;atan2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dy2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;angle&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;degrees&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;angle2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;angle1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pi&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;angle&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;180&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;angle&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;360&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;angle&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_round_angle&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;angle&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_is_convex&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Determines if the quadrilateral is convex by analyzing the cross product of vectors formed by consecutive points. &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; A quadrilateral is convex if all cross products have the same sign, indicating consistent rotational direction.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool: True if the quadrilateral is convex, False otherwise.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;cross_product_sign&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Computes the sign of the cross product of vectors (p1-&amp;gt;p2) and (p2-&amp;gt;p3).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;signs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;signs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;cross_product_sign&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;all&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;signs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;all&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;signs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_is_crossed&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Checks if the quadrilateral is crossed (self-intersecting).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool: True if the quadrilateral is crossed, False otherwise.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;do_segments_intersect&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Checks if segments (p1, p2) and (p3, p4) intersect.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; This is determined using orientation tests to check if the endpoints of each segment lie on opposite sides of the other segment.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If the segments intersect, the intersection point lies within the bounds of each segment.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Parameters:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p1, p2 (tuple): Endpoints of the first segment.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p3, p4 (tuple): Endpoints of the second segment.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bool: True if the segments intersect, False otherwise.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;orientation&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;val&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;c&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;b&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;fabs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;val&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.000001&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;val&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Collinear&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;val&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;o1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;orientation&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;o2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;orientation&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;o3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;orientation&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;o4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;orientation&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# General case&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;o1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;o2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;o3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;o4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;has_crossed_lines&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;Check if a quadrilateral has crossed lines.&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;do_segments_intersect&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check if line 1-2 intersects with line 3-4&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;do_segments_intersect&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check if line 2-3 intersects with line 4-1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;has_crossed_lines&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_parallel_sides&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Counts the number of pairs of parallel sides.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int: Number of pairs of parallel sides (0, 1, or 2).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;is_parallel&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Checks if lines (p1, p2) and (p3, p4) are parallel.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;parallel_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;is_parallel&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;parallel_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;is_parallel&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;parallel_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;parallel_count&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_classify&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Classifies the type of quadrilateral.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; str: Type of quadrilateral.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_is_noncollinear&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Not a quadrilateral (points are collinear)&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Precompute distances&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_distance&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;diag1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_distance&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;diag2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_distance&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check if crossed&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_is_crossed&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check for bowtie or hourglass&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Bowtie (Crossed Quadrilateral)&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Hourglass (Crossed Quadrilateral)&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossed Quadrilateral&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check convexity&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;is_convex&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_is_convex&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;is_convex&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check for dart&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Dart (Concave Quadrilateral)&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Concave Quadrilateral&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check properties&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]: &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Opposite sides equal&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;diag1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;diag2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Diagonals equal&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Square (Convex)&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Rectangle (Convex)&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Rhombus (Convex)&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Parallelogram (Convex)&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;elif&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Trapezium (Convex)&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;elif&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Rhombus (Convex, Degenerate as Square)&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Irregular Quadrilateral (Convex)&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_categorise&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Categorises the quadrilaterals properties.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; set of str: Properties of the quadrilateral.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check convexity&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;is_convex&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_is_convex&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;is_convex&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Convex&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Concave&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check if crossed&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_is_crossed&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossed&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check for angles &amp;gt; 180°&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;reflex_angles&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_angle&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;180&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;any&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;reflex_angles&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Reflex&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check number of right angles&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;right_angle_count&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;abs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_angle&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;90&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1e-6&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;right_angle_count&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; Right Angles&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check number of equal sides&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_distance&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;unique_lengths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;unique_lengths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Four Equal Sides&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;elif&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;unique_lengths&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;d&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Two Pairs of Equal Sides&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Two Touching Equal Sides&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Check number of parallel sides&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;parallel_sides&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_parallel_sides&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;parallel_sides&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Two Pairs of Parallel Sides&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;elif&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;parallel_sides&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;One Pair of Parallel Sides&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;elif&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;parallel_sides&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;No Parallel Sides&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;types&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;classify&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Aligns points, validates them, and classifies the quadrilateral.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; str: Classification of the quadrilateral.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;features&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_categorise&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;quads&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;name&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;needed&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;quad2features&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;items&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;needed&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;issubset&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;features&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;quads&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Example usage of visualize_test_cases function&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;test_cases&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [ &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# ([points], &quot;classification&quot;, &quot;description&quot;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Convex&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non crossing, all angles &amp;lt;180&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Rectangle1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, all ang == 90, opp sides ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Rectangle2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, all ang == 90, all sides ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Rectangle3&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, all ang == 90, opp sides ==, rotated&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Square1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, all ang == 90, opp sides ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Square2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, all ang == 90, all sides ==, rotated&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Rhombus&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, ang !=90, opp sides || and all sides ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Parallelogram&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, opp sides || and opp sides ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Trapezium1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, at least one set of opposite || sides&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Trapezium2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non-crossing, at least one set of opposite || sides&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Kite1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non crossing, No interior ang &amp;gt;180, two non== sets of == lines that touch&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Kite2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non crossing, No interior ang &amp;gt;180, two non== sets of == lines that touch&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Reflex&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non crossing, one interior ang &amp;gt;180&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Dart1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non crossing, one interior ang &amp;gt;180, two non== sets of == lines that touch&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Dart2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Non crossing, one interior ang &amp;gt;180, two non== sets of == lines that touch&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossed&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossing&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Truss1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossing, crossing lines ==, none-crossing lines ||&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Truss2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossing, crossing lines ==, none-crossing lines ||&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Bowtie1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossing, crossing lines ==, none-crossing lines || and ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Bowtie2&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossing, crossing lines ==, none-crossing lines || and ==&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ([(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)], &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Bowtie3&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Crossing, crossing lines ==, none-crossing lines || and ==, rotated&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;matplotlib&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;pyplot&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;as&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;plt&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;visualize_test_cases&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;test_cases&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Visualizes the test cases and labels them with their classification.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Parameters:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; test_cases (list of tuples): List of tuples, each containing points and classification.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;fig&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;axs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;plt&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;subplots&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;figsize&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;15&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;axs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;axs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.flatten()&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Determine the global axis limits&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;point&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;__classification&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_description&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;test_cases&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;point&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;xs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ys&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x_min&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x_max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;min&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;xs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;xs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y_min&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y_max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;min&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ys&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ys&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;classification&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_description&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;axs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;test_cases&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[::]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.append(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# To complete the quadrilateral loop&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;xs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ys&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.plot(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;xs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ys&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;marker&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;o&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.set_title(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;classification&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.set_xticks([])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.set_yticks([])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.set_xlim(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x_min&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x_max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ax&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.set_ylim(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y_min&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;y_max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;plt&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;tight_layout&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;plt&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;show&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;visualize_test_cases&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;test_cases&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;head&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; \&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;NAME &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CONVEX &amp;nbsp;REFLEX &amp;nbsp;CROSSING &amp;nbsp; &amp;nbsp;&amp;gt;180DEG &amp;nbsp; &amp;nbsp; =90DEG &amp;nbsp;SIDES== &amp;nbsp; &amp;nbsp; PARALLEL&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;strip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;split&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;body&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;line&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;strip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;split&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;line&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Convex &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;True &amp;nbsp; &amp;nbsp;False &amp;nbsp; False &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Rectangle &amp;nbsp; &amp;nbsp; &amp;nbsp; True &amp;nbsp; &amp;nbsp;False &amp;nbsp; False &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 4 &amp;nbsp; &amp;nbsp; &amp;nbsp; 2,pairs &amp;nbsp; &amp;nbsp; 2,pairs&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Square &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;True &amp;nbsp; &amp;nbsp;False &amp;nbsp; False &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 4 &amp;nbsp; &amp;nbsp; &amp;nbsp; 4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2,pairs&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Rhombus &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; True &amp;nbsp; &amp;nbsp;False &amp;nbsp; False &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 4 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2,pairs&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Parallelogram &amp;nbsp; True &amp;nbsp; &amp;nbsp;False &amp;nbsp; False &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 2,pairs &amp;nbsp; &amp;nbsp; 2,pairs&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Trapezium &amp;nbsp; &amp;nbsp; &amp;nbsp; True &amp;nbsp; &amp;nbsp;False &amp;nbsp; False &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1,pair&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Kite &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;True &amp;nbsp; &amp;nbsp;False &amp;nbsp; False &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 2,Tpairs &amp;nbsp; &amp;nbsp;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Reflex &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;False &amp;nbsp; True &amp;nbsp; &amp;nbsp;False &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Dart &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;False &amp;nbsp; True &amp;nbsp; &amp;nbsp;False &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 &amp;nbsp; &amp;nbsp; &amp;nbsp; 0 &amp;nbsp; &amp;nbsp; &amp;nbsp; 2,Tpairs &amp;nbsp; &amp;nbsp;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Crossed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; False &amp;nbsp; False &amp;nbsp; True &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Truss &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; False &amp;nbsp; False &amp;nbsp; True &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1,pair&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Bowtie &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;False &amp;nbsp; False &amp;nbsp; True &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- &amp;nbsp; &amp;nbsp; &amp;nbsp; - &amp;nbsp; &amp;nbsp; &amp;nbsp; 2,pairs &amp;nbsp; &amp;nbsp; 1,pair&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# KEY&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# CONVEX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;not REFLEX and not CROSSED&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# REFLEX &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;One angle greater than 180 degrees&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# CROSSING &amp;nbsp; &amp;nbsp; &amp;nbsp;two lines in figure cross over&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# &amp;gt;180DEG &amp;nbsp; &amp;nbsp; &amp;nbsp; Interior angles greater than 180 degrees&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# =90DEG &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Interior right-angles&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# SIDES== &amp;nbsp; &amp;nbsp; &amp;nbsp; Number of equal length sides&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# PARALLEL &amp;nbsp; &amp;nbsp; &amp;nbsp;Number of parallel sides&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;#&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# - &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Don&#39;t care&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# Tpairs &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Pair of equal length sides Touching at one shared point&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;strip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;splitlines&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;line&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;strip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;line&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;startswith&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;#&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#for points, classification, description in test_cases[4:5]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#for points, classification, description in test_cases[-1:]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;quad2features&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;classification&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;description&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;test_cases&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;quad2features&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;classification&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;QuadrilateralClassifier&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;classify&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;classification&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;description&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;QuadrilateralClassifier&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;points&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;).&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;classify&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;=}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;IS AI Worth it?&lt;/h1&gt;&lt;p&gt;I was surprised by just how much AI will do on early prompts, but days are then spent honing and checking, again and again.. Some things, like the has_crossed_lines function just could not be done correctly by chatgpt. It continuousely got the line segments and points of the line segments wrong. In the end I had to cut-n-paste the correct points andintersection checks into my query for it to then &quot;generate&quot; the right function. I had to know what I was doing to have first found the error.&lt;/p&gt;&lt;p&gt;One needs to know more, or find out more, than the AI to spot mistakes. The AI &lt;i&gt;can &lt;/i&gt;help with this by asking it to explain parts of its code then searching for corroborating evidence, or for limitations in the algorithms it has chosen.&lt;/p&gt;&lt;p&gt;The AI&#39;s can&#39;t calculate worth a damn, and this can affect their orderings too. It helps if the AI interface can not only generate code, but also run it. Asking AI to generate points for various types of quadrilateral was error prone, leading me to do it without AI aid.&lt;/p&gt;&lt;p&gt;Free AI accounts have limits! I had to wait till the next day on several occasions after using up my free time.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In summary,&lt;b&gt; I will carry on trying out AI, hopefully both it and I will get better!&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/3797424006789846400/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2025/01/me-chatgpt-copilot-gemini-and-google.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/3797424006789846400'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/3797424006789846400'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2025/01/me-chatgpt-copilot-gemini-and-google.html' title='Me, Chatgpt, copilot, gemini, and google search classify quadrilaterals'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-6174333877481047677</id><published>2024-11-17T23:44:00.002+00:00</published><updated>2024-11-18T10:11:20.664+00:00</updated><title type='text'>There&#39;s the easy way...</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFWNOm5UwdccnGYht91syCP6sRsODmlKu7xlUk38f3AomT93sjQoGBix35M0aQg1o78eRHc2BZTtqmTq1gINTopJqLmWd6qj7LxnGYVZ_mWch5MTGPWRFCIM4-k_RyJTWylHePj08UKbNDRD61uj7XxdB_wU87lx-6q5bPQhvkeTNIAEVlIfH6/s224/jamaican_pondering_code.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;224&quot; data-original-width=&quot;224&quot; height=&quot;224&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFWNOm5UwdccnGYht91syCP6sRsODmlKu7xlUk38f3AomT93sjQoGBix35M0aQg1o78eRHc2BZTtqmTq1gINTopJqLmWd6qj7LxnGYVZ_mWch5MTGPWRFCIM4-k_RyJTWylHePj08UKbNDRD61uj7XxdB_wU87lx-6q5bPQhvkeTNIAEVlIfH6/s1600/jamaican_pondering_code.jpg&quot; width=&quot;224&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;Best seen on a larger than landscape phone &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Someone blogged about a particular problem:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;From: https://theweeklychallenge.org/blog/perl-weekly-challenge-294/#TASK1&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Given an unsorted array of integers, `ints`&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Write a script to return the length of the longest consecutive elements sequence.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Return -1 if none found. *The algorithm must run in O(n) time.*&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;The solution they blogged used a sort which meant it could not be O(n) in time, but the problem looked good so I gave it some thought.&lt;/p&gt;&lt;p&gt;Sets! sets are O(1) in Python and are good for looking things up.&lt;/p&gt;&lt;p&gt;What if when looking at the inputted numbers, one at a time, you also looked for other ints in the input that would &lt;b&gt;&lt;i&gt;extend &lt;/i&gt;&lt;/b&gt;the int you have to form a longer&amp;nbsp; range?&amp;nbsp; Keep tab of the longest range so far and if you remove ints from the pool as they form ranges, when the pool is empty, you should know the longest range.&lt;/p&gt;&lt;p&gt;I added the printout of the longest range too.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;My code&lt;/h2&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;consec_seq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Extract longest_seq_length, its_min, its_max&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pool&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pool&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pool&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pop&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ln&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# check down&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;:=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pool&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ln&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pool&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;remove&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# check up&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;:=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pool&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ln&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;pool&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;remove&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# check longest&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ln&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ln&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mx&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mx&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_test&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[(),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;69&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;78&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;79&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# two runs of five&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# two runs of five - reversed&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# runs of 6 and 5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# runs of 5 and 6&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Input &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;consec_seq&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;-1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;The/A longest sequence has &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; elements &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mn&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;..&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mx&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;__name__&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;__main__&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_test&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Sample output&lt;/h3&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = ()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; -1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (69,)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; -1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (-20, 78, 79, 1, 100)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 2 elements 78..79&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (10, 4, 20, 1, 3, 2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 4 elements 1..4&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (0, 6, 1, 8, 5, 2, 4, 3, 0, 7)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 9 elements 0..8&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (10, 30, 20)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; -1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (2, 4, 3, 1, 0, 10, 12, 11, 8, 9)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 5 elements 0..4&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (10, 12, 11, 8, 9, 2, 4, 3, 1, 0)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 5 elements 0..4&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (2, 4, 3, 1, 0, -1, 10, 12, 11, 8, 9)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 6 elements -1..4&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (2, 4, 3, 1, 0, 10, 12, 11, 8, 9, 7)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 6 elements 7..12&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;/h3&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Another Algorithm&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;What if, you kept and extended ranges untill you amassed all ranges then chose the longest? I need to keep the hash lookup. dict key lookup should also be O(1).&amp;nbsp; What to look up? &lt;b&gt;&lt;i&gt;Look up ints that would extend a range&lt;/i&gt;&lt;/b&gt;!&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;If you have an existing (integer) range, say 1..3 inclusive of end points then finding 0 would extend the range to 0..3 or finding one more than the range maximum, 4 would extend the original range to 1..4&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;So if you have ranges then they could be extended by finding rangemin - 1 or rangemax +1. I call then &lt;i&gt;extends&lt;/i&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;If you do find that the next int from the input ints is also an extends value then you need to find the range that it extends, (by lookup), so you can modify that range. - use a dict to map extends to their range and checking if an int is in the extends dict keys should also take O(1) time.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;I took that sketch of an algorithm and started to code. It took two evenings to finally get something that worked and I had to work out several details that were trying. The main problem was what about coalescing ranges? if you have ranges 1..2 and 4..5 what happens when you see a 3? the resultant is the single range 1..5. It took particular test cases and extensive debugging to work out that the extends2range mapping should map to potentially more than one range and that you need to combine ranges if two of them are present for any extend value being hit.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;So for 1..2 the extends being looked for are 0 and 3. For 4..5 the extends being looked for are 3, again, and 6. The extends2ranges data structure for just this should look like:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;{0: [[1, 2]],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;3: [[1, 2], [4, 5]],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;6: [[4, 5]]}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/h3&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;The Code #2&lt;/h3&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;collections&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;defaultdict&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;combine_ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;min1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;min2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Combine two overlapping ranges return the new range as [min, max], and a set of limits unused in the result&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;min1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;min2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Well formed&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ( &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;min1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;min2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; )) &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# and ranges touch or overlap&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;range_limits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;([&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;min1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;min2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;min&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;range_limits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;range_limits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;unused_limits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;range_limits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;unused_limits&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;consec_seq2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Extract longest_seq_length, its_min, its_max&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;seen&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# numbers seen so far&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;defaultdict&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# map extends to its ranges&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;seen&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;continue&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;seen&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Start new range&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Range of one int&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# add in the extend points&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Extend an existing range&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# The range(s) that could be extended by this&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# this joins the two ranges&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_and_join_ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# extend one range, copied&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_and_join_ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, [&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].copy()])&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(), &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;all_ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;lambda&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mx&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;extend_and_join_ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ranges&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx_orig&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx2_orig&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.copy(), &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.copy() &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# keep copy of originals&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mn2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Extend lower limit of the range&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mn2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mn2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Extend lower limit of the range&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Extend upper limit of the range&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Extend lower limit of the range&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_unused_limits&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;combine_ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mn2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;remove_merged_from_extends&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;add_combined_range_to_extends&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;add_combined_range_to_extends&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Add in the combined of two ranges&#39;s extends&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mnmx&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extend&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extend&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# ranges at new limit extension&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.append(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;remove_merged_from_extends&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Remove original ranges that were merged from extends&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lohi&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lo&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;hi&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lohi&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extend&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lo&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;hi&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extend&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extend&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_old&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mnmx2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_old&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.remove(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r_old&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;del&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extend&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# remove joining extend, this&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;del&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;extends2ranges&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_test&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;69&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;78&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;79&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;30&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# two runs of five&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# two runs of five - reversed&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# runs of 6 and 5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# runs of 5 and 6&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Input &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mn&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;consec_seq2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;-1&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;The/A longest sequence has &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; elements &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mn&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;..&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;longest_mx&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;__name__&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;__main__&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;_test&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Its Output&lt;br /&gt;&lt;/h4&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;Input ints = ()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; -1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (69,)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; -1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (-20, 78, 79, 1, 100)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 2 elements 78..79&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (4, 1, 3, 2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 4 elements 1..4&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (10, 4, 20, 1, 3, 2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 4 elements 1..4&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (0, 6, 1, 8, 5, 2, 4, 3, 0, 7)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 9 elements 0..8&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (10, 30, 20)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; -1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (2, 4, 3, 1, 0, 10, 12, 11, 8, 9)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 5 elements 0..4&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (10, 12, 11, 8, 9, 2, 4, 3, 1, 0)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 5 elements 8..12&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (2, 4, 3, 1, 0, -1, 10, 12, 11, 8, 9)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 6 elements -1..4&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Input ints = (2, 4, 3, 1, 0, 10, 12, 11, 8, 9, 7)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; The/A longest sequence has 6 elements 7..12&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;This second algorithm gives correct results but is harder to develop and explain. It&#39;s a testament to my stubbornness as I thought there was a solution there, and debugging was me flexing my skills to keep them honed.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b&gt;END.&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/6174333877481047677/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2024/11/theres-easy-way.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/6174333877481047677'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/6174333877481047677'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2024/11/theres-easy-way.html' title='There&#39;s the easy way...'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFWNOm5UwdccnGYht91syCP6sRsODmlKu7xlUk38f3AomT93sjQoGBix35M0aQg1o78eRHc2BZTtqmTq1gINTopJqLmWd6qj7LxnGYVZ_mWch5MTGPWRFCIM4-k_RyJTWylHePj08UKbNDRD61uj7XxdB_wU87lx-6q5bPQhvkeTNIAEVlIfH6/s72-c/jamaican_pondering_code.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-4510800082894092026</id><published>2024-05-27T20:06:00.002+01:00</published><updated>2024-06-02T15:19:10.203+01:00</updated><title type='text'>Recreating the CVM algorithm for estimating distinct elements gives problems</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;img alt=&quot;a Jamaican teaching Python in the Blue Mountains. Image 2 of 4&quot; height=&quot;389&quot; src=&quot;https://th.bing.com/th/id/OIG3.cmm4l4YfiKKoynBLhv2r?w=173&amp;amp;h=173&amp;amp;c=6&amp;amp;r=0&amp;amp;o=5&amp;amp;dpr=1.3&amp;amp;pid=ImgGn&quot; width=&quot;389&quot; /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;Someone at work posted a link to this &lt;a href=&quot;https://www.quantamagazine.org/computer-scientists-invent-an-efficient-new-way-to-count-20240516/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Quanta Magazine article&lt;/a&gt;. It describes a novel, and seemingly straight-forward way to estimate the number of distinct elements in a datastream.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Quanta describes the algorithm, and as an example gives &quot;counting the number of distinct words in Hamlet&quot;.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Following Quanta&lt;/h2&gt;&lt;p&gt;I looked at the description and decided to follow their text. They carefully described each round of the algorithm which I coded up and then looked for the generalizations and implemented a loop over alll items in the stream ....&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;It did not work! &lt;/i&gt;&lt;/b&gt;I got silly numbers. I could download Hamlet split it into words, (around 32,000), do len(set(words) to get the exact number of distinct words, (around 7,000), then run it through the algorithm and get a stupid result with tens of digits for the estimated number of distinct words.&lt;br /&gt;I re-checked my implementation of the Quanta-described algorithm and couldn&#39;t see any mistake, but I had originally noticed a link to the original paper. I did not follow it at first as original papers can be heavily into maths notation and I prefer reading algorithms described in code/pseudocode.&amp;nbsp;&lt;/p&gt;&lt;p&gt;I decided to take a look at the original.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;The &lt;a href=&quot;https://arxiv.org/pdf/2301.10191&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;CVM Original Paper&lt;/a&gt;&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;I scanned the paper.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;I read the paper.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;I looked at Algorithm 1 as a probable candidate to decypher into Python, but the description was cryptic. Heres that description taken from the paper:&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;AI To the rescue!?&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;I had a brainwave💡lets chuck it at &lt;b&gt;&lt;i&gt;two &lt;/i&gt;&lt;/b&gt;AI&#39;s and see what they do. I had Gemini and I had Copilot to hand and asked them each to express Algorithm 1 as Python. Gemini did something, and Copilot finally did something but I first had to open the page in Microsoft Edge.&lt;br /&gt;There followed hours of me reading and cross-comparing between the algorithm and the AI&#39;s. If I did not understand where something came from I would ask the generating AI; If I found an error I would first, (and second and...), try to get the AI to make a fix I suggested. &lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;At this stage I was also trying to get a feel for how the AI&#39;s could help me, (now way past what I thought the algorithm &lt;i&gt;should &lt;/i&gt;be, just to see what it would take to get those AI&#39;s to cross T&#39;s and dot I&#39;s on a good solution).&lt;br /&gt;Not a good use of time! I now know that asking questions to update one of the 20 to 30 lines of the Python function might fix that line, but unfix another line you had fixed before. Code from the AI does not have line numbers making it difficult to state what needs changing, and where.They can suggest type hints and create the beginnings of docstrings, but, for example, it pulled out the wrong authors for the name of the algorithm.&lt;br /&gt;In line 1 of the algorithm, the initialisation of thresh is clearly shown, I thought, but both AI&#39;s had difficulty getting the Python right. eventually I cut-n-pasted the text into each AI, where they confidentially said &quot;OF course...&quot;, made a change, and then I had to re-check for any &lt;i&gt;&lt;b&gt;other&lt;/b&gt;&lt;/i&gt; changes.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;My Code&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;I first created this function:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;F0_Estimator&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stream&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Collection&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;epsilon&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stream&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;thresh&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;ceil&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;epsilon&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;log&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stream&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;discard&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;thresh&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x_item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x_item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;I tested it with Hamlet data and it made OK estimates.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Elated, I took a break.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Hacker News&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;The next evening I decided to do a search to see If anyone else was talking about the algorithm and found &lt;a href=&quot;https://news.ycombinator.com/item?id=40379175#40399758&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;a thread on Hacker News&lt;/a&gt; that was right up my street. People were discussing those same problems found in the Quanta Article - and getting similar ginormous answers. They had one of the original Authors of the paper making comments! And others had created code from the actual paper and said it was also easier than the Quanta description.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;The author mentioned that no less than Donald Knuth had taken an interest in their algorithm and had noted that the expression starting `X = ...` four lines from the end could, thoretically, make &lt;b&gt;no &lt;/b&gt;change to X, and the solution was to encase the assignment in a while loop that only exited if len(X) &amp;lt; thresh.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Code update&lt;/h3&gt;&lt;p style=&quot;text-align: left;&quot;&gt;I decided to add that change:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;F0_Estimator&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stream&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Collection&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;epsilon&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Estimates the number of distinct elements in the input stream.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; This function implements the CVM algorithm for the problem of &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; estimating the number of distinct elements in a stream of data.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; The stream object must support an initial call to __len__ &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Parameters:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; stream (Collection[Any]): The input stream as a collection of hashable &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; items.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; epsilon (float): The desired relative error in the estimate. It must be in &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; the range (0, 1).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; delta (float): The desired probability of the estimate being within the &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; relative error. It must be in the range (0, 1).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; float: An estimate of the number of distinct elements in the input stream.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stream&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;thresh&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;ceil&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;epsilon&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;log&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stream&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;discard&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;thresh&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;thresh&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Force a change&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x_item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x_item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;} &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Random, so could do nothing&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;thresh&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;In the code above, the variable thresh, (threshhold), named from Algorithm 1, is used in the Quanta article to describe the maximum storage available to keep items from the stream that have been seen before. You must know the length of the stream - m, epsilon, and delta to &lt;b&gt;&lt;i&gt;calculate &lt;/i&gt;&lt;/b&gt;thresh.&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;If you were to have just the stream and&amp;nbsp; thresh as the arguments you could return both the estimate of the number of distinct items in the stream as well as counting the number of total elements in the stream.&lt;br /&gt;Epsilon could be calculated from the numbers we now know.&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;F0_Estimator2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stream&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Iterable&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;thresh&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Estimates the number of distinct elements in the input stream.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; This function implements the CVM algorithm for the problem of &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; estimating the number of distinct elements in a stream of data.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; The stream object does NOT have to support a call to __len__ &lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Parameters:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; stream (Iterable[Any]): The input stream as an iterable of hashable &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; items.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; thresh (int): The max threshhold of stream items used in the estimation.py&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; tuple[float, int]: An estimate of the number of distinct elements in the &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; input stream, and the count of the number of items in stream.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Count of items in stream&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stream&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;discard&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;add&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;thresh&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;thresh&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Force a change&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x_item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x_item&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;} &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Random, so could do nothing&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4fc1ff;&quot;&gt;X&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;m&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;F0_epsilon&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;thresh&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.05&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# &amp;nbsp;0.05 is 95%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Calculate the relative error in the estimate from F0_Estimator2(...)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Parameters:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; thresh (int): The thresh value used in the call TO F0_Estimator2.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; m (int): The count of items in the stream FROM F0_Estimator2.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; delta (float): The desired probability of the estimate being within the &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; relative error. It must be in the range (0, 1) and is usually 0.05&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; to 0.01, (95% to 99% certainty).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; float: The calculated relative error in the estimate&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sqrt&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;thresh&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;log&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;Testing&lt;/h1&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;stream_gen&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;k&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;30_000&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7_000&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Create a randomised list of k ints of up to r different values.&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;random&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;choices&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;k&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;k&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;stream_stats&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;Any&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;length&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;distinct&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;length&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;distinct&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %% &lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;CVM ALGORITHM ESTIMATION OF NUMBER OF UNIQUE VALUES IN A STREAM&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stream_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;**&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;18&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;reps&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;target_uniques&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;target_uniques&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stream_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;the_stream&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;stream_gen&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;stream_size&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;target_uniques&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;target_uniques&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;unique&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;stream_stats&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;the_stream&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp;Actual:&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:_}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;unique&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:_}&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;nbsp;Estimations:&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.05&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;threshhold&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp; &amp;nbsp;All runs using &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:.2f}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; and with estimate averaged from &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;reps&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; runs:&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;threshhold&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;estimate&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;esize&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;F0_Estimator2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;the_stream&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;copy&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(), &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;threshhold&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;estimate&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;([&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;estimate&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;F0_Estimator2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;the_stream&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;copy&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(), &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;threshhold&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;reps&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;reps&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;estimate&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;estimate&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;epsilon&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;F0_epsilon&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;threshhold&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;esize&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;delta&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp; &amp;nbsp; &amp;nbsp;With &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;threshhold&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; = :&lt;/span&gt;&lt;span style=&quot;color: #f44747;&quot;&gt;7_&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; -&amp;gt; &quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;estimate&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:_}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;, +/-&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;epsilon&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:.0f}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;esize&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:_}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;esize&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;threshhold&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;The algorithm generates an estimate based on random sampling, so I run it multiple times for the same input and report the mean estimate from those runs.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Sample output&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;CVM ALGORITHM ESTIMATION OF NUMBER OF UNIQUE VALUES IN A STREAM&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Actual:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; size = 262_145, unique = 1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Estimations:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; All runs using delta = 0.05 and with estimate averaged from 5 runs:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; &amp;nbsp; 2 -&amp;gt; estimate = 1, +/-1026%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; &amp;nbsp;16 -&amp;gt; estimate = 1, +/-363%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; 128 -&amp;gt; estimate = 1, +/-128%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; 1_024 -&amp;gt; estimate = 1, +/-45%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; 8_192 -&amp;gt; estimate = 1, +/-16%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp;65_536 -&amp;gt; estimate = 1, +/-6%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Actual:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Actual:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; size = 262_145, unique = 1_024&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Estimations:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; All runs using delta = 0.05 and with estimate averaged from 5 runs:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; &amp;nbsp; 2 -&amp;gt; estimate = 16_384, +/-1026%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; &amp;nbsp;16 -&amp;gt; estimate = 768, +/-363%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; 128 -&amp;gt; estimate = 1_101, +/-128%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; 1_024 -&amp;gt; estimate = 1_018, +/-45%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; 8_192 -&amp;gt; estimate = 1_024, +/-16%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp;65_536 -&amp;gt; estimate = 1_024, +/-6%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Actual:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; size = 262_145, unique = 4_096&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Estimations:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; All runs using delta = 0.05 and with estimate averaged from 5 runs:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; &amp;nbsp; 2 -&amp;gt; estimate = 13_107, +/-1026%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; &amp;nbsp;16 -&amp;gt; estimate = 3_686, +/-363%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; 128 -&amp;gt; estimate = 3_814, +/-128%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; 1_024 -&amp;gt; estimate = 4_083, +/-45%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; 8_192 -&amp;gt; estimate = 4_096, +/-16%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp;65_536 -&amp;gt; estimate = 4_096, +/-6%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Actual:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; size = 262_145, unique = 16_384&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Estimations:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; All runs using delta = 0.05 and with estimate averaged from 5 runs:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; &amp;nbsp; 2 -&amp;gt; estimate = 0, +/-1026%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; &amp;nbsp;16 -&amp;gt; estimate = 15_155, +/-363%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; 128 -&amp;gt; estimate = 16_179, +/-128%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; 1_024 -&amp;gt; estimate = 16_986, +/-45%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; 8_192 -&amp;gt; estimate = 16_211, +/-16%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp;65_536 -&amp;gt; estimate = 16_384, +/-6%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Actual:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; size = 262_145, unique = 64_347&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Estimations:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; All runs using delta = 0.05 and with estimate averaged from 5 runs:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; &amp;nbsp; 2 -&amp;gt; estimate = 26_214, +/-1026%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; &amp;nbsp;16 -&amp;gt; estimate = 73_728, +/-363%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; &amp;nbsp; 128 -&amp;gt; estimate = 61_030, +/-128%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; 1_024 -&amp;gt; estimate = 64_422, +/-45%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp; 8_192 -&amp;gt; estimate = 64_760, +/-16%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; With threshhold = &amp;nbsp;65_536 -&amp;gt; estimate = 64_347, +/-6%&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Looks good!&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Wikipedia&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Another day, and I decide to start writing this blog post. I searched again and found the Wikipedia article on what it called the &lt;a href=&quot;https://en.wikipedia.org/wiki/Count-distinct_problem&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Count-distinct problem&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Looking through it, It had this wrong description of the CVM algorithm:&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;The, (or a?),&amp;nbsp; problem with the wikipedia entry is that it shows &lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;span class=&quot;nowrap&quot;&gt;&lt;span class=&quot;mwe-math-element&quot;&gt;&lt;span class=&quot;mwe-math-mathml-inline mwe-math-mathml-a11y&quot; style=&quot;display: none;&quot;&gt;&lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;
  &lt;semantics&gt;
    &lt;mrow&gt;
      &lt;mstyle displaystyle=&quot;true&quot; scriptlevel=&quot;0&quot;&gt;
        &lt;mi&gt;p&lt;/mi&gt;
        &lt;mo stretchy=&quot;false&quot;&gt;←&lt;/mo&gt;
        &lt;mrow&gt;
          &lt;mfrac&gt;
            &lt;mi&gt;p&lt;/mi&gt;
            &lt;mn&gt;2&lt;/mn&gt;
          &lt;/mfrac&gt;
        &lt;/mrow&gt;
      &lt;/mstyle&gt;
    &lt;/mrow&gt;
    
  &lt;/semantics&gt;
&lt;/math&gt;&lt;/span&gt;&lt;img alt=&quot;{\displaystyle p\leftarrow {\frac {p}{2}}}&quot; aria-hidden=&quot;true&quot; class=&quot;mwe-math-fallback-image-inline mw-invert skin-invert&quot; src=&quot;https://wikimedia.org/api/rest_v1/media/math/render/svg/43f7db7d6e21c7c59af32708d9e9483d00bc9dbc&quot; style=&quot;height: 4.843ex; margin-left: -0.089ex; vertical-align: -1.838ex; width: 6.878ex;&quot; /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&lt;i&gt;...within &lt;/i&gt;&lt;/b&gt;the while loop. You need an enclosing if |B| &amp;gt;= s for the while loop and the&amp;nbsp; assignment to p outside the while loop, but inside this new if statement.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b style=&quot;color: #2b00fe;&quot;&gt;STOp PRESS! 02 May 2024: The Wikipedia entry was actually correct.&amp;nbsp; &lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;It&#39;s tough!&lt;/h1&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Both Quanta Magazine, and whoever added the algorithm to Wikipedia got the algorithm wrong.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;I&#39;ve written around two hundred tasks on site Rosettacode.org for over a decade. Others had to read my description and create code in their chosen language to implement those tasks. I have learnt from the feedback I got on talk pages to hone that craft, but details matter. Examples matter. Constructive feedback matters.&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b&gt;END.&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/4510800082894092026/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2024/05/recreating-cvm-algorithm-for-estimating.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/4510800082894092026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/4510800082894092026'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2024/05/recreating-cvm-algorithm-for-estimating.html' title='Recreating the CVM algorithm for estimating distinct elements gives problems'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-575914684967658149</id><published>2024-05-10T20:09:00.000+01:00</published><updated>2024-05-10T20:09:42.795+01:00</updated><title type='text'>Predicting results from small samples.</title><content type='html'>&lt;div class=&quot;separator&quot;&gt;&lt;p style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&amp;nbsp;

&lt;img alt=&quot;A black Englishman doing statistics on a blackboard. Image 1 of 4&quot; class=&quot;mimg&quot; data-bm=&quot;6&quot; height=&quot;173&quot; src=&quot;https://th.bing.com/th/id/OIG1.TDqZYPNqkW5fwMiIjtgr?w=173&amp;amp;h=173&amp;amp;c=6&amp;amp;r=0&amp;amp;o=5&amp;amp;dpr=1.3&amp;amp;pid=ImgGn&quot; width=&quot;173&quot; /&gt;

&lt;/p&gt;&lt;/div&gt;&lt;p&gt;I&#39;ve run simulations, tens of thousands of them at a time, over and over as we developed chips. In one project I noticed that I could predict the final result after only a small number of results were in which allowed me to halt the rest of the simulations, or make advance preparations for the final result.&lt;/p&gt;&lt;p&gt;I looked it up at the time and, indeed, there is an equation where if you want the pass rate of a &quot;large&quot; population to within a given accuracy, it will give you the minimum sample size to use.&lt;/p&gt;&lt;p&gt;To some, that&#39;s all gobledygook so I&#39;ll try to explain with some code.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Explanation&lt;/h2&gt;&lt;p&gt;Lets say you have a large randomised population of pass/fails or ones and zeroes:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; random &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;population_size &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;100_000&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# must be large, &amp;gt; 65K?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;sample_size &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;123 &lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Actual&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;p_hat &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Population pass rate, 0.5 == 50%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;_ones &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(population_size&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;p_hat)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;_zeroes &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; population_size &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ones&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;population &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ones &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _zeroes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;And that we take a sample from it and compute the pass rate of that single, smaller sample&lt;br /&gt;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;random_sample&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() -&amp;gt; list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample(population, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;k&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;sample_size)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;pass_rate &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(random_sample()) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# how many ones&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample_size) &amp;nbsp; &amp;nbsp;   &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# convert to a pass rate&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(pass_rate) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# e.g. 0.59027552674230146&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;Every time we run that pass_rate expression we get a different value. It is random. We need to run that pass_rate calculation many times to get an idea of what the likely pass_rate would be when using the given sample size:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;runs_per_sample &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10_000&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# each sample size is run this many times ~2500&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;pass_rates &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(random_sample()) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample_size&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(runs_per_sample)]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;I have learnt that the question to ask is not how many times the sample pass rate was the population pass rate, but to define an acceptable margin of error, (say 5%) and say we want to be confident that pass rates be within that margin a certain percentage of the time&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;epsilon &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.05&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# target margin of error in sample pass rate. 0.05 == +/-5%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;p_hat_min, p_hat_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; p_hat &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; epsilon), p_hat &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; epsilon)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;in_range_count &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(p_hat_min &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; pass_rate &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; p_hat_max&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; pass_rate &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; pass_rates)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;sample_confidence_level &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; in_range_count &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; runs_per_sample&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;sample_confidence_level = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# = 0.4054&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;So for a sample size of 123 we could expect the pass rate of the sample to be within 5% of the actual pass rate of the population, 0.5 or 50%, onlr o.4 or 40% of the time!&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;We need more!&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;What is actually done is we state what we &lt;i&gt;think &lt;/i&gt;the population pass rate is, &lt;b&gt;p_hat&lt;/b&gt;, (choose closer to 50% if you are unsure); the margin of error around p_hat we want, &lt;b&gt;epsilon&lt;/b&gt;, usually +/-5% or +/-3%; and the &lt;b&gt;confidence_level&lt;/b&gt; in hitting within the pass_rates margin of error.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;There are &lt;a href=&quot;https://goodcalculators.com/sample-size-calculator/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;calculators &lt;/a&gt;that will then give you n, the size of the sample needed to satisfy those condition.&lt;/span&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Doing it myself&lt;/span&gt;&lt;/h2&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&amp;nbsp;I calculated for one specific sample size, above. Obviousely, if I calculated pass_rates over a range of sample_sizes, and increqasing runs_per_sample, I could search out the sample size needed.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;That is done in my next program. I have to switch to using the numpy library for its speed and sample_size becomes a range.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;When the pass rate confidence levels are calculated I end up with a list of confidence levels for increasing sample sizes that are usually not increasing due to the randomness, e.g.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;range_hits = [...0.94, &lt;b&gt;0.95&lt;/b&gt;, 0.93, 0.954, ... 0.95, 0.96, &lt;b&gt;0.95&lt;/b&gt;, 0.96, 0.96, 0.97, ...]&amp;nbsp; # confidence levels&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;The range of sample_size corresponding to the first occurrence&amp;gt;= the requested confidence level, and the last occorrence of a confidence level &amp;lt; the requested confidence level in then slightly widened and the runs_per_sample increased on another iteration to get a better result.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Here&#39;s a sample of the output I get when searching&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;Sample output&lt;/span&gt;&lt;/h3&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;$ time python3 sample_search.py &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;2098 &amp;lt;= n &amp;lt;= 2610&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(50, 5000, 512), 250)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;2013 &amp;lt;= n &amp;lt;= 2525&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(2013, 2694, 256), 500)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1501 &amp;lt;= n &amp;lt;= 2781&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1501, 3037, 256), 500)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1757 &amp;lt;= n &amp;lt;= 2013&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(221, 4061, 256), 500)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1714 &amp;lt;= n &amp;lt;= 1970&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1714, 2055, 128), 1000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1458 &amp;lt;= n &amp;lt;= 2098&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1458, 2226, 128), 1000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1586 &amp;lt;= n &amp;lt;= 1714&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(818, 2738, 128), 1000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1564 &amp;lt;= n &amp;lt;= 1692&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1564, 1735, 64), 2000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1500 &amp;lt;= n &amp;lt;= 1564&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1436, 1820, 64), 2000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1553 &amp;lt;= n &amp;lt;= 1585&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1489, 1575, 32), 4000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1547 &amp;lt;= n &amp;lt;= 1579&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1547, 1590, 16), 8000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1547 &amp;lt;= n &amp;lt;= 1579&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1515, 1611, 16), 8000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1541 &amp;lt;= n &amp;lt;= 1581&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1541, 1584, 8), 16000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1501 &amp;lt;= n &amp;lt;= 1533&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1501, 1621, 8), 16000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1501 &amp;lt;= n &amp;lt;= 1533&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1389, 1538, 8), 16000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1503 &amp;lt;= n &amp;lt;= 1575&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1495, 1677, 8), 16000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1503 &amp;lt;= n &amp;lt;= 1535&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; For p_hat, epsilon, confidence_level =(0.5, 0.05, 0.95)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; Using population_size, sample_size, runs_per_sample =(100000, range(1491, 1587, 4), 32000)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;Use a sample n = 1535 to predict population pass rate of 50.0% +/-5% with a confidence level of 95%.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;real &amp;nbsp; &amp;nbsp;3m49.023s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;user &amp;nbsp; &amp;nbsp;3m49.022s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;sys &amp;nbsp; &amp;nbsp; 0m1.361s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;My Code&lt;/span&gt;&lt;/h3&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Created on Wed May &amp;nbsp;8 14:04:17 2024&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;@author: paddy&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; random &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; numpy &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;as&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; np&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sample_search&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;population_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sample_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p_hat&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;epsilon&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;confidence_level&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;runs_per_sample&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Arguments with example values:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; population_size = 100_000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # must be large, &amp;gt; 65K?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sample_size = range(1400, 1750, 16) # (+min, +max, +step)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p_hat = 0.5 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Population pass rate, 0.5 == 50%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; epsilon = 0.05 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# target margin of error in sample pass rate. 0.05 == +/-5%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; confidence_level = 0.95 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # sample to be within p_hat +/- epsilon, 0.95 == 95% of the time.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; runs_per_sample = 10_000 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# each sample size is run this many times ~2500&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Return:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; min,max range for the sample size, n, satisfying inputs.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;create_1_0_array&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;population_size&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;100_000&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p_hat&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; np.ndarray:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Create numpy array of ones and zeroes with p_hat% as ones&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ones &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(population_size&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;p_hat &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array10 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; np.zeros(population_size, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dtype&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;np.uint8)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; array10[:ones] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; array10&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;rates_of_samples&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;population&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: np.ndarray, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sample_size_range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;runs_per_sample&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ) -&amp;gt; list[list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Pass rates for range of sample sizes repeated runs_per_sample times.&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# many_samples_many_rates = [( np.random.shuffle(population), &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # shuffle every *run*&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [population[:s_count].sum() / s_count &amp;nbsp;# The pass rate for samples&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for s_count in sample_size_range] &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; )[1] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # drop the shuffle&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for _ in range(runs_per_sample)] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # Every run&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; many_samples_many_rates &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [[ np.random.shuffle(population), &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# shuffle every *sample*&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[population[:s_count].sum() &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s_count &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# The pass rate for samples&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s_count &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample_size_range] &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;][&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# drop the shuffle&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(runs_per_sample)] &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Every run&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;many_samples_many_rates)) &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Transpose to by_sample_size_then_runs&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; population &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; create_1_0_array(population_size, p_hat)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; by_sample_size_then_runs &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; rates_of_samples(population, sample_size, runs_per_sample)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Pass rates within target&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; target_pass_range &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; tmin, tmax &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; p_hat &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; epsilon), p_hat &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; epsilon) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Looking for rates within the range&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; range_hits &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(tmin &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample_pass_rate &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; tmax &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample_pass_rate &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; single_sample_size)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; single_sample_size &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; by_sample_size_then_runs]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; runs_for_confidence_level &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; confidence_level &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; runs_per_sample&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_min, conf &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(sample_size, range_hits):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; conf &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; runs_for_confidence_level:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;break&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n_min &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample_size.start&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_max, conf &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(sample_size, range_hits))[::&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; conf &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; runs_for_confidence_level:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample_size.step &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# back a step&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;break&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample_size.stop&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (n_min &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample_size.step) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_max &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample_size.step &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Widen&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample_size.step &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(n_min, n_max, sample_size.step)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;min_max_mid_step&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;from_range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; tuple[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;float&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Extract from **increasing** from_range the min, max, middle, step&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; mn, st &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; from_range.start, from_range.step&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Handle range where start == stop&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; mx &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; from_range.stop&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; mx &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; from_range:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;pass&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; md &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (mn &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; mx) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; mn, mx, md, st&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;next_sample_size&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;new_samples&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;last_samples&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;runs_per_sample&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;widener&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1.33&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Widen range by&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; n_min, n_max, n_mid, n_step &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; min_max_mid_step(new_samples)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; l_min, l_max, l_mid, l_step &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; min_max_mid_step(last_samples)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Next range of samples computes in names with prefix s_&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; increase_runs &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; l_max:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Major expand of high end&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; l_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (l_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; l_min)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; increase_runs &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (n_mid &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;( n_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_mid)&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; widener)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_min &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; l_min:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Major expand of low end&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s_min &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, l_min &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (l_min &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; l_max))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; increase_runs &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s_min &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (n_mid &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;( n_min &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_mid)&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; widener)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; s_min, s_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s_min)), &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; s_step &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_step&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s_min &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s_max:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s_min &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s_min &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; increase_runs &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_min:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; runs_per_sample &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n_min:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s_step &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s_step &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, (s_step &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Go finer&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; next_sample_range &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s_min)), &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s_max &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), s_step)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; next_sample_range, runs_per_sample&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;__name__&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;__main__&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; population_size &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;100_000&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# must be large, &amp;gt; 65K?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; sample_size &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;50&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5_000&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;512&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Increasing!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; p_hat &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.50&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Population pass rate, 0.5 == 50%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; epsilon &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.05&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# target margin of error in sample pass rate. 0.05 == +/-5%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; confidence_level &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0.95&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# sample to be within p_hat +/- epsilon, 0.95 == 95% of the time.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; runs_per_sample &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;250&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# each sample size is run this many time at start, ~250&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; max_runs_per_sample &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;35_000&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; runs_per_sample &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; max_runs_per_sample:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; new_range &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sample_search(population_size, sample_size, p_hat, epsilon, confidence_level, runs_per_sample)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n_min, n_max, n_mid, n_step &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; min_max_mid_step(new_range)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;n_min&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &amp;lt;= n &amp;lt;= &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;n_max&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;For &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;p_hat, epsilon, confidence_level =&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; &amp;nbsp;Using &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;population_size, sample_size, runs_per_sample =&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sample_size, runs_per_sample &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; next_sample_size(new_range, sample_size, runs_per_sample)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot; Use a sample n = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;n_max&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; to predict population pass rate of &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;p_hat&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:.1f}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;% +/-&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;epsilon&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:.0f}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;% &quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;with a confidence level of &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;confidence_level&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:.0f}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%.&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b&gt;END.&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;&amp;nbsp;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/575914684967658149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2024/05/predicting-results-from-small-samples.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/575914684967658149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/575914684967658149'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2024/05/predicting-results-from-small-samples.html' title='Predicting results from small samples.'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-4012247348871575448</id><published>2024-04-21T15:30:00.002+01:00</published><updated>2024-04-21T20:32:24.956+01:00</updated><title type='text'>Searching OEIS tables</title><content type='html'>&lt;p&gt;&amp;nbsp;

&lt;img alt=&quot;a Jamaican showing how to search a table by row in the Jamaican hills. Image 4 of 4&quot; class=&quot;mimg&quot; data-bm=&quot;9&quot; height=&quot;400&quot; src=&quot;https://th.bing.com/th/id/OIG1.MbwF4SrjKTsGDYT0Oj2X?w=173&amp;amp;h=173&amp;amp;c=6&amp;amp;r=0&amp;amp;o=5&amp;amp;pid=ImgGn&quot; width=&quot;400&quot; /&gt;

&lt;/p&gt;&lt;p&gt;&amp;nbsp;A few months ago I&lt;a href=&quot;https://paddy3118.blogspot.com/2023/08/the-godeh-series-python-and-oeis.html#:~:text=or%20its%20dual.-,oeis%20entry%3F,-It%20seems%20that&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt; submitted a series to OEIS* &lt;/a&gt;that was accepted; yes, but OEIS does not seem to leave my series searchable!&lt;/p&gt;&lt;p&gt;*OEIS is the Online Encyclopedia of&amp;nbsp; Integer Series. &lt;span style=&quot;font-size: x-small;&quot;&gt;I guess table is not in the name, but...&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;span style=&quot;color: #2b00fe; font-size: x-small;&quot;&gt;(best viewed on larger than a portrait phone) &lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Let me explain.&lt;/h3&gt;&lt;p&gt;The documentation for OEIS, &lt;a href=&quot;https://oeis.org/eishelp2.html#:~:text=tabl%3A%20a%20regular%20triangle%20of%20numbers%20(one%20in%20which%20the%20n-th%20row%20contains%20n%20terms)%20made%20into%20a%20sequence%20by%20reading%20it%20by%20rows%3B%20or%20an%20infinite%20square%20array&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;explains &lt;/a&gt;that if you have a 2D triangle or table of values rather than a one dimensional strict series, then one should antidiagonalise the data and submit the series produced.&lt;/p&gt;&lt;p&gt;They give as an example &lt;a href=&quot;https://oeis.org/A003987&quot; target=&quot;_blank&quot;&gt;A003987 &lt;/a&gt;. This gives this table:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Table begins&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp;0, &amp;nbsp;1, &amp;nbsp;2, &amp;nbsp;3, &amp;nbsp;4, &amp;nbsp;5, &amp;nbsp;6, &amp;nbsp;7, &amp;nbsp;8, &amp;nbsp;9, 10, 11, 12, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp;1, &amp;nbsp;0, &amp;nbsp;3, &amp;nbsp;2, &amp;nbsp;5, &amp;nbsp;4, &amp;nbsp;7, &amp;nbsp;6, &amp;nbsp;9, &amp;nbsp;8, 11, 10, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp;2, &amp;nbsp;3, &amp;nbsp;0, &amp;nbsp;1, &amp;nbsp;6, &amp;nbsp;7, &amp;nbsp;4, &amp;nbsp;5, 10, 11, &amp;nbsp;8, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp;3, &amp;nbsp;2, &amp;nbsp;1, &amp;nbsp;0, &amp;nbsp;7, &amp;nbsp;6, &amp;nbsp;5, &amp;nbsp;4, 11, 10, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp;4, &amp;nbsp;5, &amp;nbsp;6, &amp;nbsp;7, &amp;nbsp;0, &amp;nbsp;1, &amp;nbsp;2, &amp;nbsp;3, 12, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp;5, &amp;nbsp;4, &amp;nbsp;7, &amp;nbsp;6, &amp;nbsp;1, &amp;nbsp;0, &amp;nbsp;3, &amp;nbsp;2, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp;6, &amp;nbsp;7, &amp;nbsp;4, &amp;nbsp;5, &amp;nbsp;2, &amp;nbsp;3, &amp;nbsp;0, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp;7, &amp;nbsp;6, &amp;nbsp;5, &amp;nbsp;4, &amp;nbsp;3, &amp;nbsp;2, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp;8, &amp;nbsp;9, 10, 11, 12, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp;9, &amp;nbsp;8, 11, 10, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; 10, 11, &amp;nbsp;8, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; 11, 10, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; 12, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; ...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;The above gets antidiagonalised to the series beginning:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; 0, 1, 1, 2, 0, 2, 3, 3, 3, 3, 4, 2, 0, 2, 4, 5, 5, 1, 1, 5, 5, 6, 4,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; 6, 0, 6, 4, 6, 7, 7, 7, 7, 7, 7, 7, 7, 8, 6, 4, 6, 0, 6, 4, 6, 8, 9,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; 9, 5, 5, 1, 1, 5, 5, 9, 9, 10, 8, 10, 4, 2, 0, 2, 4, 10, 8, 10, 11,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; 11, 11, 11, 3, 3, 3, 3, 11, 11, 11, 11, 12, 10, 8, 10, 12, 2, 0, 2,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; 12, 10, 8, 10, 12, 13, 13, 9, 9, 13, 13, 1, 1, 13, 13, 9, 9, 13, 13&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Searching...&lt;/h4&gt;&lt;p&gt;If we search for a sub-sequence of the antidiagonalised table, &lt;a href=&quot;https://oeis.org/search?q=2%2C+3%2C+3%2C+3%2C+3%2C+4%2C+2%2C+0%2C+2%2C+4%2C+5%2C+5&amp;amp;go=Search&quot; target=&quot;_blank&quot;&gt;we can find the correct entry&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;If, however, we search for a row of the values from the table,&amp;nbsp;&lt;a href=&quot;https://oeis.org/search?q=5%2C4%2C7%2C6%2C1%2C0%2C3&amp;amp;go=Search&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt; A003987 is not found&lt;/a&gt;!&lt;br /&gt;The values chosen: to search for: &lt;b&gt;5,4,7,6,1,0,3 &lt;/b&gt;&lt;a href=&quot;https://oeis.org/A003987#:~:text=2%2C%20%203%2C%2012%2C%20...-,5%2C%204%2C%207%2C%206%2C%201%2C%200%2C%203,-%2C%20%202%2C%20...&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;appear near the end of the table&lt;/a&gt; which shows that that &lt;i&gt;row&lt;/i&gt; of numbers should be followed by a 2.&lt;b&gt;&lt;br /&gt;&lt;/b&gt;The table shows 13*13 / 2 ~ 85 values. OEIS has a &lt;a href=&quot;https://oeis.org/A003987/list&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;list &lt;/a&gt;of 104 values, &lt;b&gt;&lt;i&gt;so it has the data to search through&lt;/i&gt;&lt;/b&gt;.&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;No intuitive search of OEIS tables&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;It seems to me that the most intuitive way to search a table of values is by row, left to right. There are other ways to search a table, (assuming an origin at top left and the table extends to the right and down):&lt;/p&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;By row, L2R. &lt;b&gt;→&lt;/b&gt;, R2L &lt;b&gt;←&lt;/b&gt;&lt;/li&gt;&lt;li&gt;By Column Top2Bottom, &lt;b&gt;↓&lt;/b&gt;, B2T &lt;b&gt;↑&lt;/b&gt;&lt;/li&gt;&lt;li&gt;By 45 degree diagonals, &lt;b&gt;↘, ↖, ↙, ↗&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;&lt;i&gt;OEIS doesn&#39;t seem to do these searches on tabular data.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Regenerating a 2D table from antidiagonalised data.&lt;/h3&gt;&lt;p&gt;I did play around and created some code to recreate a table as a list of row-lists, in Python, given an OEIS &lt;a href=&quot;https://oeis.org/SubmitB.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;B-file&lt;/a&gt;. The options handling is a work in progress, but the main part was being able to generate the table.&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;adia_to_table.py file&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Generate 2D table from OEIS type anti-diagonalised sequence held in file&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Created on Thu Apr &amp;nbsp;4 18:16:07 2024&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;@author: paddy3118&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; itertools &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; zip_longest&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; math&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# from pprint import pp&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; antidiagonals &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; antidiag_triangle_indices&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;read_bfile&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;bfname&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; tuple[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# first index&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]]: &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# anti-diag values&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Read B-file bfname&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;## B-File format:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;* Ref: https://oeis.org/SubmitB.html&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;* Blank lines ignored&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;* Lines beginning &amp;nbsp;with # ignored&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;* Lines of two, space-separated integers &amp;lt;index&amp;gt; &amp;lt;indexed-value&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;It is assumed the index increments by one on subsequent lines.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; first_index, values &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;with&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;open&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(bfname) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;as&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; bfile:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; line &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; bfile:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ln &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; line.strip()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ln &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ln.startswith(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;#&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;continue&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; index, value &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(field) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; field &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ln.split()[:&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; first_index &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;is&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; first_index &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; index&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; values.append(value)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; first_index, values&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;antidiag_to_table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sequence&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) -&amp;gt; list[list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Convert anti-diagonalised sequence back to infinite 2D table.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Parameters&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; ----------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; sequence : list[int]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Anti-diagonalised values from table.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; -------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; list[list[int]]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Table of rows of ints.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Table rows will fill in from successive sequence values like this:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;1 &amp;nbsp;2 &amp;nbsp;4 &amp;nbsp;7 11 16 ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;3 &amp;nbsp;5 &amp;nbsp;8 12 17&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;6 &amp;nbsp;9 13 18&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; 10 14 19&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; 15 20&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; 21&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; .&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; .&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; .&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# 1, 3, 6, 10, 15, 21, ... rows*(rows+1) / 2&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# min columns in triangular table generation. ~= min rows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; size &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(sequence) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# = rows*(rows+1)/2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; rows &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; math.ceil((&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; math.sqrt(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; size)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# solve for rows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# cols = rows &amp;nbsp;# last row may be deleted if last anti-diag is part filled.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# print(f&quot;{(size, cols) = }&quot;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Empty (triangular) table of None&#39;s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; table &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [[&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (rows &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; i)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(rows)]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; indices &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; antidiag_triangle_indices()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; col &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# for if sequence is empty&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val, (row, col) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;zip&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(sequence, indices):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; table[row][col] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Remove unfilled part of last anti-diag of table&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; col &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; row, col &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;next&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(indices)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; table[row].pop(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# remove last row if present and empty&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; table &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; table[&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; table.pop(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; table&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp_table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: list[list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]]) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Pretty-print table of differring row lengths&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; table:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; col_width &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;max&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(val)) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; row) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; row &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; table)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; row &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; table:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;val&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;col_width&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; row))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;transpose&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: list[list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]]) -&amp;gt; list[list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Table of rows to x&amp;lt;&amp;gt;y transposed table of new rows&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; fv &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; math.nan&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; tr &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(new_row)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; new_row &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; zip_longest(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;table, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;fillvalue&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;fv)]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# remove fillvalues in triangular transposition&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; row &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; tr:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; row[row.index(fv):] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;except&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;ValueError&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;continue&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; tr&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;__name__&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;__main__&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;# TEST FILL BY ANTI-DIAGONAL&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;n = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ans &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; antidiag_to_table(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, n&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pp_table(ans)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;()&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; fname, m &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;b365096.txt&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;505&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# Data from &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;fname&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;, first &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; values:&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ad &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; read_bfile(fname)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ans &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; antidiag_to_table(ad[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;][:m])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; pp_table(ans)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;## Transposed:&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; pp_table((tr:=transpose(ans)))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;And antidiagonals.py is this:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Anti-diagonals:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;0,0 0,1 0,2 0,3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1,0 1,1 1,2 1,3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;2,0 2,1 2,2 2,3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;3,0 3,1 3,2 3,3&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Of Square:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;0,0 &amp;nbsp;0,1 1,0 &amp;nbsp;0,2 1,1 2,0 &amp;nbsp;0,3 1,2 2,1 3,0 &amp;nbsp; 1,3 2,2 3,1 &amp;nbsp;2,3 3,2 &amp;nbsp;3,3&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;of Infinite table:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;0,0 &amp;nbsp;0,1 1,0 &amp;nbsp;0,2 1,1 2,0 &amp;nbsp;0,3 1,2 2,1 3,0 &amp;nbsp; 0,4 1,3 2,2 3,1 4,0 ...&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Created on Mon Aug 21 13:36:31 2023&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;@author: paddy&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %% Triangles&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; itertools &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; islice&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;antidiag_triangle_indices&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() -&amp;gt; tuple[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; x &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;yield&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (x, y)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x, y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (x&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, y&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, x&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(islice(antidiag_triangle_indices(), &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;15&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %% Rectangles&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; itertools &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; islice&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;antidiag_rectangle_indices&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sizex&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sizey&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; tuple[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; x &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;yield&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (x, y)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (x, y) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (sizex &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, sizey &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;break&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x, y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (x&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, y&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sizex &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; u &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x, y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, u) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; u &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sizey &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (u &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sizey &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, sizey &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(antidiag_rectangle_indices(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;END.&lt;/b&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/4012247348871575448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2024/04/searching-oeis-tables.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/4012247348871575448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/4012247348871575448'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2024/04/searching-oeis-tables.html' title='Searching OEIS tables'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-7350089776487996436</id><published>2024-03-31T10:03:00.005+01:00</published><updated>2024-04-01T11:45:19.503+01:00</updated><title type='text'>Finding a sub-list within a list, in Python</title><content type='html'>&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;

&lt;img alt=&quot;a left-handed Jamaican woman finding a sublist in a list at a beach-front home-office&quot; aria-label=&quot;a left-handed Jamaican woman finding a sublist in a list at a beach-front home-office&quot; class=&quot; nofocus&quot; height=&quot;685&quot; role=&quot;button&quot; src=&quot;https://th.bing.com/th/id/OIG3.tclyNeZwO1N50uMXcpEj?pid=ImgGn&quot; tabindex=&quot;0&quot; width=&quot;685&quot; /&gt;



 

&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Existing? &lt;br /&gt;&lt;/h3&gt;&lt;p&gt;&amp;nbsp;As part of a larger project, I thought I might need to search for a sub-list within a given list, and because I am lazy i did a quick google and did not like the answers I found.I started with the thought that the best algorithm for me would be to start searching from the index of the first item in the sublist and so on, but none of the googled answers used list.index.&lt;/p&gt;&lt;p&gt;I decided then to create my own&amp;nbsp;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;My version&lt;/h3&gt;&lt;p&gt;Well I want to use list.index. If the item is not in the list then it raises an error, so I&#39;ll need a try-except block too.&lt;/p&gt;&lt;p&gt;I look for successive first item from the sub-list in the list and if found, accumulate the index in the answer and move on to search for the next match.&lt;/p&gt;&lt;p&gt;It seemed easy to add flags to:&lt;/p&gt;&lt;ol style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Stop after finding a first index of the sub-list in the list.&lt;/li&gt;&lt;li&gt;Allow overlapping matches&amp;nbsp; or not. [1,0,1] is found twice in [1,0,1,0,1] at indices 0 and 2, but only once if overlapping is not allowed&lt;/li&gt;&lt;/ol&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#!/bin/env python3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#%%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; typing &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; Any&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Find instance of a sub-list in a list&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;index_sublist&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: list[Any],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sublst&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: list[Any],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;only_first&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;non_overlapping&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ) -&amp;gt; list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Find instance of a (non-empty), sub-list in a list&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sublst:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;raise&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;ValueError&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Empty sub-list&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; lst:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; first, ln &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sublst[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(sublst)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(lst) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ln: &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Reddit: check sizes&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ans, i &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [], &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; lst.index(first, i)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;except&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;ValueError&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;break&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; lst[i: i&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;ln] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sublst:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ans.append(i)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; only_first: &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#Reddit: Only_first calc now fixed &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;break&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ln &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; non_overlapping &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ans&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#%%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;test&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; index_sublist([], [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;only_first&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; index_sublist([&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;only_first&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; index_sublist([&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;only_first&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; index_sublist([&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;only_first&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; index_sublist([&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;only_first&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; index_sublist([&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;only_first&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;non_overlapping&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; index_sublist([&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;only_first&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;non_overlapping&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Reddit: Extra checks&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; index_sublist([&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;only_first&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; index_sublist([&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;only_first&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#%%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;__name__&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;__main__&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; test()&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;b&gt;STOP PRESS!&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;A Reddit commenter spotted a bug that I fixed and added a couple of extra tests for.&lt;br /&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;End.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/7350089776487996436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2024/03/finding-sub-list-within-list-in-python.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/7350089776487996436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/7350089776487996436'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2024/03/finding-sub-list-within-list-in-python.html' title='Finding a sub-list within a list, in Python'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-8072184681702608268</id><published>2023-12-28T19:03:00.000+00:00</published><updated>2023-12-28T19:03:39.158+00:00</updated><title type='text'>How not to check for a key in a dictionary.</title><content type='html'>&lt;p&gt;&amp;nbsp;I skim the Linkedin Python group and sometimes comment.&lt;/p&gt;&lt;p&gt;A few days there was &lt;a href=&quot;https://www.linkedin.com/feed/update/urn:li:groupPost:6986570-7144637862850867200?commentUrn=urn%3Ali%3Acomment%3A%28groupPost%3A6986570-7144637862850867200%2C7145270541354954752%29&amp;amp;dashCommentUrn=urn%3Ali%3Afsd_comment%3A%287145270541354954752%2Curn%3Ali%3AgroupPost%3A6986570-7144637862850867200%29&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;a poll&lt;/a&gt; asking for the way to check if a key is in a Python dictionary and as I write, more than half of the 900+ respondents have chosen&lt;b&gt;&lt;i&gt; dict.get&lt;/i&gt;&lt;/b&gt; rather than&lt;b&gt;&lt;i&gt; key in dict&lt;/i&gt;&lt;/b&gt;, which is the correct answer!&lt;/p&gt;&lt;p&gt;When pushed, it seems they are relying on dict.get returning None if the key is not in the dict, but fail to see tha if the key being tested is in the dict, but has a value of None then their test fails.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Here&#39;s some code:&lt;/p&gt;&lt;div style=&quot;background-color: black; color: white; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;mydict1 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;a&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;b&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(mydict1.get(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;c&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;)) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# -&amp;gt; None&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;key_in_dict1&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;key_&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dict_&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;dict&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;FAULTY IMPLEMENTATION&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; dict_.get(key_) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# This works&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;mydict1 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;a&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;b&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(key_in_dict1(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;a&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, mydict1)) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# -&amp;gt; True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(key_in_dict1(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;x&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, mydict1)) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# -&amp;gt; False&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# But adding a key of x with value None gives&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# the wrong result&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;mydict2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;a&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;b&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;x&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(key_in_dict1(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;x&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, mydict2)) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# -&amp;gt; False&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# The correct way is to use &#39;in&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;key_in_dict2&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;key_&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dict_&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;dict&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Pythonic IMPLEMENTATION&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; key_ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; dict_&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# Tests:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(key_in_dict2(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;a&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, mydict1)) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# -&amp;gt; True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(key_in_dict2(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;x&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, mydict1)) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# -&amp;gt; False&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# And now for keys with None as a value:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(key_in_dict2(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;x&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, mydict2)) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# -&amp;gt; True&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Ugly, code-golf solution using dict.get()&lt;/h2&gt;&lt;div style=&quot;text-align: left;&quot;&gt;You can alter the default value returned from dict.get if a key is not found. This allows one to use two calls of dict.get with different defaults&amp;nbsp; to be used to give a correct solution:&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: black; color: white; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;key_in_dict3&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;key_&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;dict_&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;dict&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;bool&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;CODE-GOLF IMPLEMENTATION USING GETs&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; default1 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; default2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; default1 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; default2 \&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; ( dict_.get(key_, default1) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; default1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; dict_.get(key_, default2) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt; default2)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# Tests:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(key_in_dict3(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;a&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, mydict1)) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# -&amp;gt; True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(key_in_dict3(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;x&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, mydict1)) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# -&amp;gt; False&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;(key_in_dict3(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;x&#39;&lt;/span&gt;&lt;span style=&quot;color: white;&quot;&gt;, mydict2)) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #7ca668;&quot;&gt;# -&amp;gt; True&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Of course, don&#39;t use&amp;nbsp; key_in_dict3, use version 2, i.e. &lt;b&gt;&lt;i&gt;key in dict&lt;/i&gt;&lt;/b&gt;.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;END.&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/8072184681702608268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2023/12/how-not-to-check-for-key-in-dictionary.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/8072184681702608268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/8072184681702608268'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2023/12/how-not-to-check-for-key-in-dictionary.html' title='How not to check for a key in a dictionary.'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-6423719970718576620</id><published>2023-11-24T17:18:00.001+00:00</published><updated>2023-11-24T17:23:46.759+00:00</updated><title type='text'>Google Bard vs Microsoft Bing Chat: Vanity questions</title><content type='html'>&lt;p&gt;&amp;nbsp;I ask two questions about my activities online and compare the outputs from the two AI tools.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;u&gt;Google Bard &lt;/u&gt;&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div _ngcontent-ng-c2418868009=&quot;&quot; class=&quot;user-profile-picture-container ng-tns-c2418868009-59 ng-star-inserted&quot; style=&quot;text-align: left;&quot;&gt;&lt;h3&gt;&lt;img _ngcontent-ng-c1528087857=&quot;&quot; alt=&quot;profile picture&quot; class=&quot;user-icon&quot; src=&quot;https://lh3.googleusercontent.com/a/ACg8ocKcZ8yh8ZKTwELKsO44DQugacx1cBV2ecdw1vZtlt6Nytw=s64&quot; style=&quot;height: 32px; width: 32px;&quot; /&gt; create a rosettacode.org task in the style of user paddy3118&lt;/h3&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c2418868009=&quot;&quot; class=&quot;button-gutter ng-tns-c2418868009-59 ng-star-inserted&quot;&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c2418868009=&quot;&quot; class=&quot;user-query-container ng-tns-c2418868009-59 ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c2418868009=&quot;&quot; class=&quot;button-gutter ng-tns-c2418868009-59 ng-star-inserted&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c1135461041=&quot;&quot; class=&quot;ng-tns-c1135461041-60&quot;&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;response-container ng-tns-c3572480037-61&quot;&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;multi-response-container ng-tns-c3572480037-61 tts ng-trigger ng-trigger-responsePreviewsEnter ng-star-inserted&quot; style=&quot;height: 0px; opacity: 0;&quot;&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;ng-tns-c3572480037-61 ng-trigger ng-trigger-singleResponseEnter ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;single-draft-response-container ng-tns-c3572480037-61 tts ng-star-inserted&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;single-draft-response-container ng-tns-c3572480037-61 tts ng-star-inserted&quot;&gt;&lt;/div&gt;&lt;br /&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;presented-response-container ng-tns-c3572480037-61&quot;&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;logo-gutter ng-tns-c3572480037-61 ng-star-inserted&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3311821294=&quot;&quot; class=&quot;gutter ng-star-inserted&quot;&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;logo-gutter ng-tns-c3572480037-61 ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c3311821294=&quot;&quot; class=&quot;gutter ng-star-inserted&quot;&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3311821294=&quot;&quot; class=&quot;resize-observable&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;cdk-visually-hidden cdk-focus-trap-anchor&quot; tabindex=&quot;0&quot;&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3864461475=&quot;&quot; aria-atomic=&quot;true&quot; aria-live=&quot;polite&quot; class=&quot;container&quot; role=&quot;dialog&quot;&gt;&lt;div _ngcontent-ng-c2987619535=&quot;&quot; aria-atomic=&quot;true&quot; aria-live=&quot;polite&quot; class=&quot;recitation-tooltip&quot;&gt;&lt;a _ngcontent-ng-c2987619535=&quot;&quot; class=&quot;recitation-link&quot; href=&quot;https://medium.com/edureka/python-program-prime-number-28001c0d54f2&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div _ngcontent-ng-c2987619535=&quot;&quot; class=&quot;text-container&quot;&gt;&lt;span _ngcontent-ng-c2987619535=&quot;&quot; class=&quot;label ellipsis&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;span _ngcontent-ng-c2987619535=&quot;&quot; aria-label=&quot;Opens in a new window&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;cdk-visually-hidden cdk-focus-trap-anchor&quot; tabindex=&quot;0&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;cdk-visually-hidden cdk-focus-trap-anchor&quot; tabindex=&quot;0&quot;&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3864461475=&quot;&quot; aria-atomic=&quot;true&quot; aria-live=&quot;polite&quot; class=&quot;container&quot; role=&quot;dialog&quot;&gt;&lt;div _ngcontent-ng-c2987619535=&quot;&quot; aria-atomic=&quot;true&quot; aria-live=&quot;polite&quot; class=&quot;recitation-tooltip&quot;&gt;&lt;a _ngcontent-ng-c2987619535=&quot;&quot; class=&quot;recitation-link&quot; href=&quot;https://github.com/pratyksha/competitive-programming&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;div _ngcontent-ng-c2987619535=&quot;&quot; class=&quot;text-container&quot;&gt;&lt;span _ngcontent-ng-c2987619535=&quot;&quot; class=&quot;label ellipsis&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;span _ngcontent-ng-c2987619535=&quot;&quot; aria-label=&quot;Opens in a new window&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;cdk-visually-hidden cdk-focus-trap-anchor&quot; tabindex=&quot;0&quot;&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;response-container-content ng-tns-c3572480037-61&quot;&gt;&lt;div _ngcontent-ng-c1135461041=&quot;&quot; class=&quot;response-content ng-trigger ng-trigger-responsePopulation ng-tns-c3572480037-61&quot;&gt;&lt;div _ngcontent-ng-c135959469=&quot;&quot; class=&quot;markdown markdown-main-panel&quot; dir=&quot;ltr&quot; style=&quot;--animation-duration: 600ms;&quot;&gt;&lt;p data-sourcepos=&quot;1:1-1:65&quot;&gt;&lt;span&gt;Sure,&lt;/span&gt;&lt;span&gt; here is a Rosetta Code task in the style of user paddy3118:&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;3:1-3:9&quot;&gt;&lt;b&gt;Task:&lt;/b&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;5:1-5:153&quot;&gt;&lt;span&gt;Write a program that generates the Godeh series.&lt;/span&gt;&lt;span&gt; The Godeh series is an infinite sequence of integers that is defined by the following recursive formula:&lt;/span&gt;&lt;/p&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block ng-star-inserted&quot;&gt;&lt;pre _ngcontent-ng-c931180446=&quot;&quot;&gt;&lt;code _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-container no-decoration-radius&quot; role=&quot;text&quot;&gt;godeh(n) = {
  1, if n = 1
  godeh(n // 2), if n is even
  godeh(n // 2) + godeh(n // 2 + 1), if n is odd
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p data-sourcepos=&quot;15:1-15:10&quot;&gt;&lt;b&gt;Input:&lt;/b&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;17:1-17:13&quot;&gt;&lt;span&gt;An integer n.&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;19:1-19:11&quot;&gt;&lt;b&gt;Output:&lt;/b&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;21:1-21:38&quot;&gt;&lt;span&gt;The first n terms of the Godeh series.&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;23:1-23:12&quot;&gt;&lt;b&gt;Example:&lt;/b&gt;&lt;/p&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block ng-star-inserted&quot;&gt;&lt;pre _ngcontent-ng-c931180446=&quot;&quot;&gt;&lt;code _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-container no-decoration-radius&quot; role=&quot;text&quot;&gt;Input: 10

Output:
1
1
2
1
3
2
3
1
4
3
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p data-sourcepos=&quot;41:1-41:13&quot;&gt;&lt;b&gt;Solution:&lt;/b&gt;&lt;/p&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block-decoration header gmat-subhead-2 ng-star-inserted&quot;&gt;&lt;span _ngcontent-ng-c931180446=&quot;&quot;&gt;Python&lt;/span&gt;&lt;/div&gt;&lt;pre _ngcontent-ng-c931180446=&quot;&quot;&gt;&lt;code _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-container&quot; role=&quot;text&quot;&gt;&lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;hljs-title&quot;&gt;godeh&lt;/span&gt;(&lt;span class=&quot;hljs-params&quot;&gt;n&lt;/span&gt;):&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (n == &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;):
    &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot;&gt;elif&lt;/span&gt; (n % &lt;span class=&quot;hljs-number&quot;&gt;2&lt;/span&gt; == &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;):
    &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; godeh(n // &lt;span class=&quot;hljs-number&quot;&gt;2&lt;/span&gt;)
  &lt;span class=&quot;hljs-keyword&quot;&gt;else&lt;/span&gt;:
    &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; godeh(n // &lt;span class=&quot;hljs-number&quot;&gt;2&lt;/span&gt;) + godeh(n // &lt;span class=&quot;hljs-number&quot;&gt;2&lt;/span&gt; + &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;)

n = &lt;span class=&quot;hljs-number&quot;&gt;10&lt;/span&gt;
&lt;span class=&quot;hljs-keyword&quot;&gt;for&lt;/span&gt; i &lt;span class=&quot;hljs-keyword&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;hljs-built_in&quot;&gt;range&lt;/span&gt;(&lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;, n + &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;):
  print(godeh(i))
&lt;/code&gt;&lt;/pre&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block-decoration footer gmat-overline hide-from-message-actions ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot;&gt;Use code with caution. &lt;a _ngcontent-ng-c931180446=&quot;&quot; aria-label=&quot;Learn more (opens in a new window)&quot; class=&quot;disclaimer-suffix&quot; href=&quot;https://bard.google.com/faq#coding&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Learn more&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block-decoration footer gmat-overline hide-from-message-actions ng-star-inserted&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;p data-sourcepos=&quot;57:1-57:22&quot;&gt;&lt;b&gt;Paddy3118&#39;s style:&lt;/b&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;59:1-59:382&quot;&gt;&lt;span&gt;Paddy3118&#39;s programs are typically well-written and easy to understand.&lt;/span&gt;&lt;span&gt; They are also often accompanied by clear and concise explanations of the code.&lt;/span&gt;&lt;span&gt; In this task,&lt;/span&gt;&lt;span&gt; Paddy3118 would likely provide a brief explanation of the Godeh series and the recursive formula used to define it.&lt;/span&gt;&lt;span&gt; He would then provide a Python implementation of the program,&lt;/span&gt;&lt;span&gt; along with an example of how to use it.&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;61:1-61:56&quot;&gt;&lt;span&gt;Here is an example of a task that Paddy3118 might write:&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;63:1-63:9&quot;&gt;&lt;b&gt;Task:&lt;/b&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;65:1-65:73&quot;&gt;&lt;span&gt;Write a program that generates the prime numbers up to a specified input.&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;67:1-67:10&quot;&gt;&lt;b&gt;Input:&lt;/b&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;69:1-69:13&quot;&gt;&lt;span&gt;An integer n.&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;71:1-71:11&quot;&gt;&lt;b class=&quot;animating&quot;&gt;Output:&lt;/b&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;73:1-73:40&quot;&gt;&lt;span class=&quot;animating&quot;&gt;A list of all the prime numbers up to n.&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;75:1-75:12&quot;&gt;&lt;b class=&quot;animating&quot;&gt;Example:&lt;/b&gt;&lt;/p&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block ng-star-inserted&quot;&gt;&lt;pre _ngcontent-ng-c931180446=&quot;&quot;&gt;&lt;code _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-container no-decoration-radius&quot; role=&quot;text&quot;&gt;Input: 100

Output:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p data-sourcepos=&quot;84:1-84:13&quot;&gt;&lt;b class=&quot;animating&quot;&gt;Solution:&lt;/b&gt;&lt;/p&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block-decoration header gmat-subhead-2 ng-star-inserted&quot;&gt;&lt;span _ngcontent-ng-c931180446=&quot;&quot;&gt;Python&lt;/span&gt;&lt;/div&gt;&lt;pre _ngcontent-ng-c931180446=&quot;&quot;&gt;&lt;code _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-container&quot; role=&quot;text&quot;&gt;&lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;hljs-title&quot;&gt;is_prime&lt;/span&gt;(&lt;span class=&quot;hljs-params&quot;&gt;n&lt;/span&gt;):&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (n &amp;lt;= &lt;span class=&quot;hljs-number&quot;&gt;1&lt;/span&gt;):
    &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-literal&quot;&gt;False&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (n &amp;lt;= &lt;span class=&quot;hljs-number&quot;&gt;3&lt;/span&gt;):
    &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;hljs-literal&quot;&gt;True&lt;/span&gt;
  &lt;span class=&quot;hljs-keyword&quot;&gt;if&lt;/span&gt; (n % &lt;span class=&quot;hljs-number&quot;&gt;2&lt;/span&gt; == &lt;span class=&quot;hljs-number&quot;&gt;0&lt;/span&gt;&lt;div class=&quot;dynamic-carousel-wrapper&quot;&gt;&lt;span class=&quot;citation-0&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;&lt;span class=&quot;citation-0&quot;&gt;or&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0&quot;&gt; n % &lt;/span&gt;&lt;span class=&quot;hljs-number&quot;&gt;&lt;span class=&quot;citation-0&quot;&gt;3&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0&quot;&gt; == &lt;/span&gt;&lt;span class=&quot;hljs-number&quot;&gt;&lt;span class=&quot;citation-0&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0&quot;&gt;):
    &lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;&lt;span class=&quot;citation-0&quot;&gt;return&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;dynamic-carousel-wrapper&quot;&gt;&lt;span class=&quot;citation-0&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;hljs-literal&quot;&gt;&lt;span class=&quot;citation-0&quot;&gt;False&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0&quot;&gt;
  i &lt;/span&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;= &lt;/span&gt;&lt;span class=&quot;hljs-number&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;5&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;dynamic-carousel-wrapper&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;
  &lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;while&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt; (i * i &amp;lt;= n):
    &lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt; (n % i == &lt;/span&gt;&lt;span class=&quot;hljs-number&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;dynamic-carousel-wrapper&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;or&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt; n % (i + &lt;/span&gt;&lt;span class=&quot;hljs-number&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;) == &lt;/span&gt;&lt;span class=&quot;hljs-number&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;):
      &lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;return&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;dynamic-carousel-wrapper&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;hljs-literal&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;False&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;
    i += &lt;/span&gt;&lt;span class=&quot;hljs-number&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;6&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;dynamic-carousel-wrapper&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;
  &lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;return&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;dynamic-carousel-wrapper&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;hljs-literal&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;True&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;dynamic-carousel-wrapper&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;

&lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;hljs-function&quot;&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;def&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;dynamic-carousel-wrapper&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;hljs-title&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;prime_numbers_up_to&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;hljs-params&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;n&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;):&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;
  primes = []
  &lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;for&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt; i &lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;in&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;dynamic-carousel-wrapper&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;span class=&quot;hljs-built_in&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;range&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;hljs-number&quot;&gt;&lt;span class=&quot;citation-0 citation-1&quot;&gt;2&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-0 citation-1 citation-end-0&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;citation-1&quot;&gt; n + &lt;/span&gt;&lt;span class=&quot;hljs-number&quot;&gt;&lt;span class=&quot;citation-1&quot;&gt;1&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-1&quot;&gt;):
    &lt;/span&gt;&lt;span class=&quot;hljs-keyword&quot;&gt;&lt;span class=&quot;citation-1&quot;&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;citation-1 citation-end-1&quot;&gt; (is_prime(i)):&lt;/span&gt;
      primes.append(i)
  &lt;span class=&quot;hljs-keyword&quot;&gt;return&lt;/span&gt; primes

n = &lt;span class=&quot;hljs-number&quot;&gt;100&lt;/span&gt;
primes = prime_numbers_up_to(n)
print(primes)
&lt;/code&gt;&lt;/pre&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block-decoration footer gmat-overline hide-from-message-actions ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot;&gt;Use code with caution. &lt;a _ngcontent-ng-c931180446=&quot;&quot; aria-label=&quot;Learn more (opens in a new window)&quot; class=&quot;disclaimer-suffix&quot; href=&quot;https://bard.google.com/faq#coding&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;Learn more&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c135959469=&quot;&quot; class=&quot;markdown markdown-main-panel&quot; dir=&quot;ltr&quot; style=&quot;--animation-duration: 600ms;&quot;&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c931180446=&quot;&quot; class=&quot;code-block-decoration footer gmat-overline hide-from-message-actions ng-star-inserted&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c1135461041=&quot;&quot; class=&quot;response-footer ng-tns-c1135461041-60 gap complete&quot;&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot; class=&quot;sources-list-container&quot;&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot; class=&quot;sources-container ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot; class=&quot;recitations-list-container ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot; class=&quot;sources-header&quot;&gt;&lt;h4 _ngcontent-ng-c474111526=&quot;&quot; class=&quot;gmat-overline header ng-star-inserted&quot;&gt;Sources&lt;/h4&gt;&lt;a _ngcontent-ng-c474111526=&quot;&quot; class=&quot;icon-link ng-star-inserted&quot; href=&quot;https://bard.google.com/faq#citation&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;presented-response-container ng-tns-c3572480037-61&quot;&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;response-container-content ng-tns-c3572480037-61&quot;&gt;&lt;div _ngcontent-ng-c1135461041=&quot;&quot; class=&quot;response-content ng-trigger ng-trigger-responsePopulation ng-tns-c3572480037-61&quot;&gt;&lt;div _ngcontent-ng-c1135461041=&quot;&quot; class=&quot;response-footer ng-tns-c1135461041-60 gap complete&quot;&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot; class=&quot;sources-list-container&quot;&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot; class=&quot;sources-container ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot; class=&quot;recitations-list-container ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot; class=&quot;sources-header&quot;&gt;&lt;a _ngcontent-ng-c474111526=&quot;&quot; class=&quot;icon-link ng-star-inserted&quot; href=&quot;https://bard.google.com/faq#citation&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt;&lt;span _ngcontent-ng-c474111526=&quot;&quot; aria-label=&quot;About sources (opens in a new window)&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;ol _ngcontent-ng-c474111526=&quot;&quot; class=&quot;recitations-list ng-star-inserted&quot; id=&quot;message-content-recitation-list&quot; start=&quot;1&quot;&gt;&lt;li _ngcontent-ng-c474111526=&quot;&quot; class=&quot;recitation-list-content ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot;&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot; class=&quot;recitation-link&quot;&gt;&lt;a _ngcontent-ng-c474111526=&quot;&quot; href=&quot;https://medium.com/edureka/python-program-prime-number-28001c0d54f2&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt; medium.com/edureka/python-program-prime-number-28001c0d54f2 &lt;span _ngcontent-ng-c474111526=&quot;&quot; aria-label=&quot;Opens in a new window&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;li _ngcontent-ng-c474111526=&quot;&quot; class=&quot;recitation-list-content ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot;&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot; class=&quot;recitation-link&quot;&gt;&lt;a _ngcontent-ng-c474111526=&quot;&quot; href=&quot;https://github.com/pratyksha/competitive-programming&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot;&gt; github.com/pratyksha/competitive-programming &lt;span _ngcontent-ng-c474111526=&quot;&quot; aria-label=&quot;Opens in a new window&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c474111526=&quot;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;response-container-footer ng-tns-c3572480037-61&quot;&gt;&lt;div _ngcontent-ng-c4113112242=&quot;&quot; class=&quot;actions-container-v2 ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c4113112242=&quot;&quot; class=&quot;buttons-container-v2 ng-star-inserted&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c4113112242=&quot;&quot; class=&quot;menu-button-wrapper&quot;&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c4113112242=&quot;&quot; class=&quot;menu-button-wrapper&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/h2&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;u&gt;Microsoft Bing Chat&lt;/u&gt;&lt;/h2&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div class=&quot;main&quot; id=&quot;cib-chat-main&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: white; box-sizing: border-box; color: #111111; display: flex; flex-direction: column; flex: 1 1 0%; font-family: -apple-system, Aptos, Roboto, SegoeUI, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Meiryo UI&amp;quot;, Meiryo, &amp;quot;Arial Unicode MS&amp;quot;, sans-serif; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; justify-content: flex-end; letter-spacing: normal; orphans: 2; padding: 0px 32px; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;div class=&quot;message&quot;&gt;&lt;div class=&quot;content text-message-content&quot; style=&quot;display: flex; flex-direction: column; font-size: var(--cib-type-body2-font-size); font-variation-settings: var(--cib-type-body2-font-variation-settings); font-weight: var(--cib-type-body2-font-weight); gap: 6px; line-height: var(--cib-type-body2-line-height); min-height: var(--cib-type-body2-line-height); padding: 10px 16px; user-select: text; word-break: break-word;&quot; tabindex=&quot;0&quot;&gt;&lt;div aria-level=&quot;2&quot; role=&quot;heading&quot; style=&quot;white-space: pre-wrap;&quot;&gt;create a rosettacode.org task in the style of user paddy3118&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;button aria-label=&quot;Copy&quot; role=&quot;button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border: medium; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); flex-direction: row; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: auto; outline: none; padding: 0px; position: relative; width: 36px;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M5.5028 4.62704L5.5 6.75V17.2542C5.5 19.0491 6.95507 20.5042 8.75 20.5042L17.3663 20.5045C17.0573 21.3782 16.224 22.0042 15.2444 22.0042H8.75C6.12665 22.0042 4 19.8776 4 17.2542V6.75C4 5.76929 4.62745 4.93512 5.5028 4.62704ZM17.75 2C18.9926 2 20 3.00736 20 4.25V17.25C20 18.4926 18.9926 19.5 17.75 19.5H8.75C7.50736 19.5 6.5 18.4926 6.5 17.25V4.25C6.5 3.00736 7.50736 2 8.75 2H17.75ZM17.75 3.5H8.75C8.33579 3.5 8 3.83579 8 4.25V17.25C8 17.6642 8.33579 18 8.75 18H17.75C18.1642 18 18.5 17.6642 18.5 17.25V4.25C18.5 3.83579 18.1642 3.5 17.75 3.5Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Copy&lt;/button&gt;&lt;button aria-label=&quot;Rewrite&quot; role=&quot;button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border: medium; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); flex-direction: row; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: auto; outline: none; padding: 0px; position: relative; width: 36px;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M15.8911 3.04825L3.94103 14.9997C3.5347 15.4061 3.2491 15.9172 3.116 16.4762L2.02041 21.0777C1.96009 21.3311 2.03552 21.5976 2.21968 21.7817C2.40385 21.9659 2.67037 22.0413 2.92373 21.981L7.52498 20.8855C8.08418 20.7523 8.59546 20.4666 9.00191 20.0601L10.1531 18.9088C10.0528 18.4552 10 17.9838 10 17.5C10 17.3026 10.0088 17.1073 10.026 16.9144L7.94119 18.9995C7.73104 19.2097 7.46668 19.3574 7.17755 19.4263L3.76191 20.2395L4.57521 16.8237C4.64402 16.5346 4.79168 16.2704 5.00175 16.0603L15 6.06084L17.9394 9.00018L15.9137 11.0261C16.1068 11.0088 16.3024 11 16.5 11C16.9835 11 17.4547 11.0528 17.9081 11.1529L20.952 8.10861C22.3493 6.71112 22.3493 4.4455 20.9519 3.0481C19.5543 1.65058 17.2885 1.65064 15.8911 3.04825ZM19.8912 4.10876C20.7028 4.9204 20.7029 6.23632 19.8913 7.04801L19 7.93946L16.0606 5.00012L16.9518 4.10884C17.7634 3.29709 19.0795 3.29705 19.8912 4.10876ZM22 17.5C22 20.5376 19.5376 23 16.5 23C13.4624 23 11 20.5376 11 17.5C11 14.4624 13.4624 12 16.5 12C19.5376 12 22 14.4624 22 17.5ZM15.3536 15.3536C15.5488 15.1583 15.5488 14.8417 15.3536 14.6464C15.1583 14.4512 14.8417 14.4512 14.6464 14.6464L13.1464 16.1464C12.9512 16.3417 12.9512 16.6583 13.1464 16.8536L14.6464 18.3536C14.8417 18.5488 15.1583 18.5488 15.3536 18.3536C15.5488 18.1583 15.5488 17.8417 15.3536 17.6464L14.7071 17H16.75C17.9926 17 19 18.0074 19 19.25V19.5C19 19.7761 19.2239 20 19.5 20C19.7761 20 20 19.7761 20 19.5V19.25C20 17.4551 18.5449 16 16.75 16H14.7071L15.3536 15.3536Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Rewrite&lt;/button&gt;&lt;p style=&quot;font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); line-height: var(--cib-type-body1-line-height); margin: 0px; user-select: text; word-break: break-word;&quot;&gt;…&lt;/p&gt;&lt;div class=&quot;message&quot;&gt;&lt;div class=&quot;content&quot; style=&quot;display: flex; flex-direction: column; font-size: var(--cib-type-body2-font-size); font-variation-settings: var(--cib-type-body2-font-variation-settings); font-weight: var(--cib-type-body2-font-weight); line-height: var(--cib-type-body2-line-height); min-height: var(--cib-type-body2-line-height); padding: 10px 16px; position: relative; user-select: text; word-break: break-word;&quot; tabindex=&quot;0&quot;&gt;&lt;div class=&quot;ac-container ac-adaptiveCard&quot; id=&quot;entity-image-top&quot; style=&quot;display: block; flex-direction: column; font-size: var(--cib-type-body2-font-size); font-variation-settings: var(--cib-type-body2-font-variation-settings); font-weight: var(--cib-type-body2-font-weight); line-height: var(--cib-type-body2-line-height); margin: 0px; padding: 0px; user-select: text; word-break: break-word;&quot;&gt;&lt;div&gt;&lt;button class=&quot;entity-image-button&quot; style=&quot;align-items: center; animation: var(--cib-motion-duration-normal) var(--cib-motion-easing-bounce) var(--cib-motion-duration-normal) both message-enter; background: none; border-radius: var(--cib-border-radius-medium); border: medium; cursor: pointer; display: flex; float: right; font-family: var(--cib-font-text); justify-content: flex-end; margin-inline-start: 18px; margin: 6px 0px 18px; max-height: 320px; max-width: 280px; min-width: 120px; overflow: hidden; padding: 0px; position: relative; width: 280px;&quot;&gt;&lt;div class=&quot;entity-image&quot; style=&quot;border-radius: 4px; overflow: hidden; position: relative;&quot;&gt;&lt;div class=&quot;shower-glass&quot; style=&quot;display: flex; filter: blur(40px);&quot;&gt;&lt;img alt=&quot;Rosetta Code&quot; class=&quot;ac-image&quot; src=&quot;https://www.bing.com/th?id=OSK.b46aa36ea449b78854d829e4500d1f7b&amp;amp;pid=cdx&amp;amp;w=320&amp;amp;h=189&amp;amp;c=7&amp;amp;rs=1&quot; style=&quot;border-radius: var(--cib-border-radius-medium); display: block; height: 189px; margin: 0px; max-width: 100%; min-width: 0px; opacity: 0.5; width: 320px;&quot; /&gt;&lt;/div&gt;&lt;div class=&quot;overlay-image&quot; style=&quot;align-items: center; display: flex; height: 165.375px; justify-content: center; left: 0px; position: absolute; top: 0px; width: 280px;&quot;&gt;&lt;img class=&quot;ac-image shower-glass-entity-image&quot; src=&quot;https://www.bing.com/th?id=OSK.b46aa36ea449b78854d829e4500d1f7b&amp;amp;pid=cdx&amp;amp;w=320&amp;amp;h=180&amp;amp;c=7&quot; style=&quot;border-radius: var(--cib-border-radius-medium); display: block; height: auto; margin: 0px; max-width: 100%; width: auto;&quot; /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;entity-explore-pill&quot; style=&quot;align-items: center; background: rgba(0, 0, 0, 0.7); border-radius: var(--cib-border-radius-circular); bottom: 8px; box-sizing: border-box; color: white; display: flex; fill: white; flex-direction: row; font-size: var(--cib-type-caption1-strong-font-size); font-variation-settings: var(--cib-type-caption1-strong-font-variation-settings); font-weight: var(--cib-type-caption1-strong-font-weight); gap: 6px; inset-inline-end: 8px; line-height: var(--cib-type-caption1-strong-line-height); min-height: 28px; padding: 6px 12px; position: absolute;&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M11.4048 9.46478L2.69814 18.1785C1.81212 19.0652 1.81262 20.5022 2.69924 21.3883C3.58585 22.2743 5.02284 22.2738 5.90895 21.3871L14.6148 12.6748L11.4048 9.46478ZM16.8518 15.0068L16.75 15C16.3703 15 16.0565 15.2822 16.0068 15.6482L16 15.75V16.5H15.25C14.8703 16.5 14.5565 16.7822 14.5068 17.1482L14.5 17.25C14.5 17.6297 14.7822 17.9435 15.1482 17.9932L15.25 18H16V18.75C16 19.1297 16.2822 19.4435 16.6482 19.4932L16.75 19.5C17.1297 19.5 17.4435 19.2178 17.4932 18.8518L17.5 18.75V18H18.25C18.6297 18 18.9435 17.7178 18.9932 17.3518L19 17.25C19 16.8703 18.7178 16.5565 18.3518 16.5068L18.25 16.5H17.5V15.75C17.5 15.3703 17.2178 15.0565 16.8518 15.0068L16.75 15L16.8518 15.0068ZM13.3136 7.56538L13.1775 7.69092L12.4658 8.40378L15.6758 11.6138L16.3879 10.9003C17.2654 10.0213 17.2651 8.59738 16.3868 7.71848L16.2304 7.5715C15.3931 6.85388 14.1533 6.85191 13.3136 7.56538ZM6.85177 5.00685L6.75 5C6.3703 5 6.05651 5.28215 6.00685 5.64823L6 5.75V6.5H5.25C4.8703 6.5 4.55651 6.78215 4.50685 7.14823L4.5 7.25C4.5 7.6297 4.78215 7.94349 5.14823 7.99315L5.25 8H6V8.75C6 9.1297 6.28215 9.44349 6.64823 9.49315L6.75 9.5C7.1297 9.5 7.44349 9.21785 7.49315 8.85177L7.5 8.75V8H8.25C8.6297 8 8.94349 7.71785 8.99315 7.35177L9 7.25C9 6.8703 8.71785 6.55651 8.35177 6.50685L8.25 6.5H7.5V5.75C7.5 5.3703 7.21785 5.05651 6.85177 5.00685L6.75 5L6.85177 5.00685ZM18.8518 3.00685L18.75 3C18.3703 3 18.0565 3.28215 18.0068 3.64823L18 3.75V4.5H17.25C16.8703 4.5 16.5565 4.78215 16.5068 5.14823L16.5 5.25C16.5 5.6297 16.7822 5.94349 17.1482 5.99315L17.25 6H18V6.75C18 7.1297 18.2822 7.44349 18.6482 7.49315L18.75 7.5C19.1297 7.5 19.4435 7.21785 19.4932 6.85177L19.5 6.75V6H20.25C20.6297 6 20.9435 5.71785 20.9932 5.35177L21 5.25C21 4.8703 20.7178 4.55651 20.3518 4.50685L20.25 4.5H19.5V3.75C19.5 3.3703 19.2178 3.05651 18.8518 3.00685L18.75 3L18.8518 3.00685Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;div class=&quot;entity-explore-text&quot;&gt;Explore&lt;/div&gt;&lt;/div&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;ac-textBlock&quot; style=&quot;color: var(--cib-color-foreground-neutral-primary); display: contents; flex-direction: column;&quot;&gt;&lt;p style=&quot;font-size: var(--cib-type-body2-font-size); font-variation-settings: var(--cib-type-body2-font-variation-settings); font-weight: var(--cib-type-body2-font-weight); line-height: var(--cib-type-body2-line-height); margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; padding: 0px; user-select: text; word-break: break-word;&quot;&gt;I’m sorry, but I am not able to create a Rosetta Code task for you. However, I can provide you with some information about&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-size: var(--cib-type-subtitle2-stronger-font-size); font-variation-settings: var(--cib-type-subtitle2-stronger-font-variation-settings); font-weight: var(--cib-type-subtitle2-stronger-font-weight); line-height: var(--cib-type-subtitle2-stronger-line-height);&quot;&gt;Paddy3118&lt;/b&gt;, a prolific contributor to Rosetta Code who has created many tasks in the past.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a class=&quot;tooltip-target&quot; data-citationid=&quot;9a2eb16e-1782-0556-892b-e161ee897fa7-7-group&quot; href=&quot;https://rosettacode.org/wiki/User:Paddy3118&quot; style=&quot;border-bottom: 2px solid transparent; color: inherit; position: relative; text-decoration-color: var(--cib-color-foreground-neutral-tertiary); text-decoration-style: dotted; text-underline-offset: 3px;&quot; target=&quot;_blank&quot;&gt;Paddy3118 is a pseudonym for&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-size: var(--cib-type-subtitle2-stronger-font-size); font-variation-settings: var(--cib-type-subtitle2-stronger-font-variation-settings); font-weight: var(--cib-type-subtitle2-stronger-font-weight); line-height: var(--cib-type-subtitle2-stronger-line-height); pointer-events: none;&quot;&gt;Donald McCarthy&lt;/b&gt;, who works with Electronic Design Automation tools creating design flows, filling in the gaps with novel tools, and generally helping to design and verify integrated circuits&lt;/a&gt;&lt;a aria-label=&quot;1: Donald McCarthy&quot; class=&quot;ac-anchor sup-target&quot; data-citationid=&quot;9a2eb16e-1782-0556-892b-e161ee897fa7-7&quot; href=&quot;https://rosettacode.org/wiki/User:Paddy3118&quot; style=&quot;position: relative;&quot; target=&quot;_blank&quot;&gt;&lt;sup style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-comp-message-citation-border-radius); color: var(--cib-color-foreground-accent-primary); display: inline-flex; font-size: var(--cib-type-caption2-strong-font-size); font-variation-settings: var(--cib-type-caption2-strong-font-variation-settings); font-weight: var(--cib-type-caption2-strong-font-weight); height: 14px; justify-content: center; line-height: var(--cib-type-caption2-strong-line-height); margin: 0px 2px; min-width: 14px; outline: transparent solid 1px; position: relative; text-decoration-color: transparent; top: -1px; vertical-align: top;&quot;&gt;1&lt;/sup&gt;&lt;/a&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a class=&quot;tooltip-target&quot; data-citationid=&quot;9a2eb16e-1782-0556-892b-e161ee897fa7-9-group&quot; href=&quot;https://rosettacode.org/wiki/User:Paddy3118&quot; style=&quot;border-bottom: 2px solid transparent; color: inherit; position: relative; text-decoration-color: var(--cib-color-foreground-neutral-tertiary); text-decoration-style: dotted; text-underline-offset: 3px;&quot;&gt;He has created 392 new pages on Rosetta Code, of which 148 were not Talk: pages, from approximately 4523 edits&lt;/a&gt;&lt;a aria-label=&quot;1: Paddy3118 is a pseudonym for Donald McCarthy, who works with Electronic Design Automation tools creating design flows, filling in the gaps with novel tools, and generally helping to design and verify integrated circuits1&quot; class=&quot;ac-anchor sup-target&quot; data-citationid=&quot;9a2eb16e-1782-0556-892b-e161ee897fa7-9&quot; href=&quot;https://rosettacode.org/wiki/User:Paddy3118&quot; style=&quot;position: relative;&quot; target=&quot;_blank&quot;&gt;&lt;sup style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-comp-message-citation-border-radius); color: var(--cib-color-foreground-accent-primary); display: inline-flex; font-size: var(--cib-type-caption2-strong-font-size); font-variation-settings: var(--cib-type-caption2-strong-font-variation-settings); font-weight: var(--cib-type-caption2-strong-font-weight); height: 14px; justify-content: center; line-height: var(--cib-type-caption2-strong-line-height); margin: 0px 2px; min-width: 14px; outline: transparent solid 1px; position: relative; text-decoration-color: transparent; top: -1px; vertical-align: top;&quot;&gt;1&lt;/sup&gt;&lt;/a&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a class=&quot;tooltip-target&quot; data-citationid=&quot;9a2eb16e-1782-0556-892b-e161ee897fa7-11-group&quot; href=&quot;https://rosettacode.org/wiki/User:Paddy3118&quot; style=&quot;border-bottom: 2px solid transparent; color: inherit; position: relative; text-decoration-color: var(--cib-color-foreground-neutral-tertiary); text-decoration-style: dotted; text-underline-offset: 3px;&quot; target=&quot;_blank&quot;&gt;You can find more information about Paddy3118 and his contributions to Rosetta Code on his user page&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;a aria-label=&quot;1: He has created 392 new pages on Rosetta Code, of which 148 were not Talk: pages, from approximately 4523 edits1&quot; class=&quot;ac-anchor sup-target&quot; data-citationid=&quot;9a2eb16e-1782-0556-892b-e161ee897fa7-11&quot; href=&quot;https://rosettacode.org/wiki/User:Paddy3118&quot; style=&quot;position: relative;&quot; target=&quot;_blank&quot;&gt;&lt;sup style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-comp-message-citation-border-radius); color: var(--cib-color-foreground-accent-primary); display: inline-flex; font-size: var(--cib-type-caption2-strong-font-size); font-variation-settings: var(--cib-type-caption2-strong-font-variation-settings); font-weight: var(--cib-type-caption2-strong-font-weight); height: 14px; justify-content: center; line-height: var(--cib-type-caption2-strong-line-height); margin: 0px 2px; min-width: 14px; outline: transparent solid 1px; position: relative; text-decoration-color: transparent; top: -1px; vertical-align: top;&quot;&gt;1&lt;/sup&gt;&lt;/a&gt;. I hope this information helps!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content footer&quot; style=&quot;align-items: flex-start; border-top: 1px solid var(--cib-color-stroke-neutral-primary); display: grid; flex-direction: row; font-size: var(--cib-type-body2-font-size); font-variation-settings: var(--cib-type-body2-font-variation-settings); font-weight: var(--cib-type-body2-font-weight); grid-template-columns: 1fr auto; justify-content: space-between; line-height: var(--cib-type-body2-line-height); min-height: var(--cib-type-body2-line-height); padding: 0px; user-select: text; word-break: break-word;&quot;&gt;&lt;div class=&quot;learn-more-root&quot; style=&quot;display: flex; flex-direction: row; row-gap: 8px;&quot;&gt;&lt;div class=&quot;learn-more-control&quot; style=&quot;display: flex; flex-wrap: nowrap; max-width: max-content; min-width: max-content;&quot;&gt;&lt;p class=&quot;learn-more&quot; style=&quot;align-self: flex-start; font-size: var(--cib-type-body1-stronger-font-size); font-variation-settings: var(--cib-type-body1-stronger-font-variation-settings); font-weight: var(--cib-type-body1-stronger-font-weight); inset-inline-start: 1px; line-height: var(--cib-type-body1-stronger-line-height); margin-inline-end: 8px; margin: 0px; min-width: fit-content; padding-inline-end: 8px; position: relative; top: 2px;&quot;&gt;Learn more&lt;/p&gt;&lt;button aria-expanded=&quot;false&quot; class=&quot;v2-expand-button&quot; style=&quot;align-items: center; background: transparent; border-radius: var(--cib-border-radius-medium); border: 1px solid var(--cib-color-fill-accent-alt-primary); cursor: pointer; display: flex; height: 24px; justify-content: center; margin-inline-end: 6px; width: 24px;&quot;&gt;&lt;svg viewbox=&quot;0 0 2048 2048&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M341 768q0-18 7-33t18-27 27-19 34-7q19 0 33 6t27 20l537 537 537-537q26-26 60-26 18 0 33 7t27 18 19 27 7 34q0 35-25 60l-598 598q-25 25-60 25t-60-25L366 828q-25-25-25-60z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;div class=&quot;attribution-container&quot; style=&quot;display: flex; flex-direction: row; row-gap: 6px; width: 538.575px;&quot;&gt;&lt;div class=&quot;attribution-items&quot; style=&quot;display: flex; flex-flow: wrap; row-gap: 6px;&quot;&gt;&lt;a class=&quot;attribution-item&quot; data-citationid=&quot;91652ed1-97fe-7d6c-5a38-e643c9f98c6c&quot; data-sig=&quot;T3fWXKaxvNM8wPpLAZad8KC2+0AG66ubX5yU3DT62V8=&quot; href=&quot;https://rosettacode.org/wiki/User:Paddy3118&quot; style=&quot;align-items: center; background: transparent; border-radius: var(--cib-border-radius-medium); border: 1px solid var(--cib-color-fill-accent-alt-primary); box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; display: flex; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); gap: 6px; height: 24px; justify-content: center; line-height: var(--cib-type-body1-strong-line-height); margin-inline-end: 6px; min-width: max-content; padding-inline-end: 8px; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;badge&quot; style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-border-radius-medium); display: flex; height: 24px; justify-content: center; position: static; text-align: center; width: 24px;&quot;&gt;1&lt;/span&gt;&lt;img class=&quot;learn-more-favicon&quot; src=&quot;blob:https://www.bing.com/ed2a7235-0edf-4901-b753-baecec3aa9a0&quot; style=&quot;display: block; height: 16px; width: 16px;&quot; /&gt;&lt;span class=&quot;text-container&quot; style=&quot;display: flex; flex-direction: column; flex: 1 1 0%; font-weight: var(--cib-type-body1-font-weight); gap: 6px; justify-content: space-between; line-height: 1rem; min-width: max-content; padding: 4px 0px;&quot;&gt;rosettacode.org&lt;/span&gt;&lt;/a&gt;&lt;a class=&quot;attribution-item&quot; data-citationid=&quot;b6a55ddd-4d17-f38a-e2dd-33f0e65b91a7&quot; data-sig=&quot;1S7di/ASlY/JOyxp3MswRHJCAnleWZ1ZD4xhHqHfsc4=&quot; href=&quot;https://rosettacode.org/wiki/Rosetta_Code:Village_Pump/Suggest_a_programming_task&quot; style=&quot;align-items: center; background: transparent; border-radius: var(--cib-border-radius-medium); border: 1px solid var(--cib-color-fill-accent-alt-primary); box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; display: flex; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); gap: 6px; height: 24px; justify-content: center; line-height: var(--cib-type-body1-strong-line-height); margin-inline-end: 6px; min-width: max-content; padding-inline-end: 8px; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;badge&quot; style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-border-radius-medium); display: flex; height: 24px; justify-content: center; position: static; text-align: center; width: 24px;&quot;&gt;2&lt;/span&gt;&lt;img class=&quot;learn-more-favicon&quot; src=&quot;blob:https://www.bing.com/ed2a7235-0edf-4901-b753-baecec3aa9a0&quot; style=&quot;display: block; height: 16px; width: 16px;&quot; /&gt;&lt;span class=&quot;text-container&quot; style=&quot;display: flex; flex-direction: column; flex: 1 1 0%; font-weight: var(--cib-type-body1-font-weight); gap: 6px; justify-content: space-between; line-height: 1rem; min-width: max-content; padding: 4px 0px;&quot;&gt;rosettacode.org&lt;/span&gt;&lt;/a&gt;&lt;a class=&quot;attribution-item&quot; data-citationid=&quot;514b43ad-5e4f-0405-baad-f71a2eda9af5&quot; data-sig=&quot;n7dDrjF4B+WJS4U0UwBC9QgHRmu2f5kRbTHEI62BEYE=&quot; href=&quot;https://rosettacode.org/wiki/User_talk:Paddy3118&quot; style=&quot;align-items: center; background: transparent; border-radius: var(--cib-border-radius-medium); border: 1px solid var(--cib-color-fill-accent-alt-primary); box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; display: flex; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); gap: 6px; height: 24px; justify-content: center; line-height: var(--cib-type-body1-strong-line-height); margin-inline-end: 6px; min-width: max-content; padding-inline-end: 8px; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;badge&quot; style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-border-radius-medium); display: flex; height: 24px; justify-content: center; position: static; text-align: center; width: 24px;&quot;&gt;3&lt;/span&gt;&lt;img class=&quot;learn-more-favicon&quot; src=&quot;blob:https://www.bing.com/ed2a7235-0edf-4901-b753-baecec3aa9a0&quot; style=&quot;display: block; height: 16px; width: 16px;&quot; /&gt;&lt;span class=&quot;text-container&quot; style=&quot;display: flex; flex-direction: column; flex: 1 1 0%; font-weight: var(--cib-type-body1-font-weight); gap: 6px; justify-content: space-between; line-height: 1rem; min-width: max-content; padding: 4px 0px;&quot;&gt;rosettacode.org&lt;/span&gt;&lt;/a&gt;&lt;a class=&quot;attribution-item&quot; data-citationid=&quot;086c2648-4e81-8cdb-5517-a964109a80fa&quot; data-sig=&quot;HrFokeI0JAXllpzeXDyyXXHOiQxhcVjHyR3LFCRI5oY=&quot; href=&quot;https://www.rosettacode.org/wiki/User:Paddy3118/Bye_spam&quot; style=&quot;align-items: center; background: transparent; border-radius: var(--cib-border-radius-medium); border: 1px solid var(--cib-color-fill-accent-alt-primary); box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; display: flex; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); gap: 6px; height: 24px; justify-content: center; line-height: var(--cib-type-body1-strong-line-height); margin-inline-end: 6px; min-width: max-content; padding-inline-end: 8px; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;badge&quot; style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-border-radius-medium); display: flex; height: 24px; justify-content: center; position: static; text-align: center; width: 24px;&quot;&gt;4&lt;/span&gt;&lt;img class=&quot;learn-more-favicon&quot; src=&quot;blob:https://www.bing.com/2b42888a-2eaa-4a40-9199-8d4a9aa30368&quot; style=&quot;display: block; height: 16px; width: 16px;&quot; /&gt;&lt;span class=&quot;text-container&quot; style=&quot;display: flex; flex-direction: column; flex: 1 1 0%; font-weight: var(--cib-type-body1-font-weight); gap: 6px; justify-content: space-between; line-height: 1rem; min-width: max-content; padding: 4px 0px;&quot;&gt;rosettacode.org&lt;/span&gt;&lt;/a&gt;&lt;a class=&quot;attribution-item&quot; data-citationid=&quot;c47ea01f-2873-3529-4b4f-334008e57990&quot; href=&quot;https://en.wikipedia.org/wiki/Rosetta_Code&quot; style=&quot;align-items: center; background: transparent; border-radius: var(--cib-border-radius-medium); border: 1px solid var(--cib-color-fill-accent-alt-primary); box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; display: flex; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); gap: 6px; height: 24px; justify-content: center; line-height: var(--cib-type-body1-strong-line-height); margin-inline-end: 6px; min-width: max-content; padding-inline-end: 8px; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;badge&quot; style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-border-radius-medium); display: flex; height: 24px; justify-content: center; position: static; text-align: center; width: 24px;&quot;&gt;5&lt;/span&gt;&lt;img class=&quot;learn-more-favicon&quot; src=&quot;blob:https://www.bing.com/a4d1fdb7-08ef-460c-b12a-868a1837d670&quot; style=&quot;display: block; height: 16px; width: 16px;&quot; /&gt;&lt;span class=&quot;text-container&quot; style=&quot;display: flex; flex-direction: column; flex: 1 1 0%; font-weight: var(--cib-type-body1-font-weight); gap: 6px; justify-content: space-between; line-height: 1rem; min-width: max-content; padding: 4px 0px;&quot;&gt;en.wikipedia.org&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;text&quot; style=&quot;display: flex; font-size: var(--cib-type-body1-stronger-font-size); font-variation-settings: var(--cib-type-body1-stronger-font-variation-settings); font-weight: var(--cib-type-body1-stronger-font-weight); gap: 3px; line-height: var(--cib-type-body1-stronger-line-height);&quot;&gt;&lt;span&gt;8&lt;/span&gt;&lt;span&gt;of&lt;/span&gt;&lt;span&gt;30&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;indicator&quot; style=&quot;background: rgb(44, 130, 71); border-radius: var(--cib-border-radius-circular); height: 10px; width: 10px;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;bar complete&quot; role=&quot;progressbar&quot; style=&quot;animation: 2s linear 0s infinite normal none running borealisBar; background: var(--cib-color-fill-accent-gradient-primary); border-radius: var(--cib-border-radius-circular); bottom: 0px; inset-inline: 0px 251.062px; opacity: 0; position: absolute; top: 0px; transition-duration: var(--cib-motion-duration-slow); transition-timing-function: var(--cib-motion-easing-transition); width: 0px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;container&quot; style=&quot;display: flex; flex-direction: row;&quot;&gt;&lt;button aria-label=&quot;Like&quot; aria-pressed=&quot;false&quot; class=&quot;positive&quot; is=&quot;cib-button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-border-radius-none); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M16.4996 5.20235C16.4996 2.76041 15.3595 1.00366 13.4932 1.00366C12.467 1.00366 12.1149 1.60503 11.747 3.00324C11.6719 3.29209 11.635 3.43272 11.596 3.57133C11.495 3.93007 11.3192 4.54082 11.069 5.40234C11.0623 5.42542 11.0524 5.44717 11.0396 5.46724L8.17281 9.95291C7.49476 11.0139 6.49429 11.8294 5.31841 12.2796L4.84513 12.4608C3.5984 12.9381 2.87457 14.2419 3.1287 15.5525L3.53319 17.6385C3.77462 18.8836 4.71828 19.8745 5.9501 20.1764L13.5778 22.046C16.109 22.6664 18.6674 21.1314 19.3113 18.6061L20.7262 13.057C21.1697 11.3177 20.1192 9.5482 18.3799 9.10473C18.1175 9.03782 17.8478 9.00398 17.5769 9.00398H15.7536C16.2497 7.37109 16.4996 6.1113 16.4996 5.20235ZM4.60127 15.2669C4.48576 14.6712 4.81477 14.0786 5.38147 13.8616L5.85475 13.6804C7.33036 13.1154 8.58585 12.0921 9.43674 10.7607L12.3035 6.27501C12.3935 6.13412 12.4629 5.98107 12.5095 5.8205C12.7608 4.95549 12.9375 4.3415 13.0399 3.97761C13.083 3.82436 13.1239 3.66891 13.1976 3.38494C13.3875 2.66324 13.4809 2.50366 13.4932 2.50366C14.3609 2.50366 14.9996 3.48773 14.9996 5.20235C14.9996 6.08683 14.6738 7.53779 14.0158 9.51741C13.8544 10.0029 14.2158 10.504 14.7275 10.504H17.5769C17.7228 10.504 17.868 10.5222 18.0093 10.5582C18.9459 10.797 19.5115 11.7498 19.2727 12.6863L17.8578 18.2355C17.4172 19.9634 15.6668 21.0136 13.9349 20.5891L6.30718 18.7196C5.64389 18.557 5.13577 18.0234 5.00577 17.353L4.60127 15.2669Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;div class=&quot;button-divider&quot; style=&quot;background: var(--cib-color-stroke-neutral-primary); height: 36px; width: 1px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Dislike&quot; aria-pressed=&quot;false&quot; class=&quot;negative&quot; is=&quot;cib-button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-border-radius-none); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M16.4996 17.9849C16.4996 20.4269 15.3595 22.1836 13.4932 22.1836C12.5183 22.1836 12.1518 21.6409 11.8021 20.3878L11.596 19.6159C11.495 19.2572 11.3192 18.6464 11.069 17.7849C11.0623 17.7618 11.0524 17.7401 11.0396 17.72L8.17281 13.2344C7.49476 12.1734 6.49429 11.3579 5.31841 10.9077L4.84513 10.7265C3.5984 10.2492 2.87457 8.94538 3.1287 7.63481L3.53319 5.54873C3.77462 4.30364 4.71828 3.31273 5.9501 3.01082L13.5778 1.14129C16.109 0.520894 18.6674 2.05583 19.3113 4.58116L20.7262 10.1303C21.1697 11.8696 20.1192 13.6391 18.3799 14.0825C18.1175 14.1494 17.8478 14.1833 17.5769 14.1833H15.7536C16.2497 15.8162 16.4996 17.076 16.4996 17.9849ZM4.60127 7.92034C4.48576 8.51606 4.81477 9.10868 5.38147 9.32565L5.85475 9.50686C7.33036 10.0718 8.58585 11.0952 9.43674 12.4266L12.3035 16.9123C12.3935 17.0531 12.4629 17.2062 12.5095 17.3668L13.0614 19.287L13.2731 20.0784C13.4125 20.5664 13.4827 20.6836 13.4932 20.6836C14.3609 20.6836 14.9996 19.6995 14.9996 17.9849C14.9996 17.1004 14.6738 15.6495 14.0158 13.6698C13.8544 13.1843 14.2158 12.6833 14.7275 12.6833H17.5769C17.7228 12.6833 17.868 12.6651 18.0093 12.629C18.9459 12.3902 19.5115 11.4375 19.2727 10.5009L17.8578 4.95176C17.4172 3.2239 15.6668 2.17369 13.9349 2.59816L6.30718 4.46769C5.64389 4.63026 5.13577 5.16383 5.00577 5.83426L4.60127 7.92034Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;div class=&quot;button-divider&quot; style=&quot;background: var(--cib-color-stroke-neutral-primary); height: 36px; width: 1px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Copy&quot; is=&quot;cib-button&quot; role=&quot;menuitem&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-border-radius-none); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M5.5028 4.62704L5.5 6.75V17.2542C5.5 19.0491 6.95507 20.5042 8.75 20.5042L17.3663 20.5045C17.0573 21.3782 16.224 22.0042 15.2444 22.0042H8.75C6.12665 22.0042 4 19.8776 4 17.2542V6.75C4 5.76929 4.62745 4.93512 5.5028 4.62704ZM17.75 2C18.9926 2 20 3.00736 20 4.25V17.25C20 18.4926 18.9926 19.5 17.75 19.5H8.75C7.50736 19.5 6.5 18.4926 6.5 17.25V4.25C6.5 3.00736 7.50736 2 8.75 2H17.75ZM17.75 3.5H8.75C8.33579 3.5 8 3.83579 8 4.25V17.25C8 17.6642 8.33579 18 8.75 18H17.75C18.1642 18 18.5 17.6642 18.5 17.25V4.25C18.5 3.83579 18.1642 3.5 17.75 3.5Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;div class=&quot;button-divider&quot; style=&quot;background: var(--cib-color-stroke-neutral-primary); height: 36px; width: 1px;&quot;&gt;&lt;/div&gt;&lt;button aria-expanded=&quot;false&quot; aria-haspopup=&quot;true&quot; aria-label=&quot;Export&quot; class=&quot;export-button&quot; is=&quot;cib-button&quot; role=&quot;menuitem&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-border-radius-none); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M18.2498 20.5009C18.664 20.5008 19 20.8365 19 21.2507C19 21.6649 18.6644 22.0008 18.2502 22.0009L5.25022 22.0047C4.836 22.0048 4.5 21.6691 4.5 21.2549C4.5 20.8407 4.83557 20.5048 5.24978 20.5047L18.2498 20.5009ZM11.6482 2.01271L11.75 2.00586C12.1297 2.00586 12.4435 2.28801 12.4932 2.65409L12.5 2.75586L12.499 16.4409L16.2208 12.7205C16.4871 12.4543 16.9038 12.4301 17.1974 12.648L17.2815 12.7206C17.5477 12.9869 17.5719 13.4036 17.354 13.6972L17.2814 13.7813L12.2837 18.7779C12.0176 19.044 11.6012 19.0683 11.3076 18.8507L11.2235 18.7782L6.22003 13.7816C5.92694 13.4889 5.92661 13.014 6.21931 12.7209C6.48539 12.4545 6.90204 12.43 7.1958 12.6477L7.27997 12.7202L10.999 16.4339L11 2.75586C11 2.37616 11.2822 2.06237 11.6482 2.01271L11.75 2.00586L11.6482 2.01271Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;div class=&quot;button-divider&quot; style=&quot;background: var(--cib-color-stroke-neutral-primary); height: 36px; width: 1px;&quot;&gt;&lt;/div&gt;&lt;button aria-haspopup=&quot;true&quot; aria-label=&quot;Share&quot; is=&quot;cib-button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-border-radius-none); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M6.7467 4.00003H10.2109C10.6251 4.00003 10.9609 4.33582 10.9609 4.75003C10.9609 5.12972 10.6788 5.44352 10.3127 5.49318L10.2109 5.50003H6.7467C5.55584 5.50003 4.58106 6.42519 4.50189 7.59598L4.4967 7.75003V17.25C4.4967 18.4409 5.42187 19.4157 6.59266 19.4948L6.7467 19.5H16.2474C17.4383 19.5 18.4131 18.5749 18.4922 17.4041L18.4974 17.25V16.7522C18.4974 16.338 18.8332 16.0022 19.2474 16.0022C19.6271 16.0022 19.9409 16.2844 19.9906 16.6505L19.9974 16.7522V17.25C19.9974 19.2543 18.4251 20.8913 16.4466 20.9948L16.2474 21H6.7467C4.74244 21 3.10543 19.4277 3.0019 17.4492L2.9967 17.25V7.75003C2.9967 5.74577 4.56907 4.10876 6.54755 4.00523L6.7467 4.00003H10.2109H6.7467ZM14.5007 6.51988V3.75003C14.5007 3.12606 15.2075 2.78998 15.6877 3.13983L15.7699 3.20877L21.7645 8.95877C22.0442 9.22712 22.0697 9.65814 21.8408 9.9561L21.7646 10.0412L15.77 15.7931C15.3197 16.2251 14.5878 15.9477 14.5078 15.3589L14.5007 15.2519V12.5266L14.1572 12.5567C11.7575 12.807 9.45748 13.8879 7.24265 15.8174C6.72354 16.2696 5.92041 15.842 6.00579 15.1589C6.67058 9.83933 9.45245 6.90733 14.2013 6.53953L14.5007 6.51988V3.75003V6.51988ZM16.0007 5.50867V7.25003C16.0007 7.66424 15.6649 8.00003 15.2507 8.00003C11.3773 8.00003 8.97667 9.67616 7.93943 13.1572L7.86037 13.4358L8.21256 13.199C10.449 11.7372 12.7985 11 15.2507 11C15.6304 11 15.9442 11.2822 15.9939 11.6483L16.0007 11.75V13.4928L20.1619 9.50012L16.0007 5.50867Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;div class=&quot;button-divider&quot; style=&quot;background: var(--cib-color-stroke-neutral-primary); height: 36px; width: 1px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Send to your phone&quot; class=&quot;send-to-phone-icon&quot; is=&quot;cib-button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-comp-feedback-button-border-radius); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M13.75 2C14.9926 2 16 3.00736 16 4.25L16.0007 10.0189C15.4812 10.0584 14.9788 10.1589 14.5006 10.3133L14.5 4.25C14.5 3.83579 14.1642 3.5 13.75 3.5H6.25C5.83579 3.5 5.5 3.83579 5.5 4.25V19.75C5.5 20.1642 5.83579 20.5 6.25 20.5L11.3768 20.5009C11.8385 21.0912 12.4 21.5998 13.036 22.0011L6.25 22C5.00736 22 4 20.9926 4 19.75V4.25C4 3.00736 5.00736 2 6.25 2H13.75ZM16.5 11C19.5376 11 22 13.4624 22 16.5C22 19.5376 19.5376 22 16.5 22C13.4624 22 11 19.5376 11 16.5C11 13.4624 13.4624 11 16.5 11ZM16.7157 13.5886L16.6464 13.6464L16.5886 13.7157C16.4705 13.8862 16.4705 14.1138 16.5886 14.2843L16.6464 14.3536L18.2917 15.999L13.4937 16L13.4038 16.0081C13.1997 16.0451 13.0388 16.206 13.0018 16.4101L12.9937 16.5L13.0018 16.5899C13.0388 16.794 13.1997 16.9549 13.4038 16.9919L13.4937 17L18.2937 16.999L16.6464 18.6464L16.5886 18.7157C16.4536 18.9106 16.4729 19.18 16.6464 19.3536C16.82 19.5271 17.0894 19.5464 17.2843 19.4114L17.3536 19.3536L19.8832 16.8212L19.9202 16.7711L19.9622 16.691L19.9882 16.6083L19.9981 16.5444V16.4557L19.9883 16.392L19.9624 16.3094L19.9205 16.2293L19.8832 16.1788L17.3536 13.6464L17.2843 13.5886C17.1382 13.4873 16.9501 13.4729 16.7919 13.5452L16.7157 13.5886ZM10.0767 17.5019C10.1576 18.0246 10.3008 18.5268 10.4984 19.0006L8.75113 19.0038C8.33692 19.0044 8.00062 18.6691 8 18.2549C7.99938 17.8407 8.33466 17.5044 8.74887 17.5038L10.0767 17.5019Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;div class=&quot;button-divider&quot; style=&quot;background: var(--cib-color-stroke-neutral-primary); height: 36px; width: 1px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Read aloud&quot; class=&quot;readaloud-icon&quot; is=&quot;cib-button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-border-radius-none); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative; width: 36px;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 20 19&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M13 2.25c0-1.079-1.274-1.65-2.08-.934L6.427 5.309a.75.75 0 0 1-.498.19H2.25A2.25 2.25 0 0 0 0 7.749v4.497a2.25 2.25 0 0 0 2.25 2.25h3.68a.75.75 0 0 1 .498.19l4.491 3.994c.806.716 2.081.144 2.081-.934V2.25ZM7.425 6.43 11.5 2.807v14.382l-4.075-3.624a2.25 2.25 0 0 0-1.495-.569H2.25a.75.75 0 0 1-.75-.75V7.75a.75.75 0 0 1 .75-.75h3.68a2.25 2.25 0 0 0 1.495-.569Zm9.567-2.533a.75.75 0 0 1 1.049.157A9.959 9.959 0 0 1 20 10a9.96 9.96 0 0 1-1.96 5.946.75.75 0 0 1-1.205-.892A8.459 8.459 0 0 0 18.5 10a8.459 8.459 0 0 0-1.665-5.054.75.75 0 0 1 .157-1.049ZM15.143 6.37a.75.75 0 0 1 1.017.303c.536.99.84 2.125.84 3.328a6.973 6.973 0 0 1-.84 3.328.75.75 0 0 1-1.32-.714c.42-.777.66-1.666.66-2.614s-.24-1.837-.66-2.614a.75.75 0 0 1 .303-1.017Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;suggestion-items&quot; style=&quot;align-items: center; display: flex; flex-flow: wrap; gap: 100% 8px; height: 34px; justify-content: flex-end; order: 1; overflow: hidden; padding-inline-end: 2px;&quot;&gt;&lt;button aria-label=&quot;Show learn more suggestions&quot; class=&quot;rai-button&quot; style=&quot;background: none; border: medium; cursor: pointer; padding: 0px;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C10.3817 22 8.81782 21.6146 7.41286 20.888L3.58704 21.9553C2.92212 22.141 2.23258 21.7525 2.04691 21.0876C1.98546 20.8676 1.98549 20.6349 2.04695 20.4151L3.11461 16.5922C2.38637 15.186 2 13.6203 2 12C2 6.47715 6.47715 2 12 2ZM12 3.5C7.30558 3.5 3.5 7.30558 3.5 12C3.5 13.4696 3.87277 14.8834 4.57303 16.1375L4.72368 16.4072L3.61096 20.3914L7.59755 19.2792L7.86709 19.4295C9.12006 20.1281 10.5322 20.5 12 20.5C16.6944 20.5 20.5 16.6944 20.5 12C20.5 7.30558 16.6944 3.5 12 3.5ZM12 15.5C12.5523 15.5 13 15.9477 13 16.5C13 17.0523 12.5523 17.5 12 17.5C11.4477 17.5 11 17.0523 11 16.5C11 15.9477 11.4477 15.5 12 15.5ZM12 6.75C13.5188 6.75 14.75 7.98122 14.75 9.5C14.75 10.5108 14.4525 11.074 13.6989 11.8586L13.5303 12.0303C12.9084 12.6522 12.75 12.9163 12.75 13.5C12.75 13.9142 12.4142 14.25 12 14.25C11.5858 14.25 11.25 13.9142 11.25 13.5C11.25 12.4892 11.5475 11.926 12.3011 11.1414L12.4697 10.9697C13.0916 10.3478 13.25 10.0837 13.25 9.5C13.25 8.80964 12.6904 8.25 12 8.25C11.3528 8.25 10.8205 8.74187 10.7565 9.37219L10.75 9.5C10.75 9.91421 10.4142 10.25 10 10.25C9.58579 10.25 9.25 9.91421 9.25 9.5C9.25 7.98122 10.4812 6.75 12 6.75Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class=&quot;container&quot; style=&quot;background: var(--cib-color-fill-accent-primary); border-radius: var(--cib-border-radius-large); border: medium; box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); height: 28px; line-height: var(--cib-type-body1-strong-line-height); margin: 0px; max-width: 100%; min-width: unset; overflow: hidden; padding: 0px 12px; text-overflow: ellipsis; white-space: nowrap; width: min-content;&quot; type=&quot;button&quot;&gt;What is Rosetta Code?&lt;/button&gt;&lt;button class=&quot;container&quot; style=&quot;background: var(--cib-color-fill-accent-primary); border-radius: var(--cib-border-radius-large); border: medium; box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); height: 28px; line-height: var(--cib-type-body1-strong-line-height); margin: 0px; max-width: 100%; min-width: unset; overflow: hidden; padding: 0px 12px; text-overflow: ellipsis; white-space: nowrap; width: min-content;&quot; type=&quot;button&quot;&gt;Can you tell me more about Electronic Design Automation tools?&lt;/button&gt;&lt;button class=&quot;container&quot; style=&quot;background: var(--cib-color-fill-accent-primary); border-radius: var(--cib-border-radius-large); border: medium; box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); height: 28px; line-height: var(--cib-type-body1-strong-line-height); margin: 0px; max-width: 100%; min-width: unset; overflow: hidden; padding: 0px 12px; text-overflow: ellipsis; white-space: nowrap; width: min-content;&quot; type=&quot;button&quot;&gt;Who are some other prolific contributors to Rosetta Code?&lt;/button&gt;&lt;/div&gt;&lt;u&gt;&amp;nbsp;&lt;/u&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;u&gt;&amp;nbsp;&lt;/u&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;u&gt;&amp;nbsp;&lt;/u&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;u&gt;&amp;nbsp;&lt;/u&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Bard vs Bing&lt;/h2&gt;&lt;div style=&quot;text-align: left;&quot;&gt;The actual formatting does not copy-paste well in either case.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;Bard &lt;i&gt;attempts &lt;/i&gt;to write a task in my style, and gives some tips on my style.&lt;/li&gt;&lt;li&gt;Bing cannot create the task, but does extract some info on me.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Clearly a Bard win.&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Flattery will get them nowhere! (But keep it up mind you).&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;u&gt;Google Bard #2&lt;/u&gt;&lt;/h2&gt;&lt;div _ngcontent-ng-c2418868009=&quot;&quot; class=&quot;user-profile-picture-container ng-tns-c2418868009-71 ng-star-inserted&quot;&gt;&lt;img _ngcontent-ng-c1528087857=&quot;&quot; alt=&quot;profile picture&quot; class=&quot;user-icon&quot; src=&quot;https://lh3.googleusercontent.com/a/ACg8ocKcZ8yh8ZKTwELKsO44DQugacx1cBV2ecdw1vZtlt6Nytw=s64&quot; style=&quot;height: 32px; width: 32px;&quot; /&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c2418868009=&quot;&quot; class=&quot;query-content ng-tns-c2418868009-71&quot; id=&quot;user-query-content-4&quot;&gt;&lt;h2 _ngcontent-ng-c2418868009=&quot;&quot; class=&quot;query-text ng-tns-c2418868009-71 ng-star-inserted&quot; dir=&quot;ltr&quot;&gt;
what does paddy3118 do online?&lt;/h2&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c2163816378=&quot;&quot; aria-expanded=&quot;false&quot; aria-haspopup=&quot;menu&quot; class=&quot;mat-mdc-menu-trigger playback-speed-menu-trigger multi&quot; role=&quot;menu&quot;&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;presented-response-container ng-tns-c3572480037-73&quot;&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;logo-gutter ng-tns-c3572480037-73 ng-star-inserted&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c3572480037=&quot;&quot; class=&quot;logo-gutter ng-tns-c3572480037-73 ng-star-inserted&quot;&gt;&lt;div _ngcontent-ng-c3311821294=&quot;&quot; class=&quot;resize-observable&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div _ngcontent-ng-c135959469=&quot;&quot; class=&quot;markdown markdown-main-panel&quot; dir=&quot;ltr&quot; style=&quot;--animation-duration: 600ms;&quot;&gt;&lt;p data-sourcepos=&quot;1:1-1:186&quot;&gt;&lt;span&gt;Paddy3118 is an active participant in the online programming community,&lt;/span&gt;&lt;span&gt; particularly in areas related to mathematics and algorithms.&lt;/span&gt;&lt;span&gt; They have authored numerous programs and solutions to coding challenges,&lt;/span&gt;&lt;span&gt; demonstrating expertise in various programming languages and problem-solving techniques.&lt;/span&gt;&lt;span&gt; Paddy3118&#39;s contributions can be found across various platforms,&lt;/span&gt;&lt;span&gt; including:&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;3:1-3:130&quot;&gt;&lt;b&gt;GitHub:&lt;/b&gt;&lt;span&gt; Paddy3118 has a notable presence on GitHub,&lt;/span&gt;&lt;span&gt; where they have authored over 50 programs covering a wide range of topics,&lt;/span&gt;&lt;span&gt; including:&lt;/span&gt;&lt;/p&gt;&lt;ul data-sourcepos=&quot;5:1-5:179&quot;&gt;&lt;li data-sourcepos=&quot;5:1-5:179&quot;&gt;&lt;p data-sourcepos=&quot;5:3-5:180&quot;&gt;&lt;b&gt;Mathematical algorithms:&lt;/b&gt;&lt;span&gt; Implementing various mathematical concepts and algorithms,&lt;/span&gt;&lt;span&gt; such as the Godeh series generator,&lt;/span&gt;&lt;span&gt; Collatz conjecture tester,&lt;/span&gt;&lt;span&gt; and prime number generator.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li data-sourcepos=&quot;7:1-8:0&quot;&gt;&lt;p data-sourcepos=&quot;7:3-7:154&quot;&gt;&lt;b&gt;Problem-solving challenges:&lt;/b&gt;&lt;span&gt; Tackling coding challenges from platforms like Codewars,&lt;/span&gt;&lt;span&gt; showcasing their ability to solve complex problems efficiently.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li data-sourcepos=&quot;9:1-10:0&quot;&gt;&lt;p data-sourcepos=&quot;9:3-9:175&quot;&gt;&lt;b&gt;Data manipulation and analysis:&lt;/b&gt;&lt;span&gt; Demonstrating proficiency in handling and analyzing data through programs like the factorial calculator and Fibonacci sequence generator.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p data-sourcepos=&quot;11:1-11:137&quot;&gt;&lt;span&gt;Their GitHub repositories often include detailed explanations of the code,&lt;/span&gt;&lt;span&gt; making them valuable learning resources for other programmers.&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;13:1-13:198&quot;&gt;&lt;b&gt;Stack Overflow:&lt;/b&gt;&lt;span&gt; Paddy3118 is an active contributor on Stack Overflow,&lt;/span&gt;&lt;span&gt; a question-and-answer website for programmers.&lt;/span&gt;&lt;span&gt; They have answered over 1,&lt;/span&gt;&lt;span&gt;000 questions with an average score of 4.&lt;/span&gt;&lt;span&gt;5 out of 5,&lt;/span&gt;&lt;span&gt; indicating their deep understanding of programming concepts and their willingness to share their knowledge with others.&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;15:1-15:305&quot;&gt;&lt;b&gt;Codewars:&lt;/b&gt;&lt;span&gt; Paddy3118 is a skilled competitor on Codewars,&lt;/span&gt;&lt;span&gt; a coding challenge platform.&lt;/span&gt;&lt;span&gt; They have solved over 1,&lt;/span&gt;&lt;span&gt;000 coding challenges and currently rank in the top 1% of users.&lt;/span&gt;&lt;span&gt; This achievement highlights their ability to think creatively and apply their programming expertise to solve complex problems.&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;17:1-17:242&quot;&gt;&lt;b&gt;GitHub Discussions:&lt;/b&gt;&lt;span&gt; Paddy3118 actively engages in discussions on GitHub Discussions,&lt;/span&gt;&lt;span&gt; a forum where users discuss technical topics.&lt;/span&gt;&lt;span class=&quot;animating&quot;&gt; They provide helpful advice,&lt;/span&gt;&lt;span class=&quot;animating&quot;&gt; share insights,&lt;/span&gt;&lt;span class=&quot;animating&quot;&gt; and contribute to the overall knowledge base of the community.&lt;/span&gt;&lt;/p&gt;&lt;p data-sourcepos=&quot;19:1-19:206&quot;&gt;&lt;span class=&quot;animating&quot;&gt;Overall,&lt;/span&gt;&lt;span class=&quot;animating&quot;&gt; Paddy3118 is a valuable member of the online programming community,&lt;/span&gt;&lt;span class=&quot;animating&quot;&gt; recognized for their contributions to various platforms and their willingness to share their knowledge and expertise with others.&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;/h2&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;u&gt;Microsoft Bing Chat #2&lt;/u&gt;&lt;/h2&gt;&lt;div class=&quot;main&quot; id=&quot;cib-chat-main&quot; style=&quot;-webkit-text-stroke-width: 0px; background-color: white; box-sizing: border-box; color: #111111; display: flex; flex-direction: column; flex: 1 1 0%; font-family: -apple-system, Aptos, Roboto, SegoeUI, &amp;quot;Segoe UI&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Meiryo UI&amp;quot;, Meiryo, &amp;quot;Arial Unicode MS&amp;quot;, sans-serif; font-size: 14px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: 400; justify-content: flex-end; letter-spacing: normal; orphans: 2; padding: 0px 32px; text-align: start; text-decoration-color: initial; text-decoration-style: initial; text-decoration-thickness: initial; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;&lt;div class=&quot;message&quot;&gt;&lt;div class=&quot;content text-message-content&quot; style=&quot;display: flex; flex-direction: column; font-size: var(--cib-type-body2-font-size); font-variation-settings: var(--cib-type-body2-font-variation-settings); font-weight: var(--cib-type-body2-font-weight); gap: 6px; line-height: var(--cib-type-body2-line-height); min-height: var(--cib-type-body2-line-height); padding: 10px 16px; user-select: text; word-break: break-word;&quot; tabindex=&quot;0&quot;&gt;&lt;div aria-level=&quot;2&quot; role=&quot;heading&quot; style=&quot;white-space: pre-wrap;&quot;&gt;what does paddy3118 do online?&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;button aria-label=&quot;Copy&quot; role=&quot;button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border: medium; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); flex-direction: row; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: auto; outline: none; padding: 0px; position: relative; width: 36px;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M5.5028 4.62704L5.5 6.75V17.2542C5.5 19.0491 6.95507 20.5042 8.75 20.5042L17.3663 20.5045C17.0573 21.3782 16.224 22.0042 15.2444 22.0042H8.75C6.12665 22.0042 4 19.8776 4 17.2542V6.75C4 5.76929 4.62745 4.93512 5.5028 4.62704ZM17.75 2C18.9926 2 20 3.00736 20 4.25V17.25C20 18.4926 18.9926 19.5 17.75 19.5H8.75C7.50736 19.5 6.5 18.4926 6.5 17.25V4.25C6.5 3.00736 7.50736 2 8.75 2H17.75ZM17.75 3.5H8.75C8.33579 3.5 8 3.83579 8 4.25V17.25C8 17.6642 8.33579 18 8.75 18H17.75C18.1642 18 18.5 17.6642 18.5 17.25V4.25C18.5 3.83579 18.1642 3.5 17.75 3.5Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Copy&lt;/button&gt;&lt;button aria-label=&quot;Rewrite&quot; role=&quot;button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border: medium; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); flex-direction: row; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: auto; outline: none; padding: 0px; position: relative; width: 36px;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M15.8911 3.04825L3.94103 14.9997C3.5347 15.4061 3.2491 15.9172 3.116 16.4762L2.02041 21.0777C1.96009 21.3311 2.03552 21.5976 2.21968 21.7817C2.40385 21.9659 2.67037 22.0413 2.92373 21.981L7.52498 20.8855C8.08418 20.7523 8.59546 20.4666 9.00191 20.0601L10.1531 18.9088C10.0528 18.4552 10 17.9838 10 17.5C10 17.3026 10.0088 17.1073 10.026 16.9144L7.94119 18.9995C7.73104 19.2097 7.46668 19.3574 7.17755 19.4263L3.76191 20.2395L4.57521 16.8237C4.64402 16.5346 4.79168 16.2704 5.00175 16.0603L15 6.06084L17.9394 9.00018L15.9137 11.0261C16.1068 11.0088 16.3024 11 16.5 11C16.9835 11 17.4547 11.0528 17.9081 11.1529L20.952 8.10861C22.3493 6.71112 22.3493 4.4455 20.9519 3.0481C19.5543 1.65058 17.2885 1.65064 15.8911 3.04825ZM19.8912 4.10876C20.7028 4.9204 20.7029 6.23632 19.8913 7.04801L19 7.93946L16.0606 5.00012L16.9518 4.10884C17.7634 3.29709 19.0795 3.29705 19.8912 4.10876ZM22 17.5C22 20.5376 19.5376 23 16.5 23C13.4624 23 11 20.5376 11 17.5C11 14.4624 13.4624 12 16.5 12C19.5376 12 22 14.4624 22 17.5ZM15.3536 15.3536C15.5488 15.1583 15.5488 14.8417 15.3536 14.6464C15.1583 14.4512 14.8417 14.4512 14.6464 14.6464L13.1464 16.1464C12.9512 16.3417 12.9512 16.6583 13.1464 16.8536L14.6464 18.3536C14.8417 18.5488 15.1583 18.5488 15.3536 18.3536C15.5488 18.1583 15.5488 17.8417 15.3536 17.6464L14.7071 17H16.75C17.9926 17 19 18.0074 19 19.25V19.5C19 19.7761 19.2239 20 19.5 20C19.7761 20 20 19.7761 20 19.5V19.25C20 17.4551 18.5449 16 16.75 16H14.7071L15.3536 15.3536Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;Rewrite&lt;/button&gt;&lt;div class=&quot;meta-text&quot; style=&quot;font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); line-height: var(--cib-type-body1-line-height); user-select: text; word-break: break-word;&quot;&gt;&lt;p style=&quot;font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); line-height: var(--cib-type-body1-line-height); margin: 0px; user-select: text; word-break: break-word;&quot;&gt;…&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;message&quot;&gt;&lt;div class=&quot;content&quot; style=&quot;display: flex; flex-direction: column; font-size: var(--cib-type-body2-font-size); font-variation-settings: var(--cib-type-body2-font-variation-settings); font-weight: var(--cib-type-body2-font-weight); line-height: var(--cib-type-body2-line-height); min-height: var(--cib-type-body2-line-height); padding: 10px 16px; position: relative; user-select: text; word-break: break-word;&quot; tabindex=&quot;0&quot;&gt;&lt;div class=&quot;ac-container ac-adaptiveCard&quot; style=&quot;display: flex; flex-direction: column; font-size: var(--cib-type-body2-font-size); font-variation-settings: var(--cib-type-body2-font-variation-settings); font-weight: var(--cib-type-body2-font-weight); line-height: var(--cib-type-body2-line-height); margin: 0px; padding: 0px; user-select: text; word-break: break-word;&quot;&gt;&lt;div class=&quot;ac-textBlock&quot; style=&quot;color: var(--cib-color-foreground-neutral-primary); display: flex; flex-direction: column;&quot;&gt;&lt;p style=&quot;font-size: var(--cib-type-body2-font-size); font-variation-settings: var(--cib-type-body2-font-variation-settings); font-weight: var(--cib-type-body2-font-weight); line-height: var(--cib-type-body2-line-height); margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; padding: 0px; user-select: text; word-break: break-word;&quot;&gt;I’m sorry, but I could not find any information about what Paddy3118 does online.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a class=&quot;tooltip-target&quot; data-citationid=&quot;3faaa63a-92fb-935f-a69c-490fba41f6f0-3-group&quot; href=&quot;https://you.dj/free-dj-software&quot; style=&quot;border-bottom: 2px solid transparent; color: inherit; position: relative; text-decoration-color: var(--cib-color-foreground-neutral-tertiary); text-decoration-style: dotted; text-underline-offset: 3px;&quot; target=&quot;_blank&quot;&gt;However, I can tell you that Paddy3118 is a pseudonym for&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;b style=&quot;font-size: var(--cib-type-subtitle2-stronger-font-size); font-variation-settings: var(--cib-type-subtitle2-stronger-font-variation-settings); font-weight: var(--cib-type-subtitle2-stronger-font-weight); line-height: var(--cib-type-subtitle2-stronger-line-height); pointer-events: none;&quot;&gt;Donald McCarthy&lt;/b&gt;, who works with Electronic Design Automation tools creating design flows, filling in the gaps with novel tools, and generally helping to design and verify integrated circuits&lt;/a&gt;&lt;a aria-label=&quot;1: Donald McCarthy&quot; class=&quot;ac-anchor sup-target&quot; data-citationid=&quot;3faaa63a-92fb-935f-a69c-490fba41f6f0-3&quot; href=&quot;https://you.dj/free-dj-software&quot; style=&quot;position: relative;&quot; target=&quot;_blank&quot;&gt;&lt;sup style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-comp-message-citation-border-radius); color: var(--cib-color-foreground-accent-primary); display: inline-flex; font-size: var(--cib-type-caption2-strong-font-size); font-variation-settings: var(--cib-type-caption2-strong-font-variation-settings); font-weight: var(--cib-type-caption2-strong-font-weight); height: 14px; justify-content: center; line-height: var(--cib-type-caption2-strong-line-height); margin: 0px 2px; min-width: 14px; outline: transparent solid 1px; position: relative; text-decoration-color: transparent; top: -1px; vertical-align: top;&quot;&gt;1&lt;/sup&gt;&lt;/a&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a class=&quot;tooltip-target&quot; data-citationid=&quot;3faaa63a-92fb-935f-a69c-490fba41f6f0-5-group&quot; href=&quot;https://you.dj/free-dj-software&quot; style=&quot;border-bottom: 2px solid transparent; color: inherit; position: relative; text-decoration-color: var(--cib-color-foreground-neutral-tertiary); text-decoration-style: dotted; text-underline-offset: 3px;&quot; target=&quot;_blank&quot;&gt;He has created 392 new pages on Rosetta Code, of which 148 were not Talk: pages, from approximately 4523 edits&lt;/a&gt;&lt;a aria-label=&quot;1: However, I can tell you that Paddy3118 is a pseudonym for Donald McCarthy, who works with Electronic Design Automation tools creating design flows, filling in the gaps with novel tools, and generally helping to design and verify integrated circuits1&quot; class=&quot;ac-anchor sup-target&quot; data-citationid=&quot;3faaa63a-92fb-935f-a69c-490fba41f6f0-5&quot; href=&quot;https://you.dj/free-dj-software&quot; style=&quot;position: relative;&quot; target=&quot;_blank&quot;&gt;&lt;sup style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-comp-message-citation-border-radius); color: var(--cib-color-foreground-accent-primary); display: inline-flex; font-size: var(--cib-type-caption2-strong-font-size); font-variation-settings: var(--cib-type-caption2-strong-font-variation-settings); font-weight: var(--cib-type-caption2-strong-font-weight); height: 14px; justify-content: center; line-height: var(--cib-type-caption2-strong-line-height); margin: 0px 2px; min-width: 14px; outline: transparent solid 1px; position: relative; text-decoration-color: transparent; top: -1px; vertical-align: top;&quot;&gt;1&lt;/sup&gt;&lt;/a&gt;.&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;a class=&quot;tooltip-target&quot; data-citationid=&quot;3faaa63a-92fb-935f-a69c-490fba41f6f0-7-group&quot; href=&quot;https://you.dj/free-dj-software&quot; style=&quot;border-bottom: 2px solid transparent; color: inherit; position: relative; text-decoration-color: var(--cib-color-foreground-neutral-tertiary); text-decoration-style: dotted; text-underline-offset: 3px;&quot; target=&quot;_blank&quot;&gt;You can find more information about Paddy3118 and his contributions to Rosetta Code on his user page&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;a aria-label=&quot;1: He has created 392 new pages on Rosetta Code, of which 148 were not Talk: pages, from approximately 4523 edits1&quot; class=&quot;ac-anchor sup-target&quot; data-citationid=&quot;3faaa63a-92fb-935f-a69c-490fba41f6f0-7&quot; href=&quot;https://you.dj/free-dj-software&quot; style=&quot;position: relative;&quot; target=&quot;_blank&quot;&gt;&lt;sup style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-comp-message-citation-border-radius); color: var(--cib-color-foreground-accent-primary); display: inline-flex; font-size: var(--cib-type-caption2-strong-font-size); font-variation-settings: var(--cib-type-caption2-strong-font-variation-settings); font-weight: var(--cib-type-caption2-strong-font-weight); height: 14px; justify-content: center; line-height: var(--cib-type-caption2-strong-line-height); margin: 0px 2px; min-width: 14px; outline: transparent solid 1px; position: relative; text-decoration-color: transparent; top: -1px; vertical-align: top;&quot;&gt;1&lt;/sup&gt;&lt;/a&gt;. I hope this information helps!&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;content footer&quot; style=&quot;align-items: flex-start; border-top: 1px solid var(--cib-color-stroke-neutral-primary); display: grid; flex-direction: row; font-size: var(--cib-type-body2-font-size); font-variation-settings: var(--cib-type-body2-font-variation-settings); font-weight: var(--cib-type-body2-font-weight); grid-template-columns: 1fr auto; justify-content: space-between; line-height: var(--cib-type-body2-line-height); min-height: var(--cib-type-body2-line-height); padding: 0px; user-select: text; word-break: break-word;&quot;&gt;&lt;div class=&quot;learn-more-root&quot; style=&quot;display: flex; flex-direction: row; row-gap: 8px;&quot;&gt;&lt;div class=&quot;learn-more-control&quot; style=&quot;display: flex; flex-wrap: nowrap; max-width: max-content; min-width: max-content;&quot;&gt;&lt;p class=&quot;learn-more&quot; style=&quot;align-self: flex-start; font-size: var(--cib-type-body1-stronger-font-size); font-variation-settings: var(--cib-type-body1-stronger-font-variation-settings); font-weight: var(--cib-type-body1-stronger-font-weight); inset-inline-start: 1px; line-height: var(--cib-type-body1-stronger-line-height); margin-inline-end: 8px; margin: 0px; min-width: fit-content; padding-inline-end: 8px; position: relative; top: 2px;&quot;&gt;Learn more&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;attribution-container&quot; style=&quot;display: flex; flex-direction: row; row-gap: 6px; width: 434.95px;&quot;&gt;&lt;div class=&quot;attribution-items&quot; style=&quot;display: flex; flex-flow: wrap; row-gap: 6px;&quot;&gt;&lt;a class=&quot;attribution-item&quot; data-citationid=&quot;a5a238ac-884a-133b-8b95-fcef7378c488&quot; data-sig=&quot;lT3TnYIW2CNMZZL0zQS4ZBW8lbEf702tOBbfftdafAk=&quot; href=&quot;https://you.dj/free-dj-software&quot; style=&quot;align-items: center; background: transparent; border-radius: var(--cib-border-radius-medium); border: 1px solid var(--cib-color-fill-accent-alt-primary); box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; display: flex; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); gap: 6px; height: 24px; justify-content: center; line-height: var(--cib-type-body1-strong-line-height); margin-inline-end: 6px; min-width: max-content; padding-inline-end: 8px; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;badge&quot; style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-border-radius-medium); display: flex; height: 24px; justify-content: center; position: static; text-align: center; width: 24px;&quot;&gt;1&lt;/span&gt;&lt;img class=&quot;learn-more-favicon&quot; src=&quot;blob:https://www.bing.com/a28fab2c-caf2-4290-9338-4d8652e3bf48&quot; style=&quot;display: block; height: 16px; width: 16px;&quot; /&gt;&lt;span class=&quot;text-container&quot; style=&quot;display: flex; flex-direction: column; flex: 1 1 0%; font-weight: var(--cib-type-body1-font-weight); gap: 6px; justify-content: space-between; line-height: 1rem; min-width: max-content; padding: 4px 0px;&quot;&gt;you.dj&lt;/span&gt;&lt;/a&gt;&lt;a class=&quot;attribution-item&quot; data-citationid=&quot;afb0bd9c-0320-ddfa-1705-b56f7250f81d&quot; data-sig=&quot;CzeF4mq+nvSpIj5HBBpVApiu+CMlQaF/zRgUO8tzFrw=&quot; href=&quot;https://www.photopea.com/&quot; style=&quot;align-items: center; background: transparent; border-radius: var(--cib-border-radius-medium); border: 1px solid var(--cib-color-fill-accent-alt-primary); box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; display: flex; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); gap: 6px; height: 24px; justify-content: center; line-height: var(--cib-type-body1-strong-line-height); margin-inline-end: 6px; min-width: max-content; padding-inline-end: 8px; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;badge&quot; style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-border-radius-medium); display: flex; height: 24px; justify-content: center; position: static; text-align: center; width: 24px;&quot;&gt;2&lt;/span&gt;&lt;img class=&quot;learn-more-favicon&quot; src=&quot;blob:https://www.bing.com/aceddf91-9e00-4f82-8c98-11b1d47fef31&quot; style=&quot;display: block; height: 16px; width: 16px;&quot; /&gt;&lt;span class=&quot;text-container&quot; style=&quot;display: flex; flex-direction: column; flex: 1 1 0%; font-weight: var(--cib-type-body1-font-weight); gap: 6px; justify-content: space-between; line-height: 1rem; min-width: max-content; padding: 4px 0px;&quot;&gt;photopea.com&lt;/span&gt;&lt;/a&gt;&lt;a class=&quot;attribution-item&quot; data-citationid=&quot;68bbdf80-4def-d5a2-fe1e-d23c01f53777&quot; data-sig=&quot;xCtNIeOYfe5xH6rlJcyLgF3ybY4IG6uqG62VrTdzWSU=&quot; href=&quot;https://silver.urih.com/&quot; style=&quot;align-items: center; background: transparent; border-radius: var(--cib-border-radius-medium); border: 1px solid var(--cib-color-fill-accent-alt-primary); box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; display: flex; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); gap: 6px; height: 24px; justify-content: center; line-height: var(--cib-type-body1-strong-line-height); margin-inline-end: 6px; min-width: max-content; padding-inline-end: 8px; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;span class=&quot;badge&quot; style=&quot;align-items: center; background: var(--cib-color-fill-accent-alt-primary); border-radius: var(--cib-border-radius-medium); display: flex; height: 24px; justify-content: center; position: static; text-align: center; width: 24px;&quot;&gt;3&lt;/span&gt;&lt;img class=&quot;learn-more-favicon&quot; src=&quot;blob:https://www.bing.com/47813e7c-04bc-450a-847f-d1f19bb99390&quot; style=&quot;display: block; height: 16px; width: 16px;&quot; /&gt;&lt;span class=&quot;text-container&quot; style=&quot;display: flex; flex-direction: column; flex: 1 1 0%; font-weight: var(--cib-type-body1-font-weight); gap: 6px; justify-content: space-between; line-height: 1rem; min-width: max-content; padding: 4px 0px;&quot;&gt;silver.urih.com&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;text&quot; style=&quot;display: flex; font-size: var(--cib-type-body1-stronger-font-size); font-variation-settings: var(--cib-type-body1-stronger-font-variation-settings); font-weight: var(--cib-type-body1-stronger-font-weight); gap: 3px; line-height: var(--cib-type-body1-stronger-line-height);&quot;&gt;&lt;span&gt;10&lt;/span&gt;&lt;span&gt;of&lt;/span&gt;&lt;span&gt;30&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;indicator&quot; style=&quot;background: rgb(44, 130, 71); border-radius: var(--cib-border-radius-circular); height: 10px; width: 10px;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;bar complete&quot; role=&quot;progressbar&quot; style=&quot;animation: 2s linear 0s infinite normal none running borealisBar; background: var(--cib-color-fill-accent-gradient-primary); border-radius: var(--cib-border-radius-circular); bottom: 0px; inset-inline: 0px; opacity: 0; position: absolute; top: 0px; transition-duration: var(--cib-motion-duration-slow); transition-timing-function: var(--cib-motion-easing-transition); width: 0px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;container&quot; style=&quot;display: flex; flex-direction: row;&quot;&gt;&lt;button aria-label=&quot;Like&quot; aria-pressed=&quot;false&quot; class=&quot;positive&quot; is=&quot;cib-button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-border-radius-none); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M16.4996 5.20235C16.4996 2.76041 15.3595 1.00366 13.4932 1.00366C12.467 1.00366 12.1149 1.60503 11.747 3.00324C11.6719 3.29209 11.635 3.43272 11.596 3.57133C11.495 3.93007 11.3192 4.54082 11.069 5.40234C11.0623 5.42542 11.0524 5.44717 11.0396 5.46724L8.17281 9.95291C7.49476 11.0139 6.49429 11.8294 5.31841 12.2796L4.84513 12.4608C3.5984 12.9381 2.87457 14.2419 3.1287 15.5525L3.53319 17.6385C3.77462 18.8836 4.71828 19.8745 5.9501 20.1764L13.5778 22.046C16.109 22.6664 18.6674 21.1314 19.3113 18.6061L20.7262 13.057C21.1697 11.3177 20.1192 9.5482 18.3799 9.10473C18.1175 9.03782 17.8478 9.00398 17.5769 9.00398H15.7536C16.2497 7.37109 16.4996 6.1113 16.4996 5.20235ZM4.60127 15.2669C4.48576 14.6712 4.81477 14.0786 5.38147 13.8616L5.85475 13.6804C7.33036 13.1154 8.58585 12.0921 9.43674 10.7607L12.3035 6.27501C12.3935 6.13412 12.4629 5.98107 12.5095 5.8205C12.7608 4.95549 12.9375 4.3415 13.0399 3.97761C13.083 3.82436 13.1239 3.66891 13.1976 3.38494C13.3875 2.66324 13.4809 2.50366 13.4932 2.50366C14.3609 2.50366 14.9996 3.48773 14.9996 5.20235C14.9996 6.08683 14.6738 7.53779 14.0158 9.51741C13.8544 10.0029 14.2158 10.504 14.7275 10.504H17.5769C17.7228 10.504 17.868 10.5222 18.0093 10.5582C18.9459 10.797 19.5115 11.7498 19.2727 12.6863L17.8578 18.2355C17.4172 19.9634 15.6668 21.0136 13.9349 20.5891L6.30718 18.7196C5.64389 18.557 5.13577 18.0234 5.00577 17.353L4.60127 15.2669Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;div class=&quot;button-divider&quot; style=&quot;background: var(--cib-color-stroke-neutral-primary); height: 36px; width: 1px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Dislike&quot; aria-pressed=&quot;false&quot; class=&quot;negative&quot; is=&quot;cib-button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-border-radius-none); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M16.4996 17.9849C16.4996 20.4269 15.3595 22.1836 13.4932 22.1836C12.5183 22.1836 12.1518 21.6409 11.8021 20.3878L11.596 19.6159C11.495 19.2572 11.3192 18.6464 11.069 17.7849C11.0623 17.7618 11.0524 17.7401 11.0396 17.72L8.17281 13.2344C7.49476 12.1734 6.49429 11.3579 5.31841 10.9077L4.84513 10.7265C3.5984 10.2492 2.87457 8.94538 3.1287 7.63481L3.53319 5.54873C3.77462 4.30364 4.71828 3.31273 5.9501 3.01082L13.5778 1.14129C16.109 0.520894 18.6674 2.05583 19.3113 4.58116L20.7262 10.1303C21.1697 11.8696 20.1192 13.6391 18.3799 14.0825C18.1175 14.1494 17.8478 14.1833 17.5769 14.1833H15.7536C16.2497 15.8162 16.4996 17.076 16.4996 17.9849ZM4.60127 7.92034C4.48576 8.51606 4.81477 9.10868 5.38147 9.32565L5.85475 9.50686C7.33036 10.0718 8.58585 11.0952 9.43674 12.4266L12.3035 16.9123C12.3935 17.0531 12.4629 17.2062 12.5095 17.3668L13.0614 19.287L13.2731 20.0784C13.4125 20.5664 13.4827 20.6836 13.4932 20.6836C14.3609 20.6836 14.9996 19.6995 14.9996 17.9849C14.9996 17.1004 14.6738 15.6495 14.0158 13.6698C13.8544 13.1843 14.2158 12.6833 14.7275 12.6833H17.5769C17.7228 12.6833 17.868 12.6651 18.0093 12.629C18.9459 12.3902 19.5115 11.4375 19.2727 10.5009L17.8578 4.95176C17.4172 3.2239 15.6668 2.17369 13.9349 2.59816L6.30718 4.46769C5.64389 4.63026 5.13577 5.16383 5.00577 5.83426L4.60127 7.92034Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;div class=&quot;button-divider&quot; style=&quot;background: var(--cib-color-stroke-neutral-primary); height: 36px; width: 1px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Copy&quot; is=&quot;cib-button&quot; role=&quot;menuitem&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-border-radius-none); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M5.5028 4.62704L5.5 6.75V17.2542C5.5 19.0491 6.95507 20.5042 8.75 20.5042L17.3663 20.5045C17.0573 21.3782 16.224 22.0042 15.2444 22.0042H8.75C6.12665 22.0042 4 19.8776 4 17.2542V6.75C4 5.76929 4.62745 4.93512 5.5028 4.62704ZM17.75 2C18.9926 2 20 3.00736 20 4.25V17.25C20 18.4926 18.9926 19.5 17.75 19.5H8.75C7.50736 19.5 6.5 18.4926 6.5 17.25V4.25C6.5 3.00736 7.50736 2 8.75 2H17.75ZM17.75 3.5H8.75C8.33579 3.5 8 3.83579 8 4.25V17.25C8 17.6642 8.33579 18 8.75 18H17.75C18.1642 18 18.5 17.6642 18.5 17.25V4.25C18.5 3.83579 18.1642 3.5 17.75 3.5Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;div class=&quot;button-divider&quot; style=&quot;background: var(--cib-color-stroke-neutral-primary); height: 36px; width: 1px;&quot;&gt;&lt;/div&gt;&lt;button aria-expanded=&quot;false&quot; aria-haspopup=&quot;true&quot; aria-label=&quot;Export&quot; class=&quot;export-button&quot; is=&quot;cib-button&quot; role=&quot;menuitem&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-border-radius-none); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M18.2498 20.5009C18.664 20.5008 19 20.8365 19 21.2507C19 21.6649 18.6644 22.0008 18.2502 22.0009L5.25022 22.0047C4.836 22.0048 4.5 21.6691 4.5 21.2549C4.5 20.8407 4.83557 20.5048 5.24978 20.5047L18.2498 20.5009ZM11.6482 2.01271L11.75 2.00586C12.1297 2.00586 12.4435 2.28801 12.4932 2.65409L12.5 2.75586L12.499 16.4409L16.2208 12.7205C16.4871 12.4543 16.9038 12.4301 17.1974 12.648L17.2815 12.7206C17.5477 12.9869 17.5719 13.4036 17.354 13.6972L17.2814 13.7813L12.2837 18.7779C12.0176 19.044 11.6012 19.0683 11.3076 18.8507L11.2235 18.7782L6.22003 13.7816C5.92694 13.4889 5.92661 13.014 6.21931 12.7209C6.48539 12.4545 6.90204 12.43 7.1958 12.6477L7.27997 12.7202L10.999 16.4339L11 2.75586C11 2.37616 11.2822 2.06237 11.6482 2.01271L11.75 2.00586L11.6482 2.01271Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;div class=&quot;button-divider&quot; style=&quot;background: var(--cib-color-stroke-neutral-primary); height: 36px; width: 1px;&quot;&gt;&lt;/div&gt;&lt;button aria-haspopup=&quot;true&quot; aria-label=&quot;Share&quot; is=&quot;cib-button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-border-radius-none); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M6.7467 4.00003H10.2109C10.6251 4.00003 10.9609 4.33582 10.9609 4.75003C10.9609 5.12972 10.6788 5.44352 10.3127 5.49318L10.2109 5.50003H6.7467C5.55584 5.50003 4.58106 6.42519 4.50189 7.59598L4.4967 7.75003V17.25C4.4967 18.4409 5.42187 19.4157 6.59266 19.4948L6.7467 19.5H16.2474C17.4383 19.5 18.4131 18.5749 18.4922 17.4041L18.4974 17.25V16.7522C18.4974 16.338 18.8332 16.0022 19.2474 16.0022C19.6271 16.0022 19.9409 16.2844 19.9906 16.6505L19.9974 16.7522V17.25C19.9974 19.2543 18.4251 20.8913 16.4466 20.9948L16.2474 21H6.7467C4.74244 21 3.10543 19.4277 3.0019 17.4492L2.9967 17.25V7.75003C2.9967 5.74577 4.56907 4.10876 6.54755 4.00523L6.7467 4.00003H10.2109H6.7467ZM14.5007 6.51988V3.75003C14.5007 3.12606 15.2075 2.78998 15.6877 3.13983L15.7699 3.20877L21.7645 8.95877C22.0442 9.22712 22.0697 9.65814 21.8408 9.9561L21.7646 10.0412L15.77 15.7931C15.3197 16.2251 14.5878 15.9477 14.5078 15.3589L14.5007 15.2519V12.5266L14.1572 12.5567C11.7575 12.807 9.45748 13.8879 7.24265 15.8174C6.72354 16.2696 5.92041 15.842 6.00579 15.1589C6.67058 9.83933 9.45245 6.90733 14.2013 6.53953L14.5007 6.51988V3.75003V6.51988ZM16.0007 5.50867V7.25003C16.0007 7.66424 15.6649 8.00003 15.2507 8.00003C11.3773 8.00003 8.97667 9.67616 7.93943 13.1572L7.86037 13.4358L8.21256 13.199C10.449 11.7372 12.7985 11 15.2507 11C15.6304 11 15.9442 11.2822 15.9939 11.6483L16.0007 11.75V13.4928L20.1619 9.50012L16.0007 5.50867Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;div class=&quot;button-divider&quot; style=&quot;background: var(--cib-color-stroke-neutral-primary); height: 36px; width: 1px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Send to your phone&quot; class=&quot;send-to-phone-icon&quot; is=&quot;cib-button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-comp-feedback-button-border-radius); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M13.75 2C14.9926 2 16 3.00736 16 4.25L16.0007 10.0189C15.4812 10.0584 14.9788 10.1589 14.5006 10.3133L14.5 4.25C14.5 3.83579 14.1642 3.5 13.75 3.5H6.25C5.83579 3.5 5.5 3.83579 5.5 4.25V19.75C5.5 20.1642 5.83579 20.5 6.25 20.5L11.3768 20.5009C11.8385 21.0912 12.4 21.5998 13.036 22.0011L6.25 22C5.00736 22 4 20.9926 4 19.75V4.25C4 3.00736 5.00736 2 6.25 2H13.75ZM16.5 11C19.5376 11 22 13.4624 22 16.5C22 19.5376 19.5376 22 16.5 22C13.4624 22 11 19.5376 11 16.5C11 13.4624 13.4624 11 16.5 11ZM16.7157 13.5886L16.6464 13.6464L16.5886 13.7157C16.4705 13.8862 16.4705 14.1138 16.5886 14.2843L16.6464 14.3536L18.2917 15.999L13.4937 16L13.4038 16.0081C13.1997 16.0451 13.0388 16.206 13.0018 16.4101L12.9937 16.5L13.0018 16.5899C13.0388 16.794 13.1997 16.9549 13.4038 16.9919L13.4937 17L18.2937 16.999L16.6464 18.6464L16.5886 18.7157C16.4536 18.9106 16.4729 19.18 16.6464 19.3536C16.82 19.5271 17.0894 19.5464 17.2843 19.4114L17.3536 19.3536L19.8832 16.8212L19.9202 16.7711L19.9622 16.691L19.9882 16.6083L19.9981 16.5444V16.4557L19.9883 16.392L19.9624 16.3094L19.9205 16.2293L19.8832 16.1788L17.3536 13.6464L17.2843 13.5886C17.1382 13.4873 16.9501 13.4729 16.7919 13.5452L16.7157 13.5886ZM10.0767 17.5019C10.1576 18.0246 10.3008 18.5268 10.4984 19.0006L8.75113 19.0038C8.33692 19.0044 8.00062 18.6691 8 18.2549C7.99938 17.8407 8.33466 17.5044 8.74887 17.5038L10.0767 17.5019Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;div class=&quot;button-divider&quot; style=&quot;background: var(--cib-color-stroke-neutral-primary); height: 36px; width: 1px;&quot;&gt;&lt;/div&gt;&lt;button aria-label=&quot;Read aloud&quot; class=&quot;readaloud-icon&quot; is=&quot;cib-button&quot; style=&quot;align-items: center; background: var(--cib-color-fill-subtle-primary); border-radius: var(--cib-border-radius-none); border: 1px solid transparent; color: var(--cib-color-foreground-neutral-primary); cursor: pointer; display: flex; fill: var(--cib-color-foreground-neutral-primary); font-family: var(--cib-font-text); font-size: var(--cib-type-body1-font-size); font-variation-settings: var(--cib-type-body1-font-variation-settings); font-weight: var(--cib-type-body1-font-weight); gap: 4px; height: 36px; justify-content: center; line-height: var(--cib-type-body1-line-height); margin: 0px; min-width: 36px; padding: 4px; pointer-events: auto; position: relative; width: 36px;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 20 19&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M13 2.25c0-1.079-1.274-1.65-2.08-.934L6.427 5.309a.75.75 0 0 1-.498.19H2.25A2.25 2.25 0 0 0 0 7.749v4.497a2.25 2.25 0 0 0 2.25 2.25h3.68a.75.75 0 0 1 .498.19l4.491 3.994c.806.716 2.081.144 2.081-.934V2.25ZM7.425 6.43 11.5 2.807v14.382l-4.075-3.624a2.25 2.25 0 0 0-1.495-.569H2.25a.75.75 0 0 1-.75-.75V7.75a.75.75 0 0 1 .75-.75h3.68a2.25 2.25 0 0 0 1.495-.569Zm9.567-2.533a.75.75 0 0 1 1.049.157A9.959 9.959 0 0 1 20 10a9.96 9.96 0 0 1-1.96 5.946.75.75 0 0 1-1.205-.892A8.459 8.459 0 0 0 18.5 10a8.459 8.459 0 0 0-1.665-5.054.75.75 0 0 1 .157-1.049ZM15.143 6.37a.75.75 0 0 1 1.017.303c.536.99.84 2.125.84 3.328a6.973 6.973 0 0 1-.84 3.328.75.75 0 0 1-1.32-.714c.42-.777.66-1.666.66-2.614s-.24-1.837-.66-2.614a.75.75 0 0 1 .303-1.017Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;suggestion-items&quot; style=&quot;align-items: center; display: flex; flex-flow: wrap; gap: 100% 8px; height: 34px; justify-content: flex-end; order: 1; overflow: hidden; padding-inline-end: 2px;&quot;&gt;&lt;button aria-label=&quot;Show learn more suggestions&quot; class=&quot;rai-button&quot; style=&quot;background: none; border: medium; cursor: pointer; padding: 0px;&quot; type=&quot;button&quot;&gt;&lt;svg viewbox=&quot;0 0 24 24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;path d=&quot;M12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C10.3817 22 8.81782 21.6146 7.41286 20.888L3.58704 21.9553C2.92212 22.141 2.23258 21.7525 2.04691 21.0876C1.98546 20.8676 1.98549 20.6349 2.04695 20.4151L3.11461 16.5922C2.38637 15.186 2 13.6203 2 12C2 6.47715 6.47715 2 12 2ZM12 3.5C7.30558 3.5 3.5 7.30558 3.5 12C3.5 13.4696 3.87277 14.8834 4.57303 16.1375L4.72368 16.4072L3.61096 20.3914L7.59755 19.2792L7.86709 19.4295C9.12006 20.1281 10.5322 20.5 12 20.5C16.6944 20.5 20.5 16.6944 20.5 12C20.5 7.30558 16.6944 3.5 12 3.5ZM12 15.5C12.5523 15.5 13 15.9477 13 16.5C13 17.0523 12.5523 17.5 12 17.5C11.4477 17.5 11 17.0523 11 16.5C11 15.9477 11.4477 15.5 12 15.5ZM12 6.75C13.5188 6.75 14.75 7.98122 14.75 9.5C14.75 10.5108 14.4525 11.074 13.6989 11.8586L13.5303 12.0303C12.9084 12.6522 12.75 12.9163 12.75 13.5C12.75 13.9142 12.4142 14.25 12 14.25C11.5858 14.25 11.25 13.9142 11.25 13.5C11.25 12.4892 11.5475 11.926 12.3011 11.1414L12.4697 10.9697C13.0916 10.3478 13.25 10.0837 13.25 9.5C13.25 8.80964 12.6904 8.25 12 8.25C11.3528 8.25 10.8205 8.74187 10.7565 9.37219L10.75 9.5C10.75 9.91421 10.4142 10.25 10 10.25C9.58579 10.25 9.25 9.91421 9.25 9.5C9.25 7.98122 10.4812 6.75 12 6.75Z&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/button&gt;&lt;button class=&quot;container&quot; style=&quot;background: var(--cib-color-fill-accent-primary); border-radius: var(--cib-border-radius-large); border: medium; box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); height: 28px; line-height: var(--cib-type-body1-strong-line-height); margin: 0px; max-width: 100%; min-width: unset; overflow: hidden; padding: 0px 12px; text-overflow: ellipsis; white-space: nowrap; width: min-content;&quot; type=&quot;button&quot;&gt;What is Rosetta Code?&lt;/button&gt;&lt;button class=&quot;container&quot; style=&quot;background: var(--cib-color-fill-accent-primary); border-radius: var(--cib-border-radius-large); border: medium; box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); height: 28px; line-height: var(--cib-type-body1-strong-line-height); margin: 0px; max-width: 100%; min-width: unset; overflow: hidden; padding: 0px 12px; text-overflow: ellipsis; white-space: nowrap; width: min-content;&quot; type=&quot;button&quot;&gt;Can you tell me more about Electronic Design Automation tools?&lt;/button&gt;&lt;button class=&quot;container&quot; style=&quot;background: var(--cib-color-fill-accent-primary); border-radius: var(--cib-border-radius-large); border: medium; box-sizing: border-box; color: var(--cib-color-foreground-accent-primary); cursor: pointer; font-family: var(--cib-font-text); font-size: var(--cib-type-body1-strong-font-size); font-variation-settings: var(--cib-type-body1-strong-font-variation-settings); font-weight: var(--cib-type-body1-strong-font-weight); height: 28px; line-height: var(--cib-type-body1-strong-line-height); margin: 0px; max-width: 100%; min-width: unset; overflow: hidden; padding: 0px 12px; text-overflow: ellipsis; white-space: nowrap; width: min-content;&quot; type=&quot;button&quot;&gt;Who are some other prolific contributors to Rosetta Code?&lt;/button&gt;&lt;/div&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;/h2&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&lt;/h2&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Bard vs Bing #2&lt;/h2&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;ul&gt;&lt;li&gt;Bard has found me on numerous sites and attempted to summarise my contributions to them and comments that I like to help&lt;/li&gt;&lt;li&gt;Bing states up front that it could&lt;b&gt;&lt;i&gt; not&lt;/i&gt;&lt;/b&gt; find me but then quotes an extract based on my RosettaCode talk page.&lt;/li&gt;&lt;li&gt;None mention Python!?! &lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Another win for Bard.&lt;/b&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;At the moment, just using these easy-access AI tools, Bard seems to give better results.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;It&#39;s still early days however!&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;END.&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/6423719970718576620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2023/11/google-bard-vs-microsoft-bing-chat.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/6423719970718576620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/6423719970718576620'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2023/11/google-bard-vs-microsoft-bing-chat.html' title='Google Bard vs Microsoft Bing Chat: Vanity questions'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://lh3.googleusercontent.com/a/ACg8ocKcZ8yh8ZKTwELKsO44DQugacx1cBV2ecdw1vZtlt6Nytw=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-8342270404349939465</id><published>2023-08-26T09:48:00.002+01:00</published><updated>2023-08-27T06:51:46.277+01:00</updated><title type='text'>&quot;Staring at assorted perms and Python&quot;, or &quot;The Ranking and Unranking of Lexical Permutations&quot;</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgabaF9QYrmnRVE1ABQ_2QQRUbKOBXwP8dyiIaf6ENLGYgBbh2-BlgLmRhossExFSBOsy-Wx6oVdwuhdWvTN07PezsR8jMaHjF_GQB77Ft1Kg3Ado3SNZDLET3V1zJ58bz_SuS6b5ROPj1cVDevh5i659Tf7gDNdDm7juRUSmg-JIxAmTRTO4eD/s351/bwoman_perm.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;351&quot; data-original-width=&quot;351&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgabaF9QYrmnRVE1ABQ_2QQRUbKOBXwP8dyiIaf6ENLGYgBbh2-BlgLmRhossExFSBOsy-Wx6oVdwuhdWvTN07PezsR8jMaHjF_GQB77Ft1Kg3Ado3SNZDLET3V1zJ58bz_SuS6b5ROPj1cVDevh5i659Tf7gDNdDm7juRUSmg-JIxAmTRTO4eD/s320/bwoman_perm.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;I have been playing with &lt;a href=&quot;https://paddy3118.blogspot.com/2023/08/generalising-simple-encryption-using.html&quot; target=&quot;_blank&quot;&gt;encryptions &lt;/a&gt;and then &lt;a href=&quot;https://paddy3118.blogspot.com/2023/08/the-godeh-series-python-and-oeis.html&quot; target=&quot;_blank&quot;&gt;series &lt;/a&gt;that involved permutations. Submitting my Godeh series to the OEIS made me look closer at the &lt;a href=&quot;https://docs.python.org/3/library/itertools.html#itertools.permutations&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;permutations &lt;/a&gt;that Python produces, and at maybe reducing those permutations to a single integer.&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;&lt;b&gt;(p.s. Post is best read on a larger than portrait phone screen) &lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Here are the start of the permutations used in the Godeh series rows:&lt;/p&gt;&lt;p&gt;(0,)&lt;br /&gt;(0, 1)&lt;br /&gt;(1, 0)&lt;br /&gt;(0, 1, 2)&lt;br /&gt;(0, 2, 1)&lt;br /&gt;(1, 0, 2)&lt;br /&gt;(1, 2, 0)&lt;br /&gt;(2, 0, 1)&lt;br /&gt;(2, 1, 0)&lt;br /&gt;(0, 1, 2, 3)&lt;br /&gt;(0, 1, 3, 2)&lt;br /&gt;(0, 2, 1, 3)&lt;br /&gt;(0, 2, 3, 1)&lt;br /&gt;(0, 3, 1, 2)&lt;br /&gt;(0, 3, 2, 1)&lt;br /&gt;(1, 0, 2, 3)&lt;br /&gt;(1, 0, 3, 2)&lt;br /&gt;(1, 2, 0, 3)&lt;br /&gt;(1, 2, 3, 0)&lt;br /&gt;(1, 3, 0, 2)&lt;br /&gt;(1, 3, 2, 0)&lt;br /&gt;(2, 0, 1, 3)&lt;br /&gt;(2, 0, 3, 1)&lt;br /&gt;(2, 1, 0, 3)&lt;br /&gt;(2, 1, 3, 0)&lt;br /&gt;(2, 3, 0, 1)&lt;br /&gt;(2, 3, 1, 0)&lt;br /&gt;(3, 0, 1, 2)&lt;br /&gt;(3, 0, 2, 1)&lt;br /&gt;(3, 1, 0, 2)&lt;br /&gt;(3, 1, 2, 0)&lt;br /&gt;(3, 2, 0, 1)&lt;br /&gt;(3, 2, 1, 0)&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;It can be generated by this:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;itertools&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;permutations&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;chain&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;math&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;factorial&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;typing&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Sequence&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;pprint&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %% perms in Python generation order&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;generation_order&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; []&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;permutations&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;generation_order&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;I truncate at all the perms for four items, but you get the idea - it could extend in this way without limit.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Ordered by...&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;Successive groups of permutations are for incrementing items permuted. Within each group, of permutations of the same amount of items, the order is lexicographical, i.e. the Python sorted order,&amp;nbsp;&lt;/p&gt;&lt;p&gt;I stared at, and messed around with the ordered perms of four items above, looking for patterns. But lets just confirm the order is sort by width then lexicographical:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;wtl&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sorted&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;generation_order&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;lambda&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;x&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;generation_order&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;wtl&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39; == width_then_lexicographical ordering&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39; != width_then_lexicographical ordering of:&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pp&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;wtl&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Prints: &amp;nbsp;== width_then_lexicographical ordering&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Ranks&lt;/h2&gt;&lt;p&gt;I remembered that I had created a&lt;a href=&quot;https://rosettacode.org/wiki/Permutations/Rank_of_a_permutation&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt; Rank of a permutation task&lt;/a&gt; some time ago, (2012), and that there was something &quot;off&quot; with the ranking.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Sure enough the issue was that a rank number gets transformed into a unique permutation, and vice-versa, knowing the start configuration and given any permutation of it then yoy can generate its rank number - &lt;b&gt;&lt;i&gt;But the order of permutations for increasing rank number does not have to be that lexical sort used by Python&lt;/i&gt;&lt;/b&gt;, and indeed the &lt;a href=&quot;https://rosettacode.org/wiki/Permutations/Rank_of_a_permutation#Python:_Myrvold_&amp;amp;_Ruskey&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Myrvold &amp;amp; Ruskey&lt;/a&gt; or &lt;a href=&quot;https://rosettacode.org/wiki/Permutations/Rank_of_a_permutation#Python:_Trotter-Johnson&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Trottor &amp;amp; Johnson &lt;/a&gt;algorithms I converted to Python are &lt;b&gt;&lt;i&gt;not &lt;/i&gt;&lt;/b&gt;in lexical order.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;So now I know I needed some way to rank and un-rank a lexically ordered set of permutations, as generated by Python.&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Something to look at and talk about&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;Lets assign ranks to Python perms and column headings to make it easier to talk about:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ascii_uppercase&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# large enough to hopefully show patterns, but not too large&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39; # : &amp;nbsp;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39; &amp;nbsp;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;join&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;char&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ascii_uppercase&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[:&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;enumerate&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;permutations&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rank&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:&amp;gt;2}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; : &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Outputs:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;# : &amp;nbsp;A &amp;nbsp;B &amp;nbsp;C &amp;nbsp;D&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;0 : (0, 1, 2, 3)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;1 : (0, 1, 3, 2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;2 : (0, 2, 1, 3)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;3 : (0, 2, 3, 1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;4 : (0, 3, 1, 2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;5 : (0, 3, 2, 1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;6 : (1, 0, 2, 3)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;7 : (1, 0, 3, 2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;8 : (1, 2, 0, 3)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;9 : (1, 2, 3, 0)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;10 : (1, 3, 0, 2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;11 : (1, 3, 2, 0)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;12 : (2, 0, 1, 3)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;13 : (2, 0, 3, 1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;14 : (2, 1, 0, 3)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;15 : (2, 1, 3, 0)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;16 : (2, 3, 0, 1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;17 : (2, 3, 1, 0)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;18 : (3, 0, 1, 2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;19 : (3, 0, 2, 1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;20 : (3, 1, 0, 2)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;21 : (3, 1, 2, 0)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;22 : (3, 2, 0, 1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;23 : (3, 2, 1, 0)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Patterns&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;I can&#39;t go through the many false trails I had in coming to my result, (there were several), but I finally noticed that The digits in column A stayed the same for 6 successive rows and six is three factorial. Column B stays the same for 2 successive rows i.e. 2! , I guessed 1! for column C and D is what&#39;s left.&lt;/p&gt;&lt;p&gt;A lot of deleted code later I found that, kinda, after you&amp;nbsp; pop the first digit out of the starting perm at rank 0, which would be &lt;span style=&quot;background-color: #cccccc;&quot;&gt;rank // (4 - 1)!&lt;/span&gt;; you could take the second digit out using indices using decreasing factorials, &lt;i&gt;but also modulo the decreasing numbers left to index&lt;/i&gt;.&lt;/p&gt;&lt;p&gt;Hard to write a textual description of, but I was very chuffed to work out the following on my own:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;nth_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;initial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Sequence&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;init&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;initial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;initial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;fac_divs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;((&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;factorial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;j&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;j&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;j&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;([&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;init&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pop&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;indx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;indx&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;fac_divs&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;init&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;nth_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;And indeed the nth perm of (0, 1, 2 ,3) produced for n = 11 was (1, 3, 2, 0).&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Check&lt;/h3&gt;&lt;p&gt;I decided to check my perm-from-rank generator against the Python permutations:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;enumerate&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;permutations&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;nth_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Generate ranking from arbitrary perm&lt;/h2&gt;&lt;p&gt;This had its own &lt;i&gt;aha &lt;/i&gt;moments, and eventually I created the following code generating the rank of the sorted perm:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;s_perm_rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Sequence&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Ranking of perm p in the sorted sequence of perms of the ints 0 .. len(p)-1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; p must be a permutation of the integers 0 .. (len(p)-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;init&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Perm of rank 0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;init&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;p must be perm of the ints 0 .. (len(p)-1)&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;a&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;init&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;index&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;factorial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;init&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;remove&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;this&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pop&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Roundtrip Check&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;To check I roundtrip from rank to perm to rank, and also check against the Python permutations ranking&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;init&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;py_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;enumerate&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;permutations&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;nth_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;init&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:&amp;gt;2}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;py_perm&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;=}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;py_perm&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s_perm&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;=}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;s_perm_rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;=}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Output:&lt;/h4&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;0: py_perm=(0, 1, 2, 3) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;1: py_perm=(0, 1, 3, 2) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;2: py_perm=(0, 2, 1, 3) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;3: py_perm=(0, 2, 3, 1) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;4: py_perm=(0, 3, 1, 2) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;5: py_perm=(0, 3, 2, 1) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;6: py_perm=(1, 0, 2, 3) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;7: py_perm=(1, 0, 3, 2) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;8: py_perm=(1, 2, 0, 3) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;9: py_perm=(1, 2, 3, 0) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;10: py_perm=(1, 3, 0, 2) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;11: py_perm=(1, 3, 2, 0) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;12: py_perm=(2, 0, 1, 3) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;13: py_perm=(2, 0, 3, 1) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;14: py_perm=(2, 1, 0, 3) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;15: py_perm=(2, 1, 3, 0) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;16: py_perm=(2, 3, 0, 1) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;17: py_perm=(2, 3, 1, 0) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;18: py_perm=(3, 0, 1, 2) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;19: py_perm=(3, 0, 2, 1) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;20: py_perm=(3, 1, 0, 2) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;21: py_perm=(3, 1, 2, 0) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;22: py_perm=(3, 2, 0, 1) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;23: py_perm=(3, 2, 1, 0) py_perm==s_perm=True i==s_perm_rank(s_perm)=True&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;It works!&lt;/b&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;Tidy&lt;/h1&gt;&lt;p style=&quot;text-align: left;&quot;&gt;I searched online, read more mathematical articles in and around the subject of permutations and decided to tidy things up with renamings and changes to function arguments. For example, I found that &lt;i&gt;lex &lt;/i&gt;is used as a short replacement for lexicographic ordering, and that a perm is usually generated from the integer width of the perm and the rank required, rather than giving the perm of rank 0 and the rank&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;The final, (?), version is:&lt;/p&gt;&lt;br /&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#%% Tidy&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;lex_perm_unrank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Generate the lexicographic-permutation of ints 0 .. width-1 of given rank.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Author: Donald S. McCarthy &quot;Paddy3118&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Date: August 2023&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;initial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;indices&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;factorial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;j&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;j&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;j&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;tuple&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;initial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pop&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;index&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;index&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;indices&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %% Check&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;py_rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;py_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;enumerate&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;permutations&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lex_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;lex_perm_unrank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;py_rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lex_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;py_perm&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;lex_perm_unrank consistent with Python permutations order.&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %% Tidier&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;lex_perm_rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;Sequence&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Rank of perm p in the lexicographic ordered perms of ints 0 .. len(p)-1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; p must be a permutation of the integers 0 .. (len(p)-1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Author: Donald S. McCarthy &quot;Paddy3118&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Date: August 2023&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;p&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;initial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Perm of rank 0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;initial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;), \&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;p must be a permutation of the integers 0 .. (len(p)-1)&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;initial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;index&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;factorial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;initial&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;remove&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;pop&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;rank&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %% Check both&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;py_rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;py_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;enumerate&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;permutations&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lex_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;lex_perm_unrank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;w&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;py_rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lex_rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;lex_perm_rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lex_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lex_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;py_perm&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;lex_rank&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;py_rank&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;lex_perm_rank/unrank consistent with Python permutations order.&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;b&gt;END.&lt;/b&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/8342270404349939465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2023/08/staring-at-assorted-perms-and-python-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/8342270404349939465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/8342270404349939465'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2023/08/staring-at-assorted-perms-and-python-or.html' title='&quot;Staring at assorted perms and Python&quot;, or &quot;The Ranking and Unranking of Lexical Permutations&quot;'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgabaF9QYrmnRVE1ABQ_2QQRUbKOBXwP8dyiIaf6ENLGYgBbh2-BlgLmRhossExFSBOsy-Wx6oVdwuhdWvTN07PezsR8jMaHjF_GQB77Ft1Kg3Ado3SNZDLET3V1zJ58bz_SuS6b5ROPj1cVDevh5i659Tf7gDNdDm7juRUSmg-JIxAmTRTO4eD/s72-c/bwoman_perm.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-7041649213104825924</id><published>2023-08-21T21:34:00.000+01:00</published><updated>2023-08-21T21:34:17.523+01:00</updated><title type='text'>The Godeh Series, Python, and OEIS</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b style=&quot;color: #2b00fe;&quot;&gt;&lt;span&gt;(Best viewed on screens larger than a portrait phone)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&amp;nbsp;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;In my &lt;a href=&quot;https://paddy3118.blogspot.com/2023/08/generalising-simple-encryption-using.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;previous post&lt;/a&gt; I generalised a form of encryption to do this:&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Task Encrypt grouping chars by mod M, N times:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Given an input string S; Some order of the K integers 0..K-1 called&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; M, where K &amp;lt;= length_of(S); and an integer N &amp;gt; 0&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; First form groups:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Form group G[0] by concatenating every K&#39;th item of S starting from index 0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Form group G[1] by concatenating every K&#39;th item of S starting from index 1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Form group G[K-1] by concatenating every K&#39;th item of S starting from index K-1&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Group Concatenation:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Concatenate all the groups G in the order given M to form the partial result P&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; P(1) = concatenate_left_to_right(G[i] for i in M)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Repetition:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Substituting P for S, repeat the above process N times to form the final&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; encrypted string P(N)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Corner cases:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If S is empty or N is 0 then return S.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If M is empty return the empty version of sequence S (empty string).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Examples:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;012345&#39;, [1, 0], 0) =&amp;gt; &#39;012345&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;012345&#39;, [1, 0], 1) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; &#39;135024&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;012345&#39;, [1, 0], 2) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; &#39;304152&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;012345&#39;, [1, 0], 3) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; &#39;012345&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;012345&#39;, [1, 0], 4) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; &#39;135024&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;01234567&#39;, [2, 1, 0], 0) =&amp;gt; &#39;01234567&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;01234567&#39;, [2, 1, 0], 1) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; &#39;25147036&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;01234567&#39;, [2, 1, 0], 2) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; &#39;10576243&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;01234567&#39;, [2, 1, 0], 3) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; &#39;52063174&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;01234567&#39;, [2, 1, 0], 4) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; &#39;01234567&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Created from Sun Aug &amp;nbsp;6 09:10:10 2023&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;@author: paddy3118&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Repetitions&lt;/h2&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;In the example of we see that for n = 3, the output of&amp;nbsp;&lt;span style=&quot;color: #660000;&quot;&gt; encrypt6(&#39;012345&#39;, [1, 0], 3) &lt;/span&gt;starts repeating for higher n.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;I have found, but have not proved, that&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;encrypt6(S, M, n) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; encrypt6(S, M, (n modulo x) )&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;for some x.&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;I.e. outputs will eventually equal the input to form a repettitive cycle of outputs.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;The length of the cycle, &lt;b&gt;x &lt;/b&gt;before repetition does not seem to be simple.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;The Godeh series&lt;/h1&gt;&lt;div style=&quot;text-align: left;&quot;&gt;This series calculates the length of the cycles of encrypt6 untill the input is produced again.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Godeh series - Original definition by Author&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; 1. Given:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; * An ordered list of S distinct items, S &amp;gt;= 1.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; * Some permutation of the K integers 0..K-1 called M, where 1 &amp;lt;= K &amp;lt;= S.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; 2. Form groups:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; * Form group G[0] by concatenating every K&#39;th item of S starting from index 0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; * Form group G[1] by concatenating every K&#39;th item of S starting from index 1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; * Form group G[K-1] by concatenating every K&#39;th item of S starting from index K-1&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; 3. Concatenate groups:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; * Concatenate all the groups G in the order given by M to form the first partial&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; result P(1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; P(1) = concatenate_left_to_right(G[i] for i in M)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; 4. Repetition:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Substituting P for S, repeat the above process until the order of items in P&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; equals the initial order, S.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; 5. Result&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; * Godeh(S, M) = the number of repetitions needed of steps 1-through-4&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Created on Thu Aug 17 19:40:32 2023&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;@author: paddy3118&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Python code to generate one term&lt;/h2&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; collections.abc &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; Sequence&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; collections &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; defaultdict&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; itertools &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; zip_longest, permutations, chain, islice&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; functools &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; cache, lru_cache&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; pprint &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; pp&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; string &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ascii_letters, digits&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; time &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sleep&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; typing &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; Callable, Any, overload&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sys&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;sys.path.append(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;&#39;C:&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\U&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;sers&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\p&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;addy&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\G&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;oogle Drive&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\C&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;ode&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\o&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;eisify&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; oeis_request &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; oeis_request&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; antidiagonals &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; antidiag_triangle_indices&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;godeh&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: Sequence[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Godeh function Godeh(s, m)&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; k &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(m)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; k&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(k)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(m), \&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Sequence m of length &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;k&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; should contain a permutation of all the &quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; \&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;numbers 0..&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;k&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; inclusive.&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; s_init &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; n, s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s_init:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s_init&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;((s[offset::k] &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; offset &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; m),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;[])&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Table of values&lt;/h2&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Each row should represent M as &quot;successive permutations&quot; - i.e perms of (0,) then perms of (0,1), perms of (0,1,2) ...&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Successive values in each row are then godeh(S,M) where S = len(M), len(M)+1, len(M+2), ...&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;GodehTableType &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; dict[tuple[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;godeh_table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;15&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_permed_ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; GodehTableType:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Create a table of Godeh series values&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Parameters&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; ----------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; max_s : int, optional&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Godeh(s, m) for s=len(m) to len(m) + max_s, for all m. The default is 10.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; max_permed_ints : int, optional&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; All perms of (0), (0, 1), (0, 1, 2), ... (0, 1, ..max_permed_ints).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The default is 3.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; -------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; dict[&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tuple[int], &amp;nbsp; &amp;nbsp;# M&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;list[int]] &amp;nbsp; &amp;nbsp; # Godeh(S, M) for S = len(M), len(M)+1, ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Tablulated Godeh values.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; table &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; defaultdict(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; m &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; chain(&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(permutations(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(i)) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, max_permed_ints&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;((k:=&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(m)), max_s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; k):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; table[(m)].append(godeh(s, m))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;dict&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(table)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;godeh_series &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; godeh_table(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;pp(godeh_series, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;222&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&amp;nbsp;Output:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;{(0,): [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;(0, 1): [1, 2, 2, 4, 4, 3, 3, 6, 6, 10, 10, 12, 12, 4, 4, 8, 8, 18, 18, 6],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;(1, 0): [2, 2, 4, 4, 3, 3, 6, 6, 10, 10, 12, 12, 4, 4, 8, 8, 18, 18, 6, 6],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;(0, 1, 2): [1, 3, 4, 4, 6, 2, 2, 6, 5, 5, 11, 6, 6, 15, 16, 16, 52, 4, 4, 38],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;(0, 2, 1): [2, 2, 2, 4, 6, 6, 4, 4, 4, 21, 3, 3, 30, 4, 4, 90, 18, 18, 24, 5],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;(1, 0, 2): [2, 2, 4, 4, 6, 4, 4, 4, 21, 21, 3, 30, 30, 8, 90, 90, 18, 24, 24, 10],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;(1, 2, 0): [3, 3, 4, 6, 6, 4, 6, 6, 5, 11, 11, 6, 15, 15, 16, 52, 52, 4, 38, 38],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;(2, 0, 1): [3, 4, 4, 6, 2, 2, 6, 5, 5, 11, 6, 6, 15, 16, 16, 52, 4, 4, 38, 11],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;(2, 1, 0): [2, 2, 4, 6, 6, 4, 4, 4, 21, 3, 3, 30, 4, 4, 90, 18, 18, 24, 5, 5]}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Duplicate rows? &lt;/h2&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;I suspect that there are duplicate rows of values so generate a larger table and search for row duplication, (I use text searches but it gets the job done).&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;find_reps_in_godeh&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;g&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: GodehTableType,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_slice_start&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_slice_end&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;18&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Prints information on duplicated Godeh table rows.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Parameters&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; ----------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; g : GodehTableType&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Table of Godeh(S,M) values.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; _slice_start : int, optional&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Defines slice of a rows values to search for in other rows of g.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The default is 10.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; _slice_end : int, optional&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Defines slice of a rows values to search for in other rows of g.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The default is 18.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; -------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; None&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Uses a string search on stringified row values between commas&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; searchable &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {m: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;,&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(values)[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].replace(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39; &#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;,&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; m, values &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; g.items()}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; keys, rows &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(searchable), &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(searchable.values())&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Search for every row in all &quot;higher&quot; rows&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; maxrows &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(rows)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(maxrows &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; isearch &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;,&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(g[keys[i]][&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;17&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].replace(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39; &#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;,&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; k &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(i&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, maxrows):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; isearch &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (rowk:=rows[k]):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; offset &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _slice_start &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; rowk[:rowk.index(isearch)].count(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;,&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Found &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;keys[i]&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; in &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;keys[k]&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; at &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;offset = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;godeh_series &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; godeh_table(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# more values&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;find_reps_in_godeh(godeh_series, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Output:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Found (0, 1) in (1, 0) at offset = 1&lt;br /&gt;Found (0, 1, 2) in (2, 0, 1) at offset = 1&lt;br /&gt;Found (0, 2, 1) in (2, 1, 0) at offset = 1&lt;br /&gt;Found (0, 1, 2, 3) in (3, 0, 1, 2) at offset = 1&lt;br /&gt;Found (0, 1, 3, 2) in (3, 0, 2, 1) at offset = 1&lt;br /&gt;Found (0, 2, 1, 3) in (3, 1, 0, 2) at offset = 1&lt;br /&gt;Found (0, 2, 3, 1) in (3, 1, 2, 0) at offset = 1&lt;br /&gt;Found (0, 3, 1, 2) in (3, 2, 0, 1) at offset = 1&lt;br /&gt;Found (0, 3, 2, 1) in (3, 2, 1, 0) at offset = 1&lt;br /&gt;Found (0, 1, 2, 3, 4) in (4, 0, 1, 2, 3) at offset = 1&lt;br /&gt;Found (0, 1, 2, 4, 3) in (4, 0, 1, 3, 2) at offset = 1&lt;br /&gt;Found (0, 1, 3, 2, 4) in (4, 0, 2, 1, 3) at offset = 1&lt;br /&gt;Found (0, 1, 3, 4, 2) in (4, 0, 2, 3, 1) at offset = 1&lt;br /&gt;Found (0, 1, 4, 2, 3) in (4, 0, 3, 1, 2) at offset = 1&lt;br /&gt;Found (0, 1, 4, 3, 2) in (4, 0, 3, 2, 1) at offset = 1&lt;br /&gt;Found (0, 2, 1, 3, 4) in (4, 1, 0, 2, 3) at offset = 1&lt;br /&gt;Found (0, 2, 1, 4, 3) in (4, 1, 0, 3, 2) at offset = 1&lt;br /&gt;Found (0, 2, 3, 1, 4) in (4, 1, 2, 0, 3) at offset = 1&lt;br /&gt;Found (0, 2, 3, 4, 1) in (4, 1, 2, 3, 0) at offset = 1&lt;br /&gt;Found (0, 2, 4, 1, 3) in (4, 1, 3, 0, 2) at offset = 1&lt;br /&gt;Found (0, 2, 4, 3, 1) in (4, 1, 3, 2, 0) at offset = 1&lt;br /&gt;Found (0, 3, 1, 2, 4) in (4, 2, 0, 1, 3) at offset = 1&lt;br /&gt;Found (0, 3, 1, 4, 2) in (4, 2, 0, 3, 1) at offset = 1&lt;br /&gt;Found (0, 3, 2, 1, 4) in (4, 2, 1, 0, 3) at offset = 1&lt;br /&gt;Found (0, 3, 2, 4, 1) in (4, 2, 1, 3, 0) at offset = 1&lt;br /&gt;Found (0, 3, 4, 1, 2) in (4, 2, 3, 0, 1) at offset = 1&lt;br /&gt;Found (0, 3, 4, 2, 1) in (4, 2, 3, 1, 0) at offset = 1&lt;br /&gt;Found (0, 4, 1, 2, 3) in (4, 3, 0, 1, 2) at offset = 1&lt;br /&gt;Found (0, 4, 1, 3, 2) in (4, 3, 0, 2, 1) at offset = 1&lt;br /&gt;Found (0, 4, 2, 1, 3) in (4, 3, 1, 0, 2) at offset = 1&lt;br /&gt;Found (0, 4, 2, 3, 1) in (4, 3, 1, 2, 0) at offset = 1&lt;br /&gt;Found (0, 4, 3, 1, 2) in (4, 3, 2, 0, 1) at offset = 1&lt;br /&gt;Found (0, 4, 3, 2, 1) in (4, 3, 2, 1, 0) at offset = 1&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h3&gt;&lt;b&gt;&amp;nbsp;Observation, Duals!&lt;br /&gt;&lt;/b&gt;&lt;/h3&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;The first line is saying that M = (1, 0) values are the same as those for M = (0, 1); just with an offset of being one term over.&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;ul style=&quot;text-align: left;&quot;&gt;&lt;li&gt;There are only row duals found. no rows data is replicated in more than one other row.&lt;/li&gt;&lt;li&gt;&amp;nbsp;All the offsets are one.&lt;/li&gt;&lt;li&gt;Duals are between rows of the same size perms in M; with the Leftmost value of M being max(M) paired with an M where the leftmost value of M is min(M).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;OEIS Searching by hand: Abulsme&lt;br /&gt;&lt;/h2&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;I put a few selections of the table rows into OEIS by hand and found that, (but not proved), I can generate all the &lt;a href=&quot;https://oeis.org/A105272&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Abulsme function&lt;/a&gt; values from my Godeh function!&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;br /&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;a105272_table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;max_permed_ints&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Abulsme function by different means: http://www.abulsme.com/function.html&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; == Godeh(S, M) where All M&#39;s are ints sorted high to low&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; table &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; defaultdict(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; m &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(i)[::&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, max_permed_ints&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(k:&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(m), max_s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; k):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; table[k].append(godeh(s, m))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;dict&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(table)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;a105272 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; a105272_table(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;15&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %%&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;pp(a105272, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;222&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Table of Abulsme values produced&lt;/h3&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;{1: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;2: [2, 2, 4, 4, 3, 3, 6, 6, 10, 10, 12, 12, 4, 4, 8, 8, 18, 18, 6, 6],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;3: [2, 2, 4, 6, 6, 4, 4, 4, 21, 3, 3, 30, 4, 4, 90, 18, 18, 24, 5, 5],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;4: [2, 2, 4, 7, 3, 3, 8, 10, 6, 6, 20, 4, 4, 4, 132, 30, 3, 3, 24, 252],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;5: [2, 2, 4, 7, 15, 5, 5, 12, 40, 45, 4, 4, 12, 8, 16, 6, 6, 16, 28, 4],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;6: [2, 2, 4, 14, 6, 10, 12, 12, 7, 15, 56, 90, 9, 9, 51, 21, 105, 23, 5, 5],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;7: [2, 2, 4, 14, 6, 12, 30, 4, 4, 20, 15, 70, 30, 18, 10, 10, 48, 72, 24, 25],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;8: [2, 2, 4, 14, 6, 13, 13, 24, 8, 8, 40, 70, 91, 18, 18, 22, 20, 20, 44, 312],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;9: [2, 2, 4, 14, 6, 13, 15, 15, 63, 9, 9, 20, 18, 85, 30, 24, 60, 44, 3, 3],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;10: [2, 2, 4, 14, 6, 26, 16, 10, 18, 12, 6, 6, 42, 21, 22, 42, 68, 165, 182, 30],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;11: [2, 2, 4, 14, 6, 26, 16, 60, 78, 48, 20, 22, 22, 12, 25, 390, 90, 21, 360, 42],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;12: [2, 2, 4, 14, 6, 26, 16, 65, 120, 84, 21, 36, 20, 20, 44, 132, 120, 24, 100, 108],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;13: [2, 2, 4, 14, 6, 26, 16, 65, 168, 168, 120, 20, 25, 9, 9, 60, 24, 187, 616, 84],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;14: [2, 2, 4, 14, 6, 26, 16, 130, 24, 60, 130, 144, 20, 26, 28, 28, 15, 60, 84, 84],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;15: [2, 2, 4, 14, 6, 26, 16, 130, 24, 204, 24, 144, 170, 170, 40, 10, 10, 30, 510, 34]}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Auto-check OEIS&lt;/h2&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;I hooked in my oeis search routine and searched for each row of the Godeh table of values.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Code:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;oeis_check_values&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: dict[Any, list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_slice_start&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_slice_end&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_secs_between_searches&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_show_not_found&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Search for each row of table in OEIS&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; key, vals &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; table.items():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; oeis &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; oeis_request(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(vals[_slice_start:_slice_end])[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; found &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [k &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; k &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; oeis &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; k[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;A&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; found:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;: is found in OEIS &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;, &#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(found)&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;elif&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _show_not_found:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;key&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;: Not found in oeis.&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sleep(_secs_between_searches)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;godeh_series &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; godeh_table(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# more values&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;oeis_check_values(godeh_series, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;_secs_between_searches&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;It takes some time to run, but eventually I get these results:&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;Output:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(0,): is found in OEIS A000012, A055642, A135010, A057427, A138121, A000030, A047999, A071625, A079944, A228351&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(0, 1): is found in OEIS A024222&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(1, 0): is found in OEIS A024222&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(0, 2, 1): is found in OEIS A118960&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(2, 1, 0): is found in OEIS A118960&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(0, 3, 2, 1): is found in OEIS A120280&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(3, 2, 1, 0): is found in OEIS A120280&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(0, 4, 3, 2, 1): is found in OEIS A120363&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(4, 3, 2, 1, 0): is found in OEIS A120363&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(0, 5, 4, 3, 2, 1): is found in OEIS A120654&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(5, 4, 3, 2, 1, 0): is found in OEIS A120654&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Ignoring (0,) which is just all the ones; All the other matches are selections from the Abulsme function, &lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;a105272, when M is either reverse sorted, or its &lt;b&gt;dual.&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;&lt;b&gt;OEIS ENTRY?&lt;/b&gt;&lt;/h1&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;It seems that the&amp;nbsp; &lt;b&gt;Godeh Series&lt;/b&gt; is more general than a105272 so I thought I&#39;d submit it to OEIS. It&#39;s submitted and allocated as &lt;a href=&quot;https://oeis.org/A365096&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;A365096&lt;/a&gt;. Fingers crossed!&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Antidiagonalisation&lt;/h2&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;When you submit a table of values the DATA entry must be in antidiagonalisation format. I did a quick module to provide that functionality:&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Module antidiagonals.py:&lt;/h3&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Anti-diagonals:&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;0,0 0,1 0,2 0,3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;1,0 1,1 1,2 1,3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;2,0 2,1 2,2 2,3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;3,0 3,1 3,2 3,3&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Of Square:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;0,0 &amp;nbsp;0,1 1,0 &amp;nbsp;0,2 1,1 2,0 &amp;nbsp;0,3 1,2 2,1 3,0 &amp;nbsp; 1,3 2,2 3,1 &amp;nbsp;2,3 3,2 &amp;nbsp;3,3&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;of Infinite table:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;0,0 &amp;nbsp;0,1 1,0 &amp;nbsp;0,2 1,1 2,0 &amp;nbsp;0,3 1,2 2,1 3,0 &amp;nbsp; 0,4 1,3 2,2 3,1 4,0 ...&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Created on Mon Aug 21 13:36:31 2023&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;@author: paddy&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %% Triangles&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; itertools &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; islice&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;antidiag_triangle_indices&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;() -&amp;gt; tuple[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; x &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;yield&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (x, y)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x, y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (x&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, y&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, x&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(islice(antidiag_triangle_indices(), &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;15&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# %% Rectangles&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; itertools &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; islice&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;antidiag_rectangle_indices&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sizex&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sizey&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; tuple[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; x &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;yield&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (x, y)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (x, y) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (sizex &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, sizey &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;break&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x, y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (x&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, y&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sizex &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; u &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x, y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, u) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; u &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sizey &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (u &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sizey &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, sizey &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(antidiag_rectangle_indices(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Antidiagonalisation test &lt;/h4&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;antidiagonalise&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;table&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: dict[Any, list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]]) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; maxx &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(xkeys:&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(table))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; maxy &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;min&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(row) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; row &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; table.values())&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; antigen &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; antidiag_triangle_indices().&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;__next__&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; x, y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; antigen()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; maxx &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; maxy:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;yield&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; table[xkeys[x]][y]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x, y &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; antigen()&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;t &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;x = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: [(x, y) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; y &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)] &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;# Sample table&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;pp(t, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;100&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sort_dicts&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Antidiagonalised&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(antidiagonalise(t)))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&amp;nbsp;Test output:&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;# Sample table&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;{&#39;x = 0&#39;: [(0, 0), (0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6)],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&#39;x = 1&#39;: [(1, 0), (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6)],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;&#39;x = 2&#39;: [(2, 0), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (2, 6)]}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Antidiagonalised&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp;[(0, 0), (0, 1), (1, 0), (0, 2), (1, 1), (2, 0), (0, 3), (1, 2), (2, 1)]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Better formatted table for comments&lt;/h2&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;godeh_series2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; godeh_table(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;20&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; M, v &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; godeh_series2.items():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; m &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;M = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;:&amp;gt;13s}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(v)[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].replace(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39; &#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;,...&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;b&gt;Output&lt;/b&gt;:&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;M = (0,): 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp;M = (0, 1): 1,2,2,4,4,3,3,6,6,10,10,12,12,4,4,8,8,18,18,6,...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp;M = (1, 0): 2,2,4,4,3,3,6,6,10,10,12,12,4,4,8,8,18,18,6,6,...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;M = (0, 1, 2): 1,3,4,4,6,2,2,6,5,5,11,6,6,15,16,16,52,4,4,38,...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;M = (0, 2, 1): 2,2,2,4,6,6,4,4,4,21,3,3,30,4,4,90,18,18,24,5,...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;M = (1, 0, 2): 2,2,4,4,6,4,4,4,21,21,3,30,30,8,90,90,18,24,24,10,...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;M = (1, 2, 0): 3,3,4,6,6,4,6,6,5,11,11,6,15,15,16,52,52,4,38,38,...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;M = (2, 0, 1): 3,4,4,6,2,2,6,5,5,11,6,6,15,16,16,52,4,4,38,11,...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;M = (2, 1, 0): 2,2,4,6,6,4,4,4,21,3,3,30,4,4,90,18,18,24,5,5,...&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&amp;nbsp;END.&lt;/b&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/7041649213104825924/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2023/08/the-godeh-series-python-and-oeis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/7041649213104825924'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/7041649213104825924'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2023/08/the-godeh-series-python-and-oeis.html' title='The Godeh Series, Python, and OEIS'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-5356843088786102681</id><published>2023-08-20T11:32:00.002+01:00</published><updated>2023-08-20T11:54:05.969+01:00</updated><title type='text'>Generalising a simple encryption using Python</title><content type='html'>&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMjvJ5cTfUiXYfO2hqUJqdG0q2nkPiz6bpz6kJJgHo1zKZZcIYpUoJ74mMULZeOQ4iKTNGX8wpRvLtBJaPxtVvu80YliwLlmzqsoHMuze0sPYEjx2BUrmVuY1MzrxedDQ2e_mZQpoR5jg7IhjUwLFmkoUm6zUZVjuvYwnWB4UzUETcQal1S3eK/s3648/IMG_20230820_110353_edit_707480951713920.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1721&quot; data-original-width=&quot;3648&quot; height=&quot;151&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMjvJ5cTfUiXYfO2hqUJqdG0q2nkPiz6bpz6kJJgHo1zKZZcIYpUoJ74mMULZeOQ4iKTNGX8wpRvLtBJaPxtVvu80YliwLlmzqsoHMuze0sPYEjx2BUrmVuY1MzrxedDQ2e_mZQpoR5jg7IhjUwLFmkoUm6zUZVjuvYwnWB4UzUETcQal1S3eK/s320/IMG_20230820_110353_edit_707480951713920.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&amp;nbsp;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;b style=&quot;color: #2b00fe;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;(Best viewed on screens larger than a portrait phone)&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;&amp;nbsp;Recap&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;&amp;nbsp;In my last but one &lt;a href=&quot;https://paddy3118.blogspot.com/2023/08/exploring-simple-encryption-using-python.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;post &lt;/a&gt;I coded solutions to the task:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Implement a pseudo-encryption algorithm which given a string S and an integer N &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;concatenates all the odd-indexed characters of S with all the even-indexed &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;characters of S, this process should be repeated N times.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;First implementation&lt;/h3&gt;&lt;p&gt;My first implementation didn&#39;t use index variables to walk through strings, but instead used slicing and zip_longest:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; itertools &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; zip_longest&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;encrypt&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(n):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;decrypt&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; l2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(n):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(x)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; zip_longest(s[l2:], s[:l2],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;fillvalue&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;N modulo &lt;br /&gt;&lt;/h3&gt;&lt;p&gt;In that same post I found that encryption repeats after some value found to be associated with&lt;br /&gt;&lt;b&gt;&lt;a href=&quot;https://oeis.org/A002326&quot;&gt;https://oeis.org/A002326&lt;/a&gt;&lt;/b&gt; So if n is ls large, work will be reduced.&lt;br /&gt;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; functools &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; cache&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;@cache&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;a002326&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Least m &amp;gt; 0 such that 2n+1 divides 2^m-1&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; n21 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; m, m2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (m2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n21:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; m, m2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; m&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, m2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; m&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;encrypt2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; l2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; a002326(l2)): &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Modulo reduction on large n&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;decrypt2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; l2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; a002326(l2)): &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Modulo reduction on large n&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(x)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; zip_longest(s[l2:], s[:l2],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;fillvalue&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;New Stuff&lt;/h1&gt;&lt;p&gt;this marks the end of the previous posts precis. &lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Task generalisation #1: Reverse&lt;br /&gt;&lt;/h3&gt;&lt;p&gt;Reverse the concatenation of the original.&lt;/p&gt;&lt;p&gt;The new task descripption:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;New Task:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;given a string S and an integer N concatenates all the EVEN-indexed&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;characters of S with all the ODD-indexed characters of S, this process&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;should be repeated N time. (Prevous was ODD-EVEN).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Examples:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt(&#39;012345&#39;, 1) =&amp;gt; &#39;024135&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt(&#39;012345&#39;, 2) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; &#39;043215&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt(&#39;012345&#39;, 3) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; &#39;031425&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt(&#39;0123456&#39;, 1) =&amp;gt; &#39;0246135&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt(&#39;0123456&#39;, 2) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; &#39;0415263&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt(&#39;0123456&#39;, 3) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; &#39;0123456&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;Its code&lt;br /&gt;&lt;/h4&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;encrypt3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(n):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s[::&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;decrypt3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; l2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Odd char now in first half for odd len(s)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(n):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(x)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; zip_longest(s[:l2], s[l2:],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;fillvalue&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h4 style=&quot;text-align: left;&quot;&gt;N modulo for Reverse&lt;br /&gt;&lt;/h4&gt;&lt;p&gt;I looked again for a value for n after which encryptions repeat and found a similar dependency on &lt;b&gt;&lt;i&gt;a002326&lt;/i&gt;&lt;/b&gt; but with a subtle change in offset&lt;br /&gt;&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;encrypt4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; l2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (l1:=&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; a002326((l1 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s[::&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;decrypt4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; l2 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ((l1:=&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Odd char now in first half for odd len(s)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;%&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; a002326((l1 &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(x)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; zip_longest(s[:l2], s[l2:],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;fillvalue&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;Three groups&lt;br /&gt;&lt;/h1&gt;&lt;p&gt;A task description like the first, that gave us encrypt1, but this time for three groups.&lt;/p&gt;&lt;p&gt;I am thinking about later generalisations and realise that after splitting into three, there could be 3! = 6 possible ways of concatenating groups, so call this encrypt_210 as 210 is the order used here:&lt;/p&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;New Task encrypt_210:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Given a string S and an integer N select chars at positions div 3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; and concatenate all the remainder-2, then rem-1 then rem-0 ordered&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; groups of character. This process should be repeated N times to&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; form the encrpted string.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; If N is 0 or the string is null return the input string.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Examples:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt(&#39;012345&#39;, 0) =&amp;gt; &#39;012345&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt(&#39;012345&#39;, 1) 03,14,25 =&amp;gt; &#39;251403&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt(&#39;012345&#39;, 2) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;24,50,13 =&amp;gt; &#39;135024&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Decode is encode!!&lt;/h2&gt;&lt;div style=&quot;text-align: left;&quot;&gt;I realised that &lt;i&gt;if you encode individual items to their output positions then the decode is always just the reverse mapping of encoded to starting state&lt;/i&gt;.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;The above is easiest done by first encoding a list of integers then doing reverse indexing.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;I decided to extend my knowledge of typing too. (Although I want to see if it helps with readability rather than running Mypy).&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; typing &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; overload&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;@overload&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;encrypt5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: ... &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# normal&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;@overload&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;encrypt5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]: ... &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# internal, for decryption&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;encrypt5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(n):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;decrypt5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; In which I realise that for this _class_ of problem, decryption is reversing the encrpt&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; base &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s)))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; enc &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; encrypt5(base, n)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; enc:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(s[enc.index(i)] &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; base)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;Generalised groupings&lt;/h1&gt;&lt;div style=&quot;text-align: left;&quot;&gt;I realized that these encodings might be described in terms of cards and dealings: &lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li style=&quot;text-align: left;&quot;&gt;&amp;nbsp;You have a pack of S cards and dealt them into K piles, left to right, starting again at the leftmost pile when you last dealt at the rightmost until you dealt the last card.&lt;/li&gt;&lt;li style=&quot;text-align: left;&quot;&gt;Number the piles, left-to-right from zero to K-1,&amp;nbsp;&lt;/li&gt;&lt;li style=&quot;text-align: left;&quot;&gt;You also have a permutation M of the integers 0 to K-1 and you concatenate the dealt piles in the order given in M to form the first reordering of S.&lt;/li&gt;&lt;li style=&quot;text-align: left;&quot;&gt;Repeat the process N times to form the final ordering of S&lt;/li&gt;&lt;/ul&gt;The picture at the beginning is for K == 3 and using Ace as 1, starting from Ace,2,3,...&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;The following picture is the first concatenation arrangement of M = 2, 1, 0:&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZPiNB4x0vzoKTdjpkfyy8-dS15YrZYMhry8GI4NsX9N920Wbghr6zvGTWAnRvaj9Qn0fTmeLxhvpYOhMmuSlLaT99jljv9X4rFgmwmINHUeUBrIQQScnlbPCP9FW_qtnjrbL5Bz5RwrLqAroi95U2qgC1FLuLoBQVg9QH_ynoL3YT1YgFFZnO/s3648/IMG_20230820_110353_edit_707480951713920.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;1721&quot; data-original-width=&quot;3648&quot; height=&quot;221&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZPiNB4x0vzoKTdjpkfyy8-dS15YrZYMhry8GI4NsX9N920Wbghr6zvGTWAnRvaj9Qn0fTmeLxhvpYOhMmuSlLaT99jljv9X4rFgmwmINHUeUBrIQQScnlbPCP9FW_qtnjrbL5Bz5RwrLqAroi95U2qgC1FLuLoBQVg9QH_ynoL3YT1YgFFZnO/w596-h221/IMG_20230820_110353_edit_707480951713920.jpg&quot; width=&quot;596&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZufNr8CCyQCL__5iOyAA3s7Y4EvbPdCeiS6awleUyY4PbcSyA9XEM0QoE2CG_9nC4tjP8b3aQ_ZKDodZiHuHKQNd0UFZdWxn6diIwgGflIrjk-Ig_RhS-zGCtsAuWKkhYZyW-tGT_eZYiJR9WzSVjlL7M5tqNg2KEj5ppmoMXh7GZCxix4GXx/s2867/IMG_20230820_110558_edit_707441632721217.jpg&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;2736&quot; data-original-width=&quot;2867&quot; height=&quot;410&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZufNr8CCyQCL__5iOyAA3s7Y4EvbPdCeiS6awleUyY4PbcSyA9XEM0QoE2CG_9nC4tjP8b3aQ_ZKDodZiHuHKQNd0UFZdWxn6diIwgGflIrjk-Ig_RhS-zGCtsAuWKkhYZyW-tGT_eZYiJR9WzSVjlL7M5tqNg2KEj5ppmoMXh7GZCxix4GXx/w430-h410/IMG_20230820_110558_edit_707441632721217.jpg&quot; width=&quot;430&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;My more formal definition of the generalised case:&lt;/h3&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Task Encrypt grouping chars by mod M, N times:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Given an input string S; Some order of the K integers 0..K-1 called&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; M, where K &amp;lt;= length_of(S); and an integer N &amp;gt; 0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; First form groups:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Form group G[0] by concatenating every K&#39;th item of S starting from index 0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Form group G[1] by concatenating every K&#39;th item of S starting from index 1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Form group G[K-1] by concatenating every K&#39;th item of S starting from index K-1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Group Concatenation:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Concatenate all the groups G in the order given M to form the partial result P&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; P(1) = concatenate_left_to_right(G[i] for i in M)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Repetition:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Substituting P for S, repeat the above process N times to form the final&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; encrypted string P(N)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Corner cases:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If S is empty or N is 0 then return S.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; If M is empty return the empty version of sequence S (empty string).&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Examples:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;012345&#39;, [1, 0], 0) =&amp;gt; &#39;012345&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;012345&#39;, [1, 0], 1) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; &#39;135024&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;012345&#39;, [1, 0], 2) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; &#39;304152&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;012345&#39;, [1, 0], 3) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; &#39;012345&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;012345&#39;, [1, 0], 4) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; &#39;135024&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;01234567&#39;, [2, 1, 0], 0) =&amp;gt; &#39;01234567&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;01234567&#39;, [2, 1, 0], 1) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; &#39;25147036&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;01234567&#39;, [2, 1, 0], 2) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; &#39;10576243&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;01234567&#39;, [2, 1, 0], 3) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;=&amp;gt; &#39;52063174&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt6(&#39;01234567&#39;, [2, 1, 0], 4) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; =&amp;gt; &#39;01234567&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Past encryptions in its terms&lt;/h3&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Note that:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt(S, N), encrypt2(S, N) do encrypt6(S, [1, 0], N)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt3(S, N), encrypt4(S, N) do encrypt6(S, [0, 1], N)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; and&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; encrypt5(S, N), does encrypt6(S, [2, 1, 0], N)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Generalised Code&lt;/h2&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; typing &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; Sequence&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;encrypt6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: Sequence, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Supporting indexing and __add__ &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: Sequence[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# perm of ints 0..k-1, k &amp;lt;= len(s)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ) -&amp;gt; Sequence: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; m:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s)() &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Empty sequence&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; n &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (k:=&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(m)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(k)) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;set&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(m), \&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;List &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;m = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; should contain a permutation of all the numbers 0..&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;k&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; inclusive.&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; s_type &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#[0])&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;issubclass&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s_type, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(n):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(s[offset::k] &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; offset &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; m)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# non-strings&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; empty_val &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s_type()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; _ &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(n):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;((s[offset::k] &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; offset &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; m),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;empty_val)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;decrypt6&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: Sequence, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Supporting indexing and __add__ &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;m&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: Sequence[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;], &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# perm of ints 0..k-1, k &amp;lt;= len(s)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;n&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ) -&amp;gt; Sequence:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;By a reverse of the encoding&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Where the encoding maps ordered items&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; base &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;range&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s)))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; enc &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; encrypt6(base, m, n)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; enc:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; enc&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Return the revered mapping&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; s_type &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;issubclass&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(s_type, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(s[enc.index(i)] &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; base)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; empty_val &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; s_type()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;sum&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;((s[enc.index(i)] &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; i &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; base),&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;empty_val)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;END BIT.&lt;/b&gt;&lt;/p&gt;&lt;p&gt;I have looked into the number sequences produced by encrypt6, but this is already a long post so I&#39;ll leave that &#39;till next time&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/5356843088786102681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2023/08/generalising-simple-encryption-using.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/5356843088786102681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/5356843088786102681'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2023/08/generalising-simple-encryption-using.html' title='Generalising a simple encryption using Python'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMjvJ5cTfUiXYfO2hqUJqdG0q2nkPiz6bpz6kJJgHo1zKZZcIYpUoJ74mMULZeOQ4iKTNGX8wpRvLtBJaPxtVvu80YliwLlmzqsoHMuze0sPYEjx2BUrmVuY1MzrxedDQ2e_mZQpoR5jg7IhjUwLFmkoUm6zUZVjuvYwnWB4UzUETcQal1S3eK/s72-c/IMG_20230820_110353_edit_707480951713920.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-11149365.post-8559509044187385174</id><published>2023-08-19T10:04:00.000+01:00</published><updated>2023-08-19T10:04:09.105+01:00</updated><title type='text'>OEISify</title><content type='html'>&lt;p&gt;&lt;span style=&quot;font-size: small;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;Best read on larger than a phone screen &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #2b00fe;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;The title is a rather mean pun on ossify, but it stuck.&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;I had been creating series of integers from prior work, and had been looking them up, manually, on &lt;br /&gt;&lt;/p&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;https://oeis.org&quot; style=&quot;color: black;&quot;&gt;The On-Line Encyclopedia of Integer Sequences&lt;/a&gt;, OEIS.&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Work progressed and I was creating a table of related sequences and looked to automate the OEIS searches.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;I found a description of the textual internal format &lt;a href=&quot;https://oeis.org/eishelp1.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt; which seemed steraight-forward and &quot;awkable&quot; - meaning that the format is written in a way that a short awk program could parse. I did find a couple of old python libraries that said they did this, but I wanted to flex my parsing skills and this seemed an enticing.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;Mile high looking down&lt;/h2&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Checking that internal format, the example result seem to be of the form:&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: Source Code Pro;&quot;&gt;%&amp;lt;TAG&amp;gt; A&amp;lt;number&amp;gt; &amp;lt;value&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;To show search results in the internal format you need to make a slight change to a url:&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: Source Code Pro;&quot;&gt;https://oeis.org/search?&lt;span style=&quot;color: #2b00fe;&quot;&gt;&lt;b&gt;fmt=text&amp;amp;&lt;/b&gt;&lt;/span&gt;q=3%2C11%2C26%2C50%2C85 (&lt;a href=&quot;https://oeis.org/search?fmt=text&amp;amp;q=3%2C11%2C26%2C50%2C85&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;test&lt;/a&gt;)&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h3&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Reading the internal format in more detail&amp;nbsp;&lt;/span&gt;&lt;/h3&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;I saw that the &lt;i&gt;&lt;b&gt;%S %T and %U lines&lt;/b&gt;&lt;/i&gt; are all giving members of the sequence - there seems to be no reason to keep a distinction, I could parse and return all the values in order.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;The&lt;b&gt;&lt;i&gt; %p, %t, %o&lt;/i&gt;&lt;/b&gt; lines when you concatenate all of the same type, give program sources in three different languages. They can be treated similarly.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;the&lt;b&gt;&lt;i&gt; %k&lt;/i&gt;&lt;/b&gt; keywords are best returned as a list of strings.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;The other keywords, if they appear more than once in a sequence definition then subsequent values can append as new lines, accumulating a final value.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Extra Info given&lt;/span&gt;&lt;/h3&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;When you look at a search &lt;a href=&quot;https://oeis.org/search?fmt=text&amp;amp;q=3%2C11%2C26%2C50%2C85&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;result &lt;/a&gt;in text format you get a &lt;b&gt;Search:&lt;/b&gt; and &lt;b&gt;Showing &lt;/b&gt;line I might want to return this data and maybe also derive a Next entry from the details of Showing that is what is needed to generate the next page of results for the given search.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;The Regexp&lt;/span&gt;&lt;/h3&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Yep, I started with a regexp, so put a lot of sample text into regex101 as TEST STRING then&lt;a href=&quot;https://regex101.com/r/iNL0ve/2&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt; generated the regexp&lt;/a&gt; used in the program.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;The Output&lt;/span&gt;&lt;/h3&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;A Python dict with all string keys. Each found A-series will be a nested dict of keys corresponding to the %-letter tags.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;Keys Search, Showing and Next are about the search and so appear in the top dict.&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h1 style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;The Code: oeis_request.py&lt;br /&gt;&lt;/span&gt;&lt;/h1&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#!/bin/env python3&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# -*- coding: utf-8 -*-&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Module to search and return sequences from:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; The On-Line Encyclopedia of Integer Sequences® (OEIS®)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; https://oeis.org/&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; https://oeis.org/eishelp1.html&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Standalone Usage:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; oeis_request.py &amp;lt;query&amp;gt; &amp;lt;start&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; oeis_request.py --help&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; oeis_request.py --test&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;Created on Sat Aug 12 07:57:53 2023&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;@author: paddy3118, paddy3118.blogspot.com&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; pprint &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; pp&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; re&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ssl&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sys&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;from&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; typing &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; Any&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; urllib.request&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; urllib.parse&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;import&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; json &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# pylint: disable=W0611&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;URL &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;https://oeis.org/search&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;DBG &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;not&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;True&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;finditer &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; re.compile(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# https://regex101.com/r/iNL0ve/2&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(?:&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; Search: \s&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;?P&amp;lt;SEARCH&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; .&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(?:&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;?P&amp;lt;SHOWING&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; ^Showing\s.&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(?:&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; ^% &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;?P&amp;lt;_TAG&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;?P&amp;lt;SEQ&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;STU&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;?P&amp;lt;PROG&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;pto&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;]&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;?P&amp;lt;REST&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;A-Za-z&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;])&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; \s&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;+&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;?P&amp;lt;ANUMBER&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; A\d&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; \s&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;?P&amp;lt;VALUE&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; .&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, re.MULTILINE &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; re.VERBOSE).finditer&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;OEISTYPE &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; dict[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; dict[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; list[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]]]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;oeis_request&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;query&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;start&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; OEISTYPE:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Search OEIS for query returning a page of results from position start as a Python dict&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Parameters&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; ----------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; query : str&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; The OEIS query in a format consistent with https://oeis.org/hints.html.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; start : int, optional&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; page offset when multiple pages of results are available. The default is 0.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; -------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; dict[str, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # key0, top level keys: SEARCH, SHOWING, NEXT&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;str &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# string value,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| dict[ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# Or a nested dict for each sequence definition:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; str, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# key1, sequence level string keys,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; str | &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; # And either a string value,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; list[int &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# A list for the int Sequence,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| str]]] &amp;nbsp; &amp;nbsp; &amp;nbsp; # or a list of the str Keywords; as value.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returned Python datastructure representing the (page of) sequences found.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Top level keys are the &#39;SEARCH&#39; and what results are &#39;SHOWING&#39;, together&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; with the sequence numbers of returned sequences like &#39;A123456&#39; - which&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; all have one sub-dict as its value. Top level key &#39;NEXT&#39;, if present,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; has as its value the query and start value pre-computed to retrieve the&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; next page of results from oeis_request.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; All possible keys of a sequence sub-dict are the values of global variable&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RECORD_MAP&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# https://stackoverflow.com/a/60671292/10562&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Security risk as ssl cert checking is skipped for this function&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# pylint: disable=protected-access&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; tmp, ssl._create_default_https_context &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; ssl._create_default_https_context, \&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ssl._create_unverified_context&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# pylint: enable=protected-access&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; data &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; data[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;fmt&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;text&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; data[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;q&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; query&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; start:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;start&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; start&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; url_values &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; urllib.parse.urlencode(data)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; url &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; URL &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;?&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; url_values&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; DBG:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sys.stderr.write(url&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sys.stderr.flush()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;with&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; urllib.request.urlopen(url) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;as&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; req:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; txt &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;req.read().decode(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;utf8&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Restored:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; ssl._create_default_https_context &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; tmp &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# pylint: disable=protected-access&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; oeis_parser(txt)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;oeis_parser&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;text&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) -&amp;gt; dict[&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, Any]: &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# pylint: disable=too-many-branches&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Parse text formatted like https://oeis.org/eishelp1.html&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Parameters&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; ----------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; text : str&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; text returned from OEIS search.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; -------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; dict[str, Any]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parsed data&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; data &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; matchobj &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; finditer(text):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; group &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; matchobj.groupdict()&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; anumber &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; group[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;ANUMBER&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; anumber: &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Skip None&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adict &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; data.setdefault(anumber, {})&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;except&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;KeyError&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; anumber &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;try&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; group[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;VALUE&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;except&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;KeyError&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val:&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;group[key0:=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;SEARCH&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data[key0] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;elif&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val:&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;group[key0:=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;SHOWING&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data[key0] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;elif&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val:&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;group[key1:=&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;SEQ&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Concat all %S $T and %U lines as list[str]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adict.setdefault(key1, []).extend(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(v) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; v &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;in&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value.strip().strip(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;,&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;).split(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;,&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;elif&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val:&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;group[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;PROG&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Concat all individual %p %t %o lines as list[str]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adict.setdefault(RECORD_MAP[val], []).append(value.strip())&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;elif&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; (val:=group[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;REST&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]) &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;K&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Split and concat Keywords, %K lines as list[str]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adict.setdefault(RECORD_MAP[val], []).extend(value.strip().split(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;,&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;elif&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; val:&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;group[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;REST&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Concat other %_ lines as list[str]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; adict.setdefault(RECORD_MAP[val], []).append(value.strip())&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# Should never arrive here from the regexp!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;assert&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Got &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;group = &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# fixup&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; key, subd &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; data.items():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; key[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;A&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;issubclass&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(subd), &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;dict&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; record, value &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; subd.items():&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; record &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;!=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Keywords&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;issubclass&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(value), &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;list&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;) \&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;and&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;issubclass&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(value[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]), &lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;):&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; subd[record] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.join(value)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; next_from_showing(data)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; data&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;next_from_showing&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;parsed&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: OEISTYPE)-&amp;gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;None&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Parse &quot;SHOWING&quot; key to generate &quot;NEXT&quot; value that would request the next page&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; If already at the end then no next key is in data&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; parsed is altered in-place&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Parameters&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; ----------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; parsed : OEISTYPE&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Parsed data to insert a NEXT key/value.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; Returns&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; -------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; None.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; argument updated in-place&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;nbsp; &amp;nbsp; &quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; matchobj &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; re.match(&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;&quot;^Showing\s&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;\d&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;\d&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;\s&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;of\s&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;\d&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;\s&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;*&lt;/span&gt;&lt;span style=&quot;color: #d16969;&quot;&gt;$&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, parsed.get(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;SHOWING&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;))&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; matchobj:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _start, stop, end &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [&lt;/span&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;int&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(x) &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; x &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; matchobj.groups()]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; stop &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; end:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; search &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; parsed[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;SEARCH&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;].split(&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;:&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)[&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; parsed[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;NEXT&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;] &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [search, stop]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;return&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;NEXT&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; parsed:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;del&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; parsed[&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;NEXT&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;record_info &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%I A000001 Identification line (required)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%S A000001 First line of sequence (required)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%T A000001 2nd line of sequence.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%U A000001 3rd line of sequence.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%N A000001 Name (required)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%D A000001 Reference Detailed reference line.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%H A000001 Link to other site.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;%F&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; A000001 Formula .&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%Y A000001 Cross-references to other sequences.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%A A000001 Author (required)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%O A000001 Offset (required)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;%E&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; A000001 Etc Extensions, errors, etc.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;%e&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; A000001 Examples examples to illustrate initial terms.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%p A000001 Maple program.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%t A000001 Mathematica program.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;%o&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; A000001 OtherProgram in another language.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%K A000001 Keywords (required)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;%C A000001 Comments.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;.strip().splitlines()&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;RECORD_MAP &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; {words[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;][&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]: words[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; line &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; record_info&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; words &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; [line.split()]}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# pp(RECORD_MAP, sort_dicts=False)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;HELP &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;f&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;\&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;__doc__&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;function oeis_request&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;=====================&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;oeis_request.&lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;__doc__&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&quot;&quot;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;__name__&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;__main__&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;--help&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sys.argv:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(HELP)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sys.exit(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;--test&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;in&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sys.argv[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:]:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _req, _start &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;1,2,3,4,5,6,6,7,7,8&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;elif&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;len&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(sys.argv) &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;==&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _req, _start &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; sys.argv[&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:] &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# pylint: disable=W0632&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #c586c0;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;(HELP)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sys.exit(&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; _data &lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; oeis_request(_req, _start) &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;# pylint: disable=E0601&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; pp(_data, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;width&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;512&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;sort_dicts&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;False&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;#print(json.dumps(_data, indent=2))&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;Test output&lt;/h3&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #f44747;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; .&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;oeis_request.py &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;26&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;50&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;85&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;SEARCH&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;seq:3,11,26,50,85&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;SHOWING&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Showing 1-1 of 1&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;A051925&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Identification&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;#84 Jun 26 2022 03:06:23&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;SEQ&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;26&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;50&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;85&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;133&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;196&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;276&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;375&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;495&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;638&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;806&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1001&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1225&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1480&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1768&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2091&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2451&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2850&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3290&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3773&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4301&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4876&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5500&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6175&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;6903&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;7686&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;8526&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;9425&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10385&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;11408&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;12496&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;13651&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;14875&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;16170&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;17538&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;18981&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;20501&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;22100&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;23780&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Name&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;a(n) = n*(2*n+5)*(n-1)/6.&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Comments.&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Related to variance of number of inversions of a random permutation of n letters.&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Zero followed by partial sums of A005563. - _Klaus Brockhaus_, Oct 17 2008&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;a(n)/12 is the variance of the number of inversions of a random permutation of n letters. See evidence in Mathematica code below. - _Geoffrey Critzer_, May 15 2010&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;The sequence is related to A033487 by A033487(n-1) = n*a(n) - Sum_{i=0..n-1} a(i) = n*(n+1)*(n+2)*(n+3)/4. - _Bruno Berselli_, Apr 04 2012&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;Deleting the two 0&#39;s leaves row 2 of the convolution array A213750. - _Clark Kimberling_, Jun 20 2012&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;For n&amp;gt;=4, a(n-2) is the number of permutations of 1,2...,n with the distribution of up (1) - down (0) elements 0...0110 (the first n-4 zeros), or, the same, a(n-2) is up-down coefficient {n,6} (see comment in A060351). - _Vladimir Shevelev_, Feb 15 2014&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Reference&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;V. N. Sachkov, Probabilistic Methods in Combinatorial Analysis, Cambridge, 1997.&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Link&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Vincenzo Librandi, &amp;lt;a href=&quot;/A051925/b051925.txt&quot;&amp;gt;Table of n, a(n) for n = 0..1000&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;J. Wang and H. Li, &amp;lt;a href=&quot;http://dx.doi.org/10.1016/S0012-365X(01)00301-6&quot;&amp;gt;The upper bound of essential chromatic numbers of hypergraphs&amp;lt;/a&amp;gt;, Discr. Math. 254 (2002), 555-564.&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&amp;lt;a href=&quot;/index/Rec#order_04&quot;&amp;gt;Index entries for linear recurrences with constant coefficients&amp;lt;/a&amp;gt;, signature (4,-6,4,-1).&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Formula&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;a(n) = A000330(n) - n. - _Andrey Kostenko_, Nov 30 2008&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;G.f.: x^2*(3-x)/(1-x)^4. - _Colin Barker_, Apr 04 2012&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;a(n) = 4*a(n-1) - 6*a(n-2) + 4*a(n-3) - a(n-4). - _Vincenzo Librandi_, Apr 27 2012&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;E.g.f.: (x^2/6)*(2*x + 9)*exp(x). - _G. C. Greubel_, Jul 19 2017&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Mathematica&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;f[{x_, y_}] := 2 y - x^2; Table[f[Coefficient[ Series[Product[Sum[Exp[i t], {i, 0, m}], {m, 1, n - 1}]/n!, {t, 0, 2}], t, {1, 2}]], {n, 0, 41}]*12 (* _Geoffrey Critzer_, May 15 2010 *)&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;CoefficientList[Series[x^2*(3-x)/(1-x)^4,{x,0,50}],x] (* _Vincenzo Librandi_, Apr 27 2012 *)&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;OtherProgram&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;(PARI) {print1(a=0, &quot;,&quot;); for(n=0, 42, print1(a=a+(n+1)^2-1, &quot;,&quot;))} &lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\\\\&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt; _Klaus Brockhaus_, Oct 17 2008&lt;/span&gt;&lt;span style=&quot;color: #d7ba7d;&quot;&gt;\n&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;(Magma) I:=[0, 0, 3, 11]; [n le 4 select I[n] else 4*Self(n-1)-6*Self(n-2)+4*Self(n-3)-Self(n-4): n in [1..50]]; // _Vincenzo Librandi_, Apr 27 2012&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Cross-references&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Cf. A000330, A005563, A033487.&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Keywords&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;nonn&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;easy&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;],&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Offset&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;0,3&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Author&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;_N. J. A. Sloane_, Dec 19 1999&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;}}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #f44747;&quot;&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;h3 style=&quot;text-align: left;&quot;&gt;A test with paged results&lt;/h3&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;Highlighting the NEXT value of what is needed to get the next page of results&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;div style=&quot;background-color: #1f1f1f; color: #cccccc; font-family: Consolas, &#39;Courier New&#39;, monospace; font-size: 14px; font-weight: normal; line-height: 19px; white-space: pre;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #f44747;&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; .&lt;/span&gt;&lt;span style=&quot;color: #d4d4d4;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;oeis_request.py &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;SEARCH&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;seq:1,2,3,4,5&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;SHOWING&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Showing 1-10 of 7513&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;A000027&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Identification&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;M0472 N0173 #637 Aug 14 2023 15:10:40&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;A007953&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Identification&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;#280 Jun 18 2023 11:41:19&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;A000961&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;A002260&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: {&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;Identification&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;#205 Feb 03 2023 18:43:52&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;NEXT&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color: #ce9178;&quot;&gt;&#39;1,2,3,4,5&#39;&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color: #b5cea8;&quot;&gt;10&lt;/span&gt;&lt;span style=&quot;color: #cccccc;&quot;&gt;]}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: #f44747;&quot;&gt;$&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://paddy3118.blogspot.com/feeds/8559509044187385174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paddy3118.blogspot.com/2023/08/oeisify.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/8559509044187385174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11149365/posts/default/8559509044187385174'/><link rel='alternate' type='text/html' href='http://paddy3118.blogspot.com/2023/08/oeisify.html' title='OEISify'/><author><name>Paddy3118</name><uri>http://www.blogger.com/profile/06899509753521482267</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>