<snapdata remixID="9184190"><project name="U5L1P2-AnalyzingAndImprovingSearches" app="Snap! 5.4, http://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</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" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</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="1.5016719019149602" y="-1.0517782956732333" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,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="128" y="148"><custom-block s="position of number %n in sorted list %l"><l></l><l/></custom-block></script><script x="30" y="301"><custom-block s="Say position of number %n in sorted list %l"><l>7</l><block s="reportNewList"><list><l>3</l><l>7</l><l>9</l><l>5</l></list></block></custom-block></script><script x="65.12109475" y="66.000001"><custom-block s="position of number %n in unsorted list %l"><l>5</l><l/></custom-block></script><script x="240" y="260"><custom-block s="are the number of %l distinct"><l/></custom-block></script><script x="123.6416025625" y="170.80000100000012"><block s="reportListIsEmpty"><block var="data"/></block></script></scripts></sprite><watcher var="num" style="normal" x="6.853472222222308" y="6.853472222222216" color="243,118,29"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="position of number %&apos;value&apos; in unsorted list %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doFor"><l>i</l><l>1</l><block s="reportListLength"><block var="data"/></block><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><block var="i"/><block var="data"/></block><block var="value"/></block><script><block s="doReport"><block var="i"/></block></script></block></script></block><block s="doReport"><l>NIL</l></block></script></block-definition><block-definition s="position of number %&apos;number&apos; in sorted list %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>low</l><l>high</l><l>guess</l></list></block><block s="doSetVar"><l>low</l><l>1</l></block><block s="doSetVar"><l>high</l><block s="reportListLength"><block var="data"/></block></block><block s="doSetVar"><l>guess</l><block s="reportRound"><block s="reportQuotient"><block s="reportSum"><block var="low"/><block var="high"/></block><l>2</l></block></block></block><block s="doUntil"><block s="reportEquals"><block s="reportListItem"><block var="guess"/><block var="data"/></block><block var="number"/></block><script><block s="doIf"><block s="reportGreaterThan"><block var="low"/><block var="high"/></block><script><block s="doReport"><l>0</l></block></script></block><block s="doIfElse"><block s="reportGreaterThan"><block s="reportListItem"><block var="guess"/><block var="data"/></block><block var="number"/></block><script><block s="doSetVar"><l>high</l><block s="reportDifference"><block var="guess"/><l>1</l></block></block></script><script><block s="doSetVar"><l>low</l><block s="reportSum"><block var="guess"/><l>1</l></block></block></script></block><block s="doSetVar"><l>guess</l><block s="reportRound"><block s="reportQuotient"><block s="reportSum"><block var="low"/><block var="high"/></block><l>2</l></block></block></block></script></block><block s="doReport"><block var="guess"/></block></script></block-definition><block-definition s="Number guessing game" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="tell %s to %cs"><l>Sprite(2)</l><script><block s="bubble"><l>I&apos;m thinking of a number from 1 to 60.</l></block></script></custom-block><block s="doDeclareVariables"><list><l>secret number</l><l>number of guesses</l><l>guesses</l></list></block><block s="doSetVar"><l>secret number</l><block s="reportRandom"><l>1</l><l>60</l></block></block><block s="doSetVar"><l>number of guesses</l><l>0</l></block><block s="doSetVar"><l>guesses</l><block s="reportNewList"><list></list></block></block><block s="doUntil"><block s="reportEquals"><block s="getLastAnswer"></block><block var="secret number"/></block><script><block s="doAsk"><l>Guess my secret number.</l></block><block s="doAddToList"><block s="getLastAnswer"></block><block var="guesses"/></block><block s="doSetVar"><l>number of guesses</l><block s="reportSum"><block var="number of guesses"/><l>1</l></block></block><custom-block s="tell %s to %cs"><l>Sprite(2)</l><script><block s="bubble"><block var="guesses"/></block></script></custom-block><block s="doSayFor"><custom-block s="high or low answer: %n secret number: %n"><block s="getLastAnswer"></block><block var="secret number"/></custom-block><l>2</l></block></script></block><block s="doSayFor"><block s="reportJoinWords"><list><l>You guessed it in </l><block var="number of guesses"/><l> guesses.</l></list></block><l>3</l></block></script></block-definition><block-definition s="high or low answer: %&apos;answer&apos; secret number: %&apos;secret number&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportEquals"><block var="answer"/><block var="secret number"/></block><script><block s="doReport"><l>Yay!</l></block></script></block><block s="doIfElse"><block s="reportLessThan"><block var="answer"/><block var="secret number"/></block><script><block s="doReport"><l>too low</l></block></script><script><block s="doReport"><l>too high</l></block></script></block></script></block-definition><block-definition s="tell %&apos;sprite&apos; to %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s">Sprite</input><input type="%cs"></input></inputs><script><block s="doRun"><block s="reportAttributeOf"><block var="action"/><block var="sprite"/></block><list></list></block></script></block-definition><block-definition s="show buttons" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doBroadcast"><l>show</l></block></script></block-definition><block-definition s="hide buttons" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doBroadcast"><l>hide</l></block></script></block-definition><block-definition s="computer guess my number from %&apos;low&apos; to %&apos;high&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>solution</l><l>computer&apos;s guess</l><l>lowest number</l><l>highest number</l></list></block><block s="doSetVar"><l>lowest number</l><block var="low"/></block><block s="doSetVar"><l>highest number</l><block var="high"/></block><block s="doSetVar"><l>feedback for computer</l><l>3</l></block><block s="doUntil"><block s="reportEquals"><block var="feedback for computer"/><l>3</l></block><script><block s="doSetVar"><l>computer&apos;s guess</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportSum"><block var="lowest number"/><block var="highest number"/></block><l>2</l></block></block></block><block s="bubble"><block var="computer&apos;s guess"/></block><block s="doChangeVar"><l>number of guesses</l><l>1</l></block><block s="doWaitUntil"><block s="reportGreaterThan"><block var="feedback for computer"/><l>0</l></block></block><block s="doIfElse"><block s="reportEquals"><block var="feedback for computer"/><l>1</l></block><script><block s="doSetVar"><l>lowest number</l><block s="reportSum"><block var="computer&apos;s guess"/><l>1</l></block></block><block s="doSetVar"><l>feedback for computer</l><l>0</l></block></script><script><block s="doIf"><block s="reportEquals"><block var="feedback for computer"/><l>2</l></block><script><block s="doSetVar"><l>highest number</l><block s="reportDifference"><block var="computer&apos;s guess"/><l>1</l></block></block><block s="doSetVar"><l>feedback for computer</l><l>0</l></block></script></block></script></block></script></block></script></block-definition><block-definition s="Say position of number %&apos;number&apos; in sorted list %&apos;data&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>low</l><l>high</l><l>guess</l><l>counter</l></list></block><block s="doSetVar"><l>low</l><l>1</l></block><block s="doSetVar"><l>high</l><block s="reportListLength"><block var="data"/></block></block><block s="doSetVar"><l>guess</l><block s="reportRound"><block s="reportQuotient"><block s="reportSum"><block var="low"/><block var="high"/></block><l>2</l></block></block></block><block s="doSetVar"><l>counter</l><l>1</l></block><block s="doUntil"><block s="reportEquals"><block s="reportListItem"><block var="guess"/><block var="data"/></block><block var="number"/></block><script><block s="doIf"><block s="reportGreaterThan"><block var="low"/><block var="high"/></block><script><block s="doSayFor"><l>not in list ( or is not sorted)</l><l>3</l></block><block s="doReport"><l>0</l></block></script></block><block s="doIfElse"><block s="reportGreaterThan"><block s="reportListItem"><block var="guess"/><block var="data"/></block><block var="number"/></block><script><block s="doSetVar"><l>high</l><block s="reportDifference"><block var="guess"/><l>1</l></block></block></script><script><block s="doSetVar"><l>low</l><block s="reportSum"><block var="guess"/><l>1</l></block></block></script></block><block s="doSetVar"><l>guess</l><block s="reportRound"><block s="reportQuotient"><block s="reportSum"><block var="low"/><block var="high"/></block><l>2</l></block></block></block><block s="doChangeVar"><l>counter</l><l>1</l></block></script></block><block s="doSayFor"><block s="reportJoinWords"><list><l>position is </l><block var="guess"/><l>found in </l><block var="counter"/></list></block><l>5</l></block></script><scripts><script x="522" y="382"><block s="doReport"><block var="guess"/></block></script></scripts></block-definition><block-definition s="are the number of %&apos;data&apos; distinct?" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIfElse"><block s="reportListContainsItem"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doReport"><custom-block s="are the number of %l distinct?"><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="duplicates in %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIfElse"><custom-block s="empty %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doIfElse"><block s="reportListContainsItem"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></block><script><block s="doReport"><block s="reportCONS"><block s="reportCDR"><block var="data"/></block><custom-block s="duplicates in %l"><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="duplicates in %l"><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script></block-definition><block-definition s="e" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="are the number of %&apos;data&apos; distinct" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIfElse"><custom-block s="empty %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIfElse"><block s="reportListContainsItem"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doReport"><custom-block s="are the number of %l distinct?"><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block></script><scripts><script x="193.64160256249988" y="67.000001"><block s="reportListIsEmpty"><block var="data"/></block></script></scripts></block-definition><block-definition s="empty %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition></blocks><variables><variable name="num"><l>0</l></variable></variables></project><media name="U5L1P2-AnalyzingAndImprovingSearches" app="Snap! 5.4, http://snap.berkeley.edu" version="1"></media></snapdata>