ࡱ> 7 ;bjbjUU "7|7|6Ml>>>8>,*?T2AAAAA7E7E7E$̰ f?7ED7E7E7E?kLAATkLkLkL7EAAkL7EkLkL SmA~A n.o => L^9Hm j0RkLRmkLMultiple Choice. Pick the best response to each question. For questions 1 3 consider the following code segment: int[][] mat = new int[10][5]; 1. How many rows are there in the 2D array that mat refers to? A. 10B. 5C. 9D. 0E. None of these  2. How many columns are there in the 2D array that mat refers to? A. 10B. 5C. 4D. 0E. None of these  3. How many ints can be stored in the 2D array that mat refers to? A. 10B. 5 C. 50 D. 0E. None of these  4. What is the output of the following code segment? int[][] mat = new int[4][6]; System.out.println( mat[1][2] ); A. Syntax ErrorB. An ArrayIndexOutOfBoundsException occursC. 0 D. unknown outputE. None of these  5. What is the output of the following code segment? int[][] table = new String[3][10]; System.out.println( table[0][0].length() ); A. 0B. nullC. Syntax ErrorD. A NullPointerException occursE. None of these  6. What is the output of the following code segment? int[][] mat = {{1, 3, 5, 7}, {0, 0, 3, 0}, {5, 6, 10, 12}}; System.out.println( mat[2][3] ); A. 3B. 5C. 6 D. 10E. None of these  For questions 7 - 10 consider the following method: public int[][] process(int rows, int cols) { int[][] mat = new int[rows][cols]; for(int r = 0; r < mat.length; r++) { for(int c = 0; c < mat[0].length; c++) { if( c > r ) mat[r][c] = 2; else mat[r][c] = 1; } } } 7. Consider these potential preconditions for method process I. row > 0 II. col > 0 III. row > col Which of the above are the best preconditions for method process? A. I onlyB. II onlyC. III onlyD. I and II onlyE. I, II, and III  8. What would be returned by the call process(3, 2) ? A. {{1, 2}, {1, 1}, {1, 1}}B. {{2, 1}, {2, 2}, {2, 2}}C. {{2, 2}, {1, 2}, {1, 1}}D. {{1, 2, 2}, {1, 1, 2}}E. None of these  9. What would occur if one of the arguments to process is less than 0? A. Syntax errorB. Logic errorC. Runtime errorD. the method returns nullE. None of these  10. In method process how many times is the boolean expression (c > r) evaluated? A. cB. rC. c + rD. r - cE. None of these  For questions 11 - 14 consider the following method: //pre: mat != null, mat is a rectangular matrix public int process2(int[][] mat) { int result = -1; int y = 0; while( result == -1 && y < mat.length) { int x = 0; int count = 0; while( x < mat[0].length ) { if( mat[y][x] == 0 ) count++; x++; } if( count == mat[0].length ) result = y; y++; } return result; } 11. What is the output of the following code segment? int[][] mat = {{1, 0, 0}, {0, 0, 1}}; System.out.println( process2(mat) ); A. 1B. 0 C. -1D. 2E. None of these  12. What best describes what method process2 does? I. Returns the smallest row index for a row that contains all 0s. II. Returns the index of the row that contains the most 0s. III. Returns the number of 0s in the matrix. IV. Returns 1 if the matrix dos not have a row that contains all 0s. A. I onlyB. II onlyC. III onlyD. IV onlyE. I and IV only  13. In method process2 what is the minimum number of times the boolean expression ( mat[y][x] == 0 ) is evaluated assuming the preconditions are met? A. mat[0].lengthB. mat.lengthC. mat[0].length * mat.lengthD. 0E. None of these  14. As written the inner while loop of method process2 does more than is required. Which boolean expression could replace ( x < mat[0].length ) so that method process2 works the same, but the amount of work is minimized? I. ( count == x && x < mat[0].length ) II. ( count == x ) III. ( count != mat[0].length && x < mat[0].length ) A. I. onlyB. II onlyC. III onlyD. I or III onlyE. None of these  15. Consider the following code segment: int[][] mat = new int[2][3]; for(int r = 0; r < mat.length; r++) { for(int c = 0; c < mat[0].length; c++) { mat[r][c] = r * c; } } What are the contents of mat after the segment completes? A. {{0, 0, 0}, {0, 0, 0}}B. {{0, 0, 0}, {1, 1, 1}}C. {{0, 1, 2}, {0, 1, 2}}D. {{0, 0, 0}, {0, 1, 2}}E. None of these  16. Consider the following code segment: int[][] mat = new mat[3][3]; for(int i = 0; i < mat.length; r++) { mat[i][i] = 1; } What are the contents of mat after the segment completes? A. {{1, 0, 0}, {0, 0, 0}, {0, 0, 1}}B. {{1, 0, 0}, {0, 0, 0}, {0, 0, 1}}C. {{1, 0, 0}, {0, 0, 0}, {0, 0, 1}}D. {{1, 0, 0}, {0, 0, 0}, {0, 0, 1}}E. None of these  17. What is the output of the following code segment? int[][] mat = {{1, 3, 5}, {2, 7, 8}, {9, 4, 6}}; for(int i = 0; i < mat.length; i++) { System.out.print( mat[ mat.length i - 1][i] ); } A. 176B. 975C. 671D. 579E. None of these  18. What is the output of the following code segment? int[][] mat = {{1, 3}, {2, 7}, {9, 4}}; for(int i = 0; i < mat.length; i++) { System.out.print( mat[ mat.length i - 1][i] ); } A. 17B. 97C. Syntax errorD. An ArrayIndexOutOfBoundsException occursE. None of these For questions 19 23 consider the following portions of the Marine Biology Case Study. Only portions of classes are shown. [MBCS] public class BoundedEnv extends SquareEnvironment { private Locatable[][] theGrid; // grid representing the environment private int objectCount; // # of objects in current environment // Constructs an empty BoundedEnv object with the given dimensions. public BoundedEnv(int rows, int cols) { // Construct and initialize inherited attributes. super(); theGrid = new Locatable[rows][cols]; objectCount = 0; } public int numRows() { return theGrid.length; } public int numCols() { return theGrid[0].length; } public int numObjects() { return objectCount; } /** pre: none * Returns all the objects in this environment. * @return an array of all the environment objects **/ public Locatable[] allObjects() { Locatable[] theObjects = new Locatable[numObjects()]; int tempObjectCount = 0; // Look at all grid locations. for ( int r = 0; r < numRows(); r++ ) { for ( int c = 0; c < numCols(); c++ ) { // If there's an object at this location, put it in the array. Locatable obj = theGrid[r][c]; if ( obj != null ) { theObjects[tempObjectCount] = obj; tempObjectCount++; } } } return theObjects; } 19. [MBCS] What do elements in theGrid equal to null represent? A. the location of objects in the environmentB. empty cells in the environmentC. non existent cells in the environmentD. edge cells in the environmentE. None of these  20. [MBCS] Assume theGrid is a 20 by 20 matrix. Also assume there is a Fish object at location theGrid[1][8] known as f1 and a Fish object at location theGrid[7][3] known as f2. What is known about the indices of f1 and f2 in the resulting array? A. nothingB. they are equalC. the index of f1 is less than the index of f2D. the index of f2 is less than the index of f1E. None of these  21. [MBCS] What does the following quantity represent? ( theGrid.length * theGrid[0].length ) numObjects() A. the number of cells in the environmentB. the number of Fish in the environmentC. the number of empty cells in the environmentD. the number of non Fish objects in the environment E. None of these  22. [MBCS] The boolean expressions in the for loops in method allObjects are ( r < numRows() ) and ( c < numCols() ). What is the reason for calling methods numRows and numCols instead of simply using theGrid.length and theGrid[0].length ? I. To make the class harder to understand. II. To make the class more efficient. III. To make the class easier to maintain or change. A. I onlyB. II onlyC. III onlyD. I and II onlyE. II and III only  23. [MBCS] Consider the description of the allObjects method. If the for loops in the method are swapped how must the description of the returned value be changed? // Look at all grid locations. for ( int c = 0; r < numCols(); c++ ) { for ( int r = 0; r < numRows(); r++ ) { // rest of code A. No changes necessaryB. State the objects are not in sorted orderC. State the objects are in sorted orderD. State there may be null objects in the arrayE. None of these  24. Consider the following method: // pre: table != null, table.length > 0, table[0].length > 0 // table is a rectangular matrix public int process3(String[][] table) { int result = -1; int temp; for(int r = 0; r < table.length; r++) { for(int c = 0; c < table[0].length; c++) { temp = table[r][c].length(); if( temp > result ) result = temp; } } return result; } What does method process3 return? A. the String with the minimum length in tableB. the String with the maximum length in tableC. the length of the shortest String in tableD. the length of the longest String in tableE. None of these  25. Consider the following method: // pre: mat != null, mat.length > 1, mat[0].length > 1 // mat is a rectangular matrix public int process4(int[][] mat) { int temp = mat[0][0]; mat[0][0] = mat[1][1]; mat[1][1] = tmp; } Assume process4 is called with the following code: int[][] mat = {{5, 3}, {1, 2}}; process4(mat); What are the contents of mat after the call to process4? A. {{0, 0}, {0, 0}}B. {{5, 3}, {1, 2}}C. {{2, 3}, {1, 5}}D. {{5, 2} {1, 5}}E. None of these  26. [Review] What is the output of the following code segment? int x = 3; int y = 3; x *= x + y System.out.println(x); A. 6B. 18 C. 27 D. Syntax errorE. None of these27. [Review] Consider the following method: public void review(int a, int b) { int c = a; a = b; b = c; } What is the output of the following code segment? int x = 3; int y = 2; review(x, y) System.out.println(x + " " + y); A. 3 2B. 2 3C. 3 3D. 2 2E. None of these  28. [Review] Consider the following method: // pre: list != null, 0 <= a < list.length, 0 <= b < list.length public void review2(int[] list, int a, int b) { int c = list[a]; list[a] = list[b]; list[b] = c; } What is the output of the following code segment? int[] list = new int[5]; for(int i = 0; i < list.length; i++) list[i] = i * i; review2( list, 2, 1 ); System.out.println( list[1] + " " + list[2] ); A. 1 2B. 2 1C. 1 4D. 4 1E. None of these  29. [Review] What is the output of the following code segment? int x = 19; int y = 5; int z = x / y; System.out.println(z); A. Syntax errorB. 3.8C. 3D. 4E. None of these  30. All object variables in Java are: A. referencesB. nullC. primitivesD. local variablesE. None of these  Free Response Questions 1. Complete a method that takes a matrix of ints and returns a matrix of ints that is a mirror image of the original, rotated along the vertical axis. Given the following matrix:  0 1 2 3 column indices 071361237120542 row indices The following matrix would be returned:  0 1 2 3 column indices 063171173222450 row indices Complete the following method: public int[][] getMirrorImage(int[][] mat) { /* pre: mat != null, mat is a rectangular matrix (all rows have the same number of columns). post: return a mirror image of mat along the vertical axis. mat is unchanged by this method. */ // more room for free response question 1 2. The game of Battleship takes place on a grid where players place ships and then take turns taking shots on a grid. The positions of each player's ships is kept secret from the other player. If a player has no good guess as to where to take the next shot, one strategy is to pick the midpoint of the longest run of connected cells that have not been targeted yet. You will write a method that returns which row contains the longest run of connected cells that have not been targeted yet. The grid is represented as a 2 dimensional array of ints. Although the maximum run of untargeted cells could be in column instead of a row, you will write a method to determine which row has the longest run of untargeted cells. As an example consider the following grid which represents a player's shots against an opponent:  0 1 2 3 4 5 6 7 8 9 column indices 00000100000101010000002000210000030002011100400120000105000110000160000100000700001000008000012222290000100000 row indices A 0 indicates the cell has not been targeted with a shot. A 1 indicates the cell has been targeted with a shot and it was a miss. A 2 indicates the cell has been targeted with a shot and was a hit. In the example above the row with the longest run of untargeted cells is row 1. It has a run of 6 cells that have not been targeted. Note, you are looking for the row with the longest continuous run of untargeted cells, not merely the row that has the most untargeted cells. Your method shall return an integer equal to the row number with the longest continuous run of untargeted cells. If there is a tie then return the row number that is closest to 0. Complete the method on the following page. public int rowWithMaxUntargetedRun(int[][] grid) { /* pre: grid != null, grid.length > 1, grid is a rectangular matrix (all rows have the same number of columns). Each element of grid is equal to 0, 1, or 2. post: return the row with the largest consecutive run of cells in the matrix that are untargeted. If two or more rows tie for the row with the largest consecutive run of untargeted cells the method returns the row closest to 0. */ Topic Test Topic 2 - 2D Arrays Topic Test Topic 2 - 2D Arrays  PAGE 10 ;u25CjTU Z\dhZ\  H O P Q S \ n  & - W _ l o p t u y ~ %\z   ICJCJOJQJ^JCJOJQJ^JCJ\:;tuV$$Ifl,""04 la$If:;B\VV$If$$Iflrj U@,"04 laBCINSXij$IfV$$Ifl,""04 lajkl\VV$If$$Iflrj U@,"04 la$IfV$$Ifl,""04 laT\VVVV$If$$Iflrj U@,"04 laTU`k$IfV$$Ifl,""04 la  Z[\(VVVVV$If$$Iflr8@,"t04 la[\aiyD$IfV$$Ifl,""04 laZ[\VVVVV$If$$Iflr8$ x@,"T 04 la[\aflr$IfV$$Ifl,""04 la 1 k ~ \ZTTTTTTT$If$$Iflrj U@,"04 la   Q R S ] h t V$$Ifl,""04 la$If$If \VV$If$$Iflrj U@,"04 la  > \ m n t$IfV$$Ifl,""04 lan o p \(VVV$If$$Iflrj U,"X04 la    x$IfV$$Ifl,""04 la   j k \TVVV$If$$Iflr@ @," T 04 lak l q v  $IfV$$Ifl,""04 la  % 8 z \ZTTNNNN$If$If$$Iflrj U@,"04 laz "$%[\wV$$Ifl,""04 la $If$If$IfV$$Iflrj U@,"04 la$If     ,7HIV$$Ifl,""04 la$If IJK\lVVV$If$$Iflrj U@,"04 laIYa$<=?muGFZ!5<FJX MQes|~, . I K \ ^ CJOJQJ^JCJOJQJ^JCJCJOJQJ^JCJX%*;<`$IfV$$Ifl,""04 la<=?G\ZTTNT$If$If$$Iflr,<,"(p 04 la$IfV$$Ifl,""04 la$I\VVVVVVV$If$$Iflrj U@,"04 la (FXY0$IfV$$Ifl,""04 laYZ[\VVVVV$If$$Iflr<,"t04 la8Get $IfV$$Ifl,""04 la \TVVVVVV$If$$Iflr<,"t04 la$IfV$$Ifl,""04 la \4VVVVV$If$$Iflrj U@,"04 la$IfV$$Ifl,""04 laZ[\VVVVVVVV$If$$IflrT @,"<T04 la G`fg01X6Gj$If VWXV$$Ifl,""04 la$If\VVV$If$$Iflrp4,"TpT04 la  L | @$IfV$$Ifl,""04 la^ y { !!\mnopjklqv % 8 z   " $ % [ \ w    , 7 H I J K   % * ; < = ? G$I (FXYZ[8Get Z[G`fg01X6Gj VWX L|+TJKLVam~8 9 ` (!Q!!!!!!!!!"W"""## ###"#E#F#G#v###$$$$$7$8$o$$$$$$$,%T%e%%%%%%%%&&&&T&U&a&&&&&&&&&&&&&8'9'k'l'x''''''''''''((\(((((((()5)))))))))))) * **N*O*P*`*g*l*q****************++++++++++++++++,,,,, , ,,,,,,,G,H,m,o,q,s,u,w,x,z,|,~,,,,,,,,,,,,,,,,K-----L/M/0011F1H1J1L1N1P1R1T1V1X1Z1\1]1_1a1c1e1g1i1k1m1o1q1s1t1v1x1z1|1~1111111111111111111111111111111111111111111111111111111111111111111122222 2 22222222222!2#2%2'2)2+2,2.2/2;2<23344444+5k556666666667700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000@00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000@0@0@0@0@0@0@0@0@0@0@0@00@000000@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0000000000000@0@0@00@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@00@0@0@0@0@00@0@0@0@00@0000@0@0@0@0@0@0 0 LLLOI^ P.:; :K^oBjT[[ n  k z I<Y !!K##$%&((***++,-O....// 0G0w000Z5555!6:;!#$%&'()*+,-./0123456789;<=>?@ABCDEFGHIJLMNOPQRSTUVWXYZ[\]_`abcdefghijklmn;"?FIO!T8@4(  NB  S DNB @ S DNB  S DNB @ S DNB  S DNB @ S DB S  ?+,H,,1,27 t#?t t#?tdxxt#?tx|2Dr.@~2D *<=CDVWcdvw  XYopyz` j   $ 8BTU[\no~abhilvxy^_efisuv}&1w")OZv}  *u|!$'.23\_~ 5<el ")458?lsxr s } !!v""""""""""M$W$$$z&&''' '+','/'0'3'4''''''':(E(L(M(P([((((((((((())) )#).)0)1)<)=)A)B)E)F)a)s)7*I*?+C+\+`+,,--/055C5N5677++L--66666666777 Mike Scott9C:\307\AP version\Topic2_2DArrays\Topic2_2DArraysTest.doc Mike Scott9C:\307\AP version\Topic2_2DArrays\Topic2_2DArraysTest.doc Mike ScottmC:\Documents and Settings\scottm\Application Data\Microsoft\Word\AutoRecovery save of Topic2_2DArraysTest.asd Mike Scott9C:\307\AP version\Topic2_2DArrays\Topic2_2DArraysTest.doc Mike Scott9C:\307\AP version\Topic2_2DArrays\Topic2_2DArraysTest.doc Mike ScottmC:\Documents and Settings\scottm\Application Data\Microsoft\Word\AutoRecovery save of Topic2_2DArraysTest.asd Mike Scott9C:\307\AP version\Topic2_2DArrays\Topic2_2DArraysTest.doc Mike Scott9C:\307\AP version\Topic2_2DArrays\Topic2_2DArraysTest.doc Mike ScottmC:\Documents and Settings\scottm\Application Data\Microsoft\Word\AutoRecovery save of Topic2_2DArraysTest.asd Mike Scott9C:\307\AP version\Topic2_2DArrays\Topic2_2DArraysTest.doc! ]\a[VY&8uˠ$Dz8T28b!!"h^<in$l$1'\=o@'23!U)>>WJc2*F.gM7X/9~7zXF:>4PW<=[=( r@2;'D>svD"f`E ? gF\P*F GlNQcM^\$Nxj{O ,<j}\pj7?g0lo0l+fq(_4uPm~}ؐ<h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.88^8`. ^`OJQJo(o pp^p`OJQJo( @ @ ^@ `OJQJo( ^`OJQJo(o ^`OJQJo( ^`OJQJo( ^`OJQJo(o PP^P`OJQJo(88^8`56B*CJOJQJo(ph ^`OJQJo(o pp^p`OJQJo( @ @ ^@ `OJQJo( ^`OJQJo(o ^`OJQJo( ^`OJQJo( ^`OJQJo(o PP^P`OJQJo(h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.h^`.h^`.hpLp^p`L.h@ @ ^@ `.h^`.hL^`L.h^`.h^`.hPLP^P`L.!o7?g!U)j}\1'PW<8uf`EY"hin$Jc2/9gM7T=o@'[=vD+fq ]{O G~}QcMXF:$Dza[gF!;'D4ur@\$N!!                                                                                                                                                                                                                                                                                                        ;BCINSXjkTUk[\aiy[\aflrRS]ht>\noklqv  , 7 I J  % * < = ?  (FYZGtWX L|+TKLVam~ (!Q!!!!!F#G#v###$$$%%%%%%&&&&&&&&&&''''''''))))))))O*P*`*g*l*q***********++++++++++,,,,, , ,,,m,o,q,s,u,w,x,z,|,~,,,,,,,,,,F1H1J1L1N1P1R1T1V1X1Z1\1]1_1a1c1e1g1i1k1m1o1q1s1t1v1x1z1|1~1111111111111111111111111111111111111111111111111111111111111111111122222 2 22222222222!2#2%2'2)2+2,27@--)F--7 @UnknownGz Times New Roman5Symbol3& z Arial?5 z Courier New;Wingdings"qh$"q<&>-`q0df7 2Q Topic Test Mike Scott Mike ScottOh+'0x  4 @ LX`hp Topic Testopi Mike Scottikeike Normal.dot Mike Scott62eMicrosoft Word 9.0@9{I@a @po -՜.+,0 hp  U of T`f7  Topic Test Title  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoprstuvwxyz{}~Root Entry Fo Data q1Table|RWordDocument"SummaryInformation(DocumentSummaryInformation8CompObjjObjectPoolo o   FMicrosoft Word Document MSWordDocWord.Document.89q