<snapdata remixID="10441210"><project name="U2L4-MathLibrary-mj" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAAAn5JREFUeF7t1zFKw2AAhuE/ECehQ+/Q9AAepwfr7Fk6tFM9UgRBcVFx6QvhyZrAR97/gZBpXdd1uBSICkwARuXNfhQAEIS0AIBpfuMAMpAWADDNbxxABtICAKb5jQPIQFoAwDS/cQAZSAsAmOY3DiADaQEA0/zGAWQgLQBgmt84gAykBQBM8xsHkIG0AIBpfuMAMpAWADDNbxxABtICAKb5jQPIQFoAwDS/cQAZSAsAmOY3DiADaQEA0/zGAWQgLQBgmt84gAykBQBM8xsHkIG0AIBpfuMAMpAWADDNbxxABtICAKb5jQPIQFoAwDS/cQAZSAsAmOY3DiADaQEA0/zGAWQgLQBgmt84gAykBQBM8xsHkIG0AIBpfuMAMpAWADDNbxxABtICAKb5jQPIQFoAwB/y73bzOJ9fx+l0Sg9o6+MA/nLC+/30dXeansft9jYOh8PWTTz0/QD8I/d3hJ+PzvPTOB5fxuVyfehhbXEMQABT1wD+4xN8vd7HsizpgW1tHEA/IalpANP8xgFkIC0AYJrfOIAMpAUATPMbB5CBtACAaX7jADKQFgAwzW8cQAbSAgCm+Y0DyEBaAMA0v3EAGUgLAJjmNw4gA2kBANP8xgFkIC0AYJrfOIAMpAUATPMbB5CBtACAaX7jADKQFgAwzW8cQAbSAgCm+Y0DyEBaAMA0v3EAGUgLAJjmNw4gA2kBANP8xgFkIC0AYJrfOIAMpAUATPMbB5CBtACAaX7jADKQFgAwzW8cQAbSAgCm+Y0DyEBaAMA0v3EAGUgLAJjmNw4gA2kBANP8xgFkIC0AYJrfOIAMpAUATPMbB5CBtACAaX7jADKQFgAwzW/8Ha1d8Khty7E7AAAAAElFTkSuQmCC</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="17,17,0,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="10"><custom-block s="is %n divisible by %n ?"><l></l><l></l></custom-block></script><script x="20" y="43"><custom-block s="even? %n"><l></l></custom-block></script><script x="20" y="76"><custom-block s="integer? %n"><l></l></custom-block></script><script x="20" y="109"><block s="clear"></block><block s="up"></block><block s="doForever"><script><block s="doGotoObject"><l><option>random position</option></l></block><block s="doIfElse"><l/><script><block s="setColor"><color>143,86,227,1</color></block></script><script><block s="setColor"><color>230,168,34,1</color></block></script></block><custom-block s="make a point"></custom-block></script></block></script><script x="20" y="316.16666666666674"><block s="reportEquals"><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="xPosition"></block><l>10</l></block></block><l>10</l></block><l>0</l></block></script><script x="20" y="362.0000000000001"><block s="reportEquals"><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="xPosition"></block><l>100</l></block></block><l>2</l></block><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="yPosition"></block><l>100</l></block></block><l>2</l></block></block></script><script x="20" y="434.66666666666686"><block s="reportEquals"><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="xPosition"></block><l>100</l></block></block><l>3</l></block><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="yPosition"></block><l>100</l></block></block><l>3</l></block></block></script><script x="20" y="507.3333333333335"><block s="reportEquals"><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="reportRelationTo"><l><option>direction</option></l><l>apple</l></block><l>20</l></block></block><l>2</l></block><l>0</l></block></script><script x="20" y="557.3333333333335"><block s="reportEquals"><block s="reportModulus"><block s="reportRound"><block s="reportQuotient"><block s="reportRelationTo"><l><option>distance</option></l><l>apple</l></block><l>20</l></block></block><l>2</l></block><l>0</l></block></script><script x="20" y="607.3333333333335"><block s="reportGreaterThan"><block s="reportRelationTo"><l><option>distance</option></l><l>apple</l></block><block s="reportRelationTo"><l><option>direction</option></l><l>apple</l></block></block></script><script x="20" y="645.3333333333335"><custom-block s="odd? %n"><l></l></custom-block></script><script x="231" y="10.399999999999977"><block s="reportModulus"><l>17</l><l>2</l></block></script></scripts></sprite><sprite name="apple" idx="2" x="0.5" y="-0.5" heading="90" scale="0.75" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="0,150.45,132.39599999999996,1" pen="tip" id="135"><costumes><list id="136"><item><costume name="apple" center-x="31" center-y="31.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJhcHBsZTEiIHg9IjBweCIgeT0iMHB4IiB3aWR0aD0iNjIuMjE4cHgiIGhlaWdodD0iNjMuMzc1cHgiIHZpZXdCb3g9IjAgMCA2Mi4yMTggNjMuMzc1IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA2Mi4yMTggNjMuMzc1IiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICA8Zz4KICAgIDxnIGlkPSJBcHBsZSI+CiAgICAgIDxwYXRoIGlkPSJGaWxsXzFfIiBmaWxsPSIjRUMxQzJDIiBkPSJNNTkuMDgzLDM0LjQwMmMwLDE0LjUyNy0xMi41MjUsMjYuMzA3LTI3Ljk3OCwyNi4zMDdjLTE1LjQ1MywwLTI3Ljk3Ny0xMS43NzUtMjcuOTc3LTI2LjMwNyYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAtMTQuNTI3LDEyLjUyMy0yMS4yNzUsMjcuOTc3LTIxLjI3NUM0Ni41NTcsMTMuMTI2LDU5LjA4MywxOS44NzYsNTkuMDgzLDM0LjQwMnoiLz4KICAgICAgPGcgaWQ9Ik91dGxpbmVfMV8iPgogICAgICAgIDxwYXRoIGlkPSJPdXRsaW5lXzJfIiBmaWxsPSIjMjMxRjIwIiBkPSJNMzQuMjg1LDExLjk2Yy00LjYwOC0wLjM5MS05LjEzNiwwLjE4OS05LjEzNiwwLjE4OUMxMC44MjEsMTMuNDczLDAsMTkuODgzLDAsMzQuMTIxJiN4RDsmI3hBOyYjeDk7JiN4OTsmI3g5O2MwLDE2LjE1NiwxMy45MjgsMjkuMjU0LDMxLjEwNywyOS4yNTRjMTcuMTgyLDAsMzEuMTA5LTEzLjA5OCwzMS4xMDktMjkuMjU0QzYyLjIxNiwxOC45NzcsNDkuOTY5LDEyLjY5LDM0LjI4NSwxMS45NnomI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7IE0zMS4xMDgsNTkuMzMzYy0xNC41NTksMC0yNi4zNTctMTEuMDk5LTI2LjM1Ny0yNC43ODVjMC0xMi4wNjQsOS4xNjktMTguNDMzLDIxLjMxNC0xOS43NzRjMC4yNDktMC4wMjksOC40NTYtMC4xNDQsOC40NTYtMC4xNDQmI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7YzEyLjk0MiwwLjkzNiwyMi45NDksNy4zMTgsMjIuOTQ5LDE5LjkyQzU3LjQ2NCw0OC4yMzYsNDUuNjY2LDU5LjMzMywzMS4xMDgsNTkuMzMzeiIvPgogICAgICAgIDxwYXRoIGlkPSJMaW5lIiBmaWxsPSIjMjMxRjIwIiBkPSJNNDAuMzMyLDE5LjA2MmMtMi4zMDMtMC43NjEtNC42MTctMC4yNDEtNi45MjksMC4zODljLTEuOTE2LDAuNjA4LTYuMTEyLDEuMTYyLTYuMTksMS4wOTgmI3hEOyYjeEE7JiN4OTsmI3g5OyYjeDk7Yy0xLjE5OC0wLjA1OC0yLjM4OS0wLjM1OC0zLjU3MS0xLjA5OWMtMC40OC0wLjMwMy0wLjk4MiwwLjM3OC0wLjU5OCwwLjc3M2MxLjc2OCwxLjgwMyw0LjA2OCwxLjc4Miw2LjQ1NSwxLjUxNCYjeEQ7JiN4QTsmI3g5OyYjeDk7JiN4OTtjMy41NzUtMC40MDEsNi45OTMtMC40OTEsMTAuNTYxLTAuNjcyQzQxLjIyLDIxLjAwNCw0MS40MzMsMTkuNDI2LDQwLjMzMiwxOS4wNjJ6Ii8+CiAgICAgIDwvZz4KICAgICAgPHBhdGggaWQ9IlNoaW5lIiBmaWxsPSIjRkZGRkZGIiBkPSJNMTIuNTU1LDM0LjI2MWMwLDMuNDMxLDEuODUsNi4yMTItMC4wODQsNi4yMTJjLTEuOTM0LDAtMy41LTIuNzgxLTMuNS02LjIxMiYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAtMy40MywxLjU2Ni02LjIxMSwzLjUtNi4yMTFDMTQuNDA1LDI4LjA1LDEyLjU1NSwzMC44MzIsMTIuNTU1LDM0LjI2MXoiLz4KICAgIDwvZz4KICAgIDxnIGlkPSJTdGVtIj4KICAgICAgPHBhdGggaWQ9IkZpbGwiIGZpbGw9IiM5OTY2MUQiIGQ9Ik0yOS41MTUsMjAuNzY2YzAuMzcxLTAuMDY2LDAuOTczLTAuMTMsMS4zNDgtMC4yMTljMC4wNjItNC44MjcsMC41MzgtOS42NDgtMS42MjQtMTQuMjEyJiN4RDsmI3hBOyYjeDk7JiN4OTtjLTAuNTkyLTEuMjUzLTEuMzMtMi4zNTQtMi4wNjQtMy40ODJjLTEuMDIsMC42MTEtMi4wMzgsMS4yMjMtMy4wNTksMS44MzNDMjguMzEsOC45ODIsMjkuNzczLDE0LjYxOCwyOS41MTUsMjAuNzY2eiIvPgogICAgICA8cGF0aCBpZD0iT3V0bGluZSIgZmlsbD0iIzIzMUYyMCIgZD0iTTI4LjYwMiwwLjZjLTAuMzkzLTAuNTIzLTEuMDc4LTAuNzgyLTEuNjU4LTAuNDM1Yy0xLjgwNSwxLjA4NC0zLjYwNywyLjE2OC01LjQxNCwzLjI1MiYjeEQ7JiN4QTsmI3g5OyYjeDk7Yy0wLjYzNywwLjM4My0wLjgzOCwxLjM3MS0wLjI0MiwxLjg5OGMzLjQ3NywzLjA5MSw0LjYxNyw2LjA0MSw0LjksNi41NTdjMC41OTIsMS4wODEsMS41OTIsNC41MzQsMS41NjIsNy43NDlsMC4wNDYsMS42MDkmI3hEOyYjeEE7JiN4OTsmI3g5O2MxLjQ3OSwwLjU2Miw1LjI1LTAuNTYyLDUuMjUtMC41NjJjMC4wMjEtMC4zNTQsMC4yNTEtMi4yMywwLjI1MS0yLjIzQzMzLjQ2NiwxNy42NzcsMzQuMTMsNy45NTgsMjguNjAyLDAuNnogTTMwLjc1NSwyMC4zOCYjeEQ7JiN4QTsmI3g5OyYjeDk7bC0xLjEwOSwwLjE0MXYtMS4xNTJjMC4wNS01LjcxNC0xLjU2OC0xMC42MjUtNS41My0xNC42ODNjMS4wMjEtMC42MSwyLjAzOS0xLjIyMiwzLjA1OS0xLjgzMyYjeEQ7JiN4QTsmI3g5OyYjeDk7YzAuNzM0LDEuMTI4LDEuNDcyLDIuMjI5LDIuMDY0LDMuNDgyYzIuMDEyLDQuMjQ3LDEuNjM0LDguMzc1LDEuNTIyLDEyLjgxN0wzMC43NTUsMjAuMzh6Ii8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4=" id="137"/></item></list></costumes><sounds><list struct="atomic" id="138"></list></sounds><blocks></blocks><variables></variables><scripts><script x="35.666666666666664" y="30.666666666666668"><block s="receiveKey"><l><option>up arrow</option></l></block><block s="show"></block></script><script x="39.333333333333336" y="90"><block s="receiveKey"><l><option>down arrow</option></l></block><block s="hide"></block></script><script x="42.333333333333336" y="171.33333333333334"><block s="setScale"><l>75</l></block></script></scripts></sprite></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="is %&apos;big&apos; divisible by %&apos;small&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportEquals"><block s="reportModulus"><block var="big"/><block var="small"/></block><l>0</l></block></block></script></block-definition><block-definition s="even? %&apos;number&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><custom-block s="is %n divisible by %n ?"><block var="number"/><l>2</l></custom-block></block></script></block-definition><block-definition s="integer? %&apos;number&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="number"/><block s="reportRound"><block var="number"/></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; ≤ %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportOr"><block s="reportLessThan"><block var="a"/><block var="b"/></block><block s="reportEquals"><block var="a"/><block var="b"/></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; ≥ %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportOr"><block s="reportGreaterThan"><block var="a"/><block var="b"/></block><block s="reportEquals"><block var="a"/><block var="b"/></block></block></block></script></block-definition><block-definition s="%&apos;a&apos; ≠ %&apos;b&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNot"><block s="reportEquals"><block var="a"/><block var="b"/></block></block></block></script></block-definition><block-definition s="is %&apos;mid&apos; between %&apos;low&apos; and %&apos;high&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportAnd"><custom-block s="%s ≥ %s"><block var="mid"/><block var="low"/></custom-block><custom-block s="%s ≤ %s"><block var="mid"/><block var="high"/></custom-block></block></block></script><scripts><comment x="14.666666666666666" y="88.8" w="304.6666666666667" collapsed="false">As the lab says, it&apos;s okay to use &quot;&gt;&quot; and &quot;&lt;&quot; instead of &quot;≥&quot; and &quot;≤.&quot;</comment></scripts></block-definition><block-definition s="odd? %&apos;number&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportNot"><custom-block s="is %n divisible by %n ?"><block var="number"/><l>2</l></custom-block></block></block></script></block-definition><block-definition s="divisors of %&apos;number&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="is %n divisible by %n ?"><block var="number"/><l></l></custom-block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block var="number"/></block></block></block></script></block-definition><block-definition s="number of divisors %&apos;number&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><custom-block s="divisors of %n"><block var="number"/></custom-block></block></block></script></block-definition><block-definition s="maximum of %&apos;a&apos; and %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportGreaterThan"><block var="a"/><block var="b"/></block><block var="a"/><block var="b"/></block></block></script><scripts><comment x="16" y="87.46666666666665" w="246.66666666666666" collapsed="false">The &quot;reporter IF&quot; used here is the simplest and most elegant solution, and you should show it to students when you debrief this lab, but you&apos;re more likely to get commands, e.g. this:</comment><script x="23" y="172.46666666666667"><block s="doIfElse"><block s="reportGreaterThan"><block var="a"/><block var="b"/></block><script><block s="doReport"><block var="a"/></block></script><script><block s="doReport"><block var="b"/></block></script></block></script></scripts></block-definition><block-definition s="minimum of %&apos;a&apos; and %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportLessThan"><block var="a"/><block var="b"/></block><block var="a"/><block var="b"/></block></block></script></block-definition><block-definition s="maximum of list %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><custom-block s="maximum of %n and %n"><l></l><l></l></custom-block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="minimum of list %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><custom-block s="minimum of %n and %n"><l></l><l></l></custom-block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="sum of list %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportSum"><l></l><l></l></block></autolambda><list></list></block></block></block></script></block-definition><block-definition s="average of list %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportQuotient"><custom-block s="sum of list %l"><block var="data"/></custom-block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block></script><scripts><comment x="14" y="88.8" w="289.3333333333333" collapsed="false">Important note:  It does NOT work to make a block that takes the average of two numbers and then do</comment><script x="19" y="151.13333333333333"><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><custom-block s="average of %n and %n"><l></l><l></l></custom-block></autolambda><list></list></block></block></block></script><script x="15" y="273.8"><block s="reportCombine"><block s="reportNewList"><list><l>5</l><l>100</l><l>200</l></list></block><block s="reifyReporter"><autolambda><custom-block s="average of %n and %n"><l></l><l></l></custom-block></autolambda><list></list></block></block></script><script x="15.333333333333334" y="306.46666666666664"><block s="reportCombine"><block s="reportNewList"><list><l>200</l><l>100</l><l>5</l></list></block><block s="reifyReporter"><autolambda><custom-block s="average of %n and %n"><l></l><l></l></custom-block></autolambda><list></list></block></block></script><comment x="18.333333333333332" y="190.80000399999997" w="303.3333333333333" collapsed="false">This will tempt students because it follows the pattern of the other exercises so far on this page.  But COMBINE can be used only with associative operators, which AVERAGE isn&apos;t.  The last number to be averaged in will have too much influence.  Try these:</comment></scripts></block-definition><block-definition s="average of %&apos;a&apos; and %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportSum"><block var="a"/><block var="b"/></block><l>2</l></block></block></script></block-definition><block-definition s="greatest common divisor of %&apos;a&apos; and %&apos;b&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><custom-block s="intersection %l %l"><custom-block s="divisors of %n"><block var="a"/></custom-block><custom-block s="divisors of %n"><block var="b"/></custom-block></custom-block></block></block></script><scripts><comment x="12" y="88.8" w="410" collapsed="false">The expected, and perfectly correct, solution would be</comment><script x="8" y="136.13333333333333"><block s="doReport"><custom-block s="maximum of list %l"><custom-block s="intersection %l %l"><custom-block s="divisors of %n"><block var="a"/></custom-block><custom-block s="divisors of %n"><block var="b"/></custom-block></custom-block></custom-block></block></script><comment x="12" y="173.73333333333338" w="411.3333333333333" collapsed="false">But DIVISORS OF reports a list of the divisors /in order/, and INTERSECTION doesn&apos;t change that, so we already know that the biggest value is at the end of the list.</comment></scripts></block-definition><block-definition s="intersection %&apos;lista&apos; %&apos;listb&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportListContainsItem"><block var="listb"/><l></l></block></autolambda><list></list></block><block var="lista"/></block></block></script><scripts><comment x="10.666666666666666" y="92.8" w="314.6666666666667" collapsed="false">This solution is a little counterintuitive, because it treats the two lists asymmetrically.  We start with LISTA and keep items from it that are also in LISTB.  So, expect students to have trouble thinking of this solution.</comment></scripts></block-definition><block-definition s="make a point" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="setSize"><l>5</l></block><block s="down"></block><block s="forward"><l>0</l></block><block s="up"></block></script></block-definition></blocks><variables></variables></project><media name="U2L4-MathLibrary-mj" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>