ࡱ> RTOPQs5@ }bjbj22 XXI|2222RRRf8$ df zp:$$L]w REROi]OO22$L O|2@$(RLOQrR Ln e.˻ "0 "Dff2222"R"ū٫vffjDffjIntroduction and basic C++ programming Getting Started: Attendance Syllabus Handouts bloodshed c++ & turingscraft/codelab Compiler bloodshed c++ on my webpage url to download the free compiler. Code Lab Steps to enroll in and start using turning's craft Go to the following address:  HYPERLINK "http://www.turingscraft.com/" http://www.turingscraft.com/ click on register student continue your access code is CUN-BRO-6465-2210 university is CUNY-brooklyn type in the email address you want to use (real) select a password enter your first and last names accept the agreement you are taken to the exercises please start working on them I will put up due dates also, please let me know if the process works High-level  Compiler Languages (closer to human languages assembly low level closer to machine language) More Englishlike, more natural. Each high-level language statement translates to several low-level language statements. Use compilers to translate from the highlevel language into machine language. Compilers translate the whole program first, then execute the object program. A compiler language is a high-level language which is machine-independent. High-level languages are more English-like, easier to code, more costly to run, less flexible. e.g., FORTRAN, BASIC, COBOL, PL/1, ALGOL, APL, Pascal, SIMSCRIPT, Smalltalk, C, C++, Java. A compiler is a translator program that transforms high-level program code into a low-level machine-level executable program.   C++ Programming Every programming language has facilities to: in C++ Read data from some input device cin >> Write output information onto an output device cout << Perform arithmetic operations + - * / Perform relational operations < == > Perform logical operations ! && || Branch to a non-sequential instruction (w/wo structure) while Store (and retrieve) data values to (and from) memory = Homework Running a simple C++ program in Bloodshed Dev-C++ Bloodshed Dev-C++ provides an integrated environment for writing programs. "Integrated environment" means Dev-C++ is a combination program, consisting of a text editor and a C++ compiler. A text editor is a limited word processing program that allows you to type in your program, make corrections and changes, and save and retrieve your program from disk storage. The editor is integrated with the Dev-C++ compiler so that you can easily switch between editing your program and compiling and running it. Note that the Dev-C++ compiler allows you to write, compile and run programs in either C or C++. When you are in the Dev-C++ environment, 1. Select File | New | Source file.  2. Type in program 3. Right BEFORE the line that says return 0; type this: system("pause");(pause can be lowercase or caps) This line will keep the output window open when the program has finished executing. Enter the following program into the program1.cpp file window. Every C++ program we write will start with a comment followed by these three lines. // hello.cpp // A First Program in C++ #include using namespace std; int main() { cout << "Hello. My name is Big Bird.\n"; system(pause); return 0; //indicates that the program ended successfully } 4. Save the file by selecting File | Save as , and name the file (something like a1.cpp). 5. Select Execute | Compile and Run (or press F9). You should get an output window like this:  6. To print the output, a. Right-click in top bar of output window and choose Select All. b. Then right-click again and click Copy. c. Go back into the editor, select File | New | Source File. d. In the new window, right-click and select Paste. e. Then use File | Print to print this window. 7. Go to the source file window and select File | Print to print the source file. 8. Click the X in the top right corner to exit the program. You have just written (OK, typed) and run your first C++ program! (Whew!) Some Parts of the Program // hello.cpp // A First Program in C++ #include using namespace std; int main() { cout << "Hello. My name is Big Bird.\n"; system(pause); return 0; //indicates that the program ended successfully } (1) comments - At the beginning of each program is a comment, a short description of the problem to be solved. The comment explains the program. The comment is not strictly necessary because a program without it is technically correct. But comments are considered the single most important part of good programming style. Note that each line of the comment begins with //. Once the symbols // are seen by the C++ compiler, everything to the right is ignored. (also can have comments that look like this /* */ (if forget last ones what do you think happens?) (2) Preprocessor directive - Tells the pre-processor to include in the program the contents of the I/O stream header file called iostream.h. This allows us to use standard stream input and output objects like cout (displays to the screen). Any line in a program that starts with # is an instruction to the compiler, not an actual statement in the C++ language. The line containing #include tells the compiler to allow our program to perform standard input and output operations. Because these operations are so basic, this line of code will appear in all the programs we write. The #include directive tells the compiler that we will be using parts of the standard function library. A function is a building block of a program; typically each function performs one particular task. Information about these functions is contained in a series of header files. In our case, we want the header file called iostream to be included in our program; iostream is short for input/output stream. C++ divides names into namespaces. Using namespace std is called a using directive. This using directive says that the program is using the std (standard) namespace. The names you use will have the meaning defined for them in the std namespace. The line "using namespace std;" allows us to use certain shortcuts, for example to shorten the name of the header file from iostream.h to the simpler iostream. (It also allows the use of string instead of having to say std::string). (3) int main( ) main program header - The third line after the comment, int main(), is called the main program header. Every C++ program has at least one function, called main. Program execution begins with the first statement in main. The word int says that this program will return an integer (more about this below), and the empty set of parentheses indicates that the main function will not be sent any information from the outside. (4) { brackets denote the body of the function } (5) ; statement terminator Every C++ statement must end with a semicolon. (6) << stream insertion operator Expression to the right of the operator is inserted (sent) to the cout object (the display screen). (7) \n newline escape sequence The backslash is an escape character. The character following it takes on a different meaning. eg, \t - tab \a - alert; ring bell \\ - prints a backslash \ - prints a double quotation mark (8) return - exits from the function In this case control over execution is transferred back to the operating system. Stored Data Int n; Variable a name for a physical location within the computer that can hold one value at a time. (As the name implies, a variable can change its value (e.g. from 4 to 5). Variables must be declared as a certain type, e.g., int, float, char, This declaration may appear anywhere in the program before the variable is first used. The declaration creates the object. Literals - Values, such as a number or text string, that are written literally as part of program code. The opposite of a literal is a variable. Mnemonic names are useful like if the variable n is a number from 4 to 9, you can call it number. Or if its to hold sum, you can call it sum. int n; Semicolon terminates every C++ statement. The name of the object is n, the type [or class] is int. The object does not yet have a value. n = 66; //now it has a value = n is assigned the value 66. (different than mathematical equal sign). or int n=66; //declaration can be anywhere in the program (can have more than one variable on the same line int i, j;) Names (identifiers) - Names should be meaningful to help document your program. may use letters, digits, underscores. No spaces. may not begin with a digit may be any length but better if less than 31 characters long. C++ is case sensitive; upper and lower case letters are different. no reserved words (e.g., const, void, int, ). Avoid using names beginning with _ (underscore) or __ (double underscore). The C++ compiler uses names like that for special purposes. varname = expr; price = cost + 3; If price is initially 7 and cost is 5 what is price after this statement? 8 In C++, double is the primary data type for real numbers. This data type permits decimal places; in addition, it can represent numbers that are extremely large or small. C++ relies on the individual compiler and its implementation on a specific machine to determine the limits of data types. The range of numbers that can be represented by data type int is about five billion; type long int (usually abbreviated as long) has an even larger range of integers. A variable with data type double can store a much wider range of values and includes numbers with many decimal places. The exact range varies from compiler to compiler, but almost all allow numbers like positive or negative values ranging from 1.0 10-30 or 1.0 1030, which are infinitesimal and enormous. C++ has another data type, float, which can also hold floating point numbers but in a smaller range. Although our numbers fit comfortably into variables of type float, well use the larger type double as is commonly done in C++. Division: Division in arithmetic is normally --a -- or a b, but in C++, division is indicated by a b slash (/). More precisely, a/b means a divided by b. Here are some examples: If a is 10 and b is 5, then a/b is 2. If a is 11 and b is 4, then a/b is 2 (the fractional part of the answer is lost). If a is 10, then a/4. is 2.5 (in this case, the entire answer is kept). If a is 4, then 10.0/a is 2.5 (the entire answer is kept). If dist is 3.6 and hours is 2.4 then dist/hours is 1.5. In these examples, the result of division, called the quotient, is sometimes an integer and sometimes not. If either (or both) operand is not an integer (e.g., 10.6/2.3, 10.6/2, or even 10/2.0), the division will work as it does in arithmetic, and the quotient will have decimal places. However, if one integer is divided by another, C++ uses integer division to find the quotient. This value is always an integer since any fractional part of the quotient is chopped off. Because the fractional part of the answer is lost in integer division, C++ has a modulus or remainder operator, denoted by %, that will give the remainder when one integer is divided by another. For example, if c is 10 and d is 6, then c % d is 4. As another example, 26 % 5 is 1. Also 5 % 6 is 5. In general, x % y gives the remainder when x is divided by y. (The calculations can be tricky if one or both of the values is negative. See Exercise 11 for more details.) Of course, for both of these operations (/ and %), it is understood that the second operand cannot be 0 to avoid the obvious problem of dividing by 0. A simple C++ program This program: // Calculates the mean of three numbers. #include using namespace std; //need this to drop .h int main() { cout << "First Arithmetic Program" << endl; cout << (12+5+10)/3 << endl; system("pause"); return 0; } produces this output: First Arithmetic Program by Big Bird. 9 Press any key to continue . . . (6) << stream insertion operator Expression to the right of the operator is inserted (sent) to the screen. Now, lets try using a variable to store the mean before printing it. // This program calculates the mean of three numbers. // Big Bird learns about variables. #include using namespace std; int main() { double mean; cout << "Second Arithmetic Program by Big Bird.\n\n"; mean = (12+5+10)/3; cout << mean << endl; system(pause); return 0; } Output:  Try a different set of three numbers. Edit the program and run it again. // calculates the mean of three numbers. // Big Bird tries new data. #include using namespace std; int main() { double mean; cout << "Third Arithmetic Program by Big Bird.\n\n"; mean = (11+5+10)/3; cout << mean < using namespace std; int main() { double mean; cout << "Fourth Arithmetic Program by Big Bird.\n\n"; mean = (11+5+10)/3.0; cout << mean; return 0; } //end main Output [thats better!]: Third Arithmetic Program by Big Bird. 8.66667 Press any key to continue . . . (C++ Program Phases: in the C++ programming environment Edit - Text editor window. Save with .cpp extension Preprocess - e.g., text replacement, including other library files with the file to be compiled Compile - to object code Link - links the object code with the code for the standard library functions referred to in the program. This produces an executable image (with no missing pieces). During Build process Load - program is placed in memory Execute - one instruction at a time) Debugging Youve done a program compiled A bug is an error in a program. Debugging is the process of finding and removing errors from a program. (why called a bug?) 1945 - Grace Murray Hopper, working on the Mark II computer, a computer failure was traced to a moth that had become wedged between relay contacts. She taped the moth into the logbook that was the first case of a bug being found.) (trick grasshopper) There are various types of errors that a program might have: compilation, execution, and logic errors. I Compilation Errors: Errors caught by the compiler while it is translating your program into machine language before running it. Compilation errors caused by mistakes in the syntax of a statement are called syntax errors. Examples: a = (b + 1 / 3; // missing parenthesis) x + 3 = 5; (expression on the left of an assignment statement) x = 5 // missing semicolon (for spelled fir)//fir(i=1; i< 5; i++) (misspelled) Linker Errors errors discovered in the second phase. Phase is handled by the linker the program that connects your program with the standard libraries. If you use a library function, the compiler looks for it in the standard library during the link phase of copilation. If it doesnt find the function (either its misspelled or doesnt exist), error message. Ex: Cuot << num; //misspelled II Execution Errors or run-time errors: Not caught by the compiler. Detected once the program is running. Ex. suppose that your program attempts to divide by a variable whose value is zero. The compiler will not object to the expression, but the computer will not be able to execute it. Your program will normally stop at the error and display and error message. Execution errors are more serious than compiler errors and can cause your machine to hang or not give off error messages. III Logic Errors Hardest to catch. Each statement may be valid in C++ and acceptable to the compiler. The program may run without causing any execution error, but the answer may be wrong. Ex. initializing a variable to 1 instead of 0, multiplying by 2 instead of 3, or using an incorrect formula. The mistake may be hard to find since it wont generate an error. You have to catch this kind of error by testing the program on all possible sets of data. Also, many statements that look like compilation errors are actually valid c++ statements and the compiler wont think its an error: Ex. x = = x+3; Even if you meant to use the assignment operator. Another example is previous program / 3. Arithmetic Operators Addition + Subtraction ( Multiplication * Division / (is integer division if operators are integers) Modulus % (remainder) e.g., if the value of is to be assigned to variable x, it is coded: x = b + c - d * e / f; Parentheses may be used. These are evaluated first. e.g., x = (b + c - d)* e / f; is evaluated as:  order of operations ( ) * / % + - left to right ex. z= p*r%q+w/x-y; Order of operations? Z=P*R%Q+W/X-Y;612435 Operator Precedence OperatorAssociativityType( )L ( Rparenthesis ++ + !R ( Lunary operators* ? %L ( Rmultiplicative+ L ( Radditive<< >> L ( Rinsertion< <= > >=L ( Rrelational= = !=L ( Requality&&L ( Rand||L ( Ror?:R ( Lconditional= += = *= /= %=R ( Lassignment Exercise: For each of the following arithmetic expressions, construct the equivalent C++ expression.  EMBED Equation.3  ___(a + b) / (c d)_____________  EMBED Equation.3  ____(a+b) / (c * c)________________  EMBED Equation.3  _____d (a + b) / (4 * c)_____  EMBED Equation.3  ______(b*b 4*a*c) / (2 * a)___________  EMBED Equation.3  ______a / (b + c / (d a))_________ A Simple Program Using Stored Data and Arithmetic // from Schaum's ex 1.26 p. 27 // Prints the sum, difference, etc. of given integers. #include using namespace std; int main(){ int m = 6, n = 7; cout << "The integers are " << m << " and " << n << endl; cout << "Their sum is " << (m+n) << endl; cout << "Their difference is " << (m-n) << endl; cout << "Their product is " << (m*n) << endl; cout << "Their quotient is " << (m/n) << endl; cout << "Their remainder is " << (m%n) << endl << endl << endl; system(pause); return 0; } Trace this program. The integers are 6 and 7 Their sum is 13 Their difference is -1 Their product is 42 Their quotient is 0 Their remainder is 6 Press any key to continue . . . Assignment c = c + 3; same as c +=3; The += operation adds the value of the expression of the right to the value of the variable on the left and stores the result in the variable on the left. In general, = op ; can be written as: op = ; Examples: c (= 4; same as c = c ( 4; c *= 5; same as c = c *5; c /= 6; same as c = c /6; Can we reverse the order of the double operator? e.g.: c =( 4; No. This simply is the same as the assignment c = (4; For loops Here is an example of a simple for loop that will print the numbers from 1 to 5. int i; for (i = 1; i <= 5; i = i + 1) // header of the loop cout << i << endl; // body of the loop Note that the header does not end in a semicolon because by itself it is not a complete C++ statement, just as the header of a main program is not one. The header is always followed by something called the body of the loop. The header together with the body is a complete C++ statement. This simple for loop starts by giving an initial value to a variable (in our example, i), which we will call the index or control variable. The process of giving a variable an initial value is called initialization, and we say that i is initialized to 1. The for loop tells the computer to repeat the body of the loop, which in our example contains the single cout instruction, for several values of i. In this case, it will output the value i for i = 1, 2, 3, 4, and 5. The for loop header specifies three things, separated by semicolons: what initial value to use, what test determines whether or not the loop should continue, and how the loop control variable should change (in this case, increment) each time through the body of the loop. initial value increment for loop header: for (i = 1; i <= 5; i = i + 1) test whether to continue the loop The for loop header is followed by the body of the loop. We are allowed to specify one statement that will be executed each time through the loop. In this case, that one statement is cout. Each time through the body of the loop, the current value of i is sent to cout. Then the new value of i, which is obtained by adding 1 to the previous value of i, is used to test the condition controlling the loop. CAUTION: Even though the increment step (i = i + 1) is contained in the header, it is executed after the body of the loop on each pass. Tracing the for Loop Now let's go step by step through the for loop. Going step by step is called tracing or hand simulating a program and is an extremely important programming tool. PROGRAM TRACE: The variable i starts at 1, which is compared to the final value of 5. Since 1 is less than or equal to 5, the program enters the body of the loop and sends the value of i to cout, printing 1. This completes the first pass through the for loop. Then we increment i by 1 to 2 and compare this new value to 5. Since 2 is less than or equal to 5, we execute the body of the loop. This time the program prints 2 on a new line. This completes the second pass. Then i increases to 3, which is less than or equal to the limiting value of the control variable (5), so we print 3. Similarly, i increases to 4, and we print 4. Then i increases to 5, which is also allowed since we test whether the current value is less than or equal to the final value. The program prints 5. Then i increases to 6. At this point, the condition i <= 5 is no longer true. Therefore, we do not enter the body of the loop when i has the value 6. Instead, the for loop is completed, and we continue with the next statement following the loop. In our example, since the body of the loop consists of a statement to print the value of i, the entire for loop prints the values 1, 2, 3, 4, and 5, each on a separate line. A for Loop Using a Compound Statement Let's look at a slightly more complicated example, which is very close to what we want to do in Problem 1. In this example, we will do two things inside the body of the for loop. After the header in a for loop, we are allowed to execute only a single statement. However, a pair of braces is used in C++ whenever we want to execute a series of statements where normally just one is allowed. This entire series, called a compound statement, can then be treated as a single statement. Example: A loop to compute the expression i * i, store it in a variable called sq, then print both i and sq. int i,sq; for (i = 1; i <= 5; i = i + 1) { sq = i * i; cout << i << sq << endl; } Shorthand for Increments: ++ and -- Because increment statements are so common, C++ has a shortcut form that is almost always used. In the line below, the statement on the right is an abbreviation for the statement on the left. i = i + 1; can be replaced by i++; for (number = 4; number <= 9; number++) In the same way, subtracting one from a variable can be abbreviated by using the decrement operator --. For example, these two statements are equivalent: number = number - 1; and number--; Once again, here is an example using a for loop header: for (number = 9; number >= 4; number--) Finally, the increment and decrement operators can also appear to the left of the variable name. In the case of a simple assignment statement (e.g., as part of a for loop header), these three statements have the same meaning: i++; ++i; i = i + 1; However, if the increment or decrement operator is used as part of a larger expression, there can be differences in meaning. Int I = 4; Cout << i++; Cout <= 60) cout << Passed; Syntax for if statement: if ; A boolean expression represents a condition that is either true or false. It is formed using operands (constants, variables) and operators (arithmetic operators, relational operators, logical operators). If the condition is true, we execute the statement that follows [in this case, cout << "You Passed!" << endl, and continue processing. result = 75; if (result >= 60) cout << "You Passed!"; cout << endl; If the condition is false, we simply skip that statement and "fall through" to the next instruction. result = 45; if (result >= 60) cout << "You Passed!"; cout << endl; In the example above, if result is greater than or equal to 0, we print the word "Admit," but if result is less than 0, we don't. Instead, we proceed to the next statement, which sends the cursor to a new line in all cases. if (cond) // no semicolon here stmt-1; // end of if statement stmt-2; // next statement ArithmeticRelationalLogical+ -< less than > greater than|| or* / %== equal to != not equal to&& andarithmetic functions<= less than or equal to >= greater than or equal to! not Ex. if ((x > 0) && (a == b)) Maybe this one: Operator Precedence OperatorAssociativityType( )L ( Rparenthesis ++ + !R ( Lunary operators* ? %L ( Rmultiplicative+ L ( Radditive<< >> L ( Rinsertion< <= > >=L ( Rrelational= = !=L ( Requality&&L ( Rand||L ( Ror?:R ( Lconditional= += = *= /= %=R ( Lassignment Precedence of Arithmetic, Assignment, and Relational Operators ---------------------------------------------------------------------------------------- Associativity highest precedence - (unary) + (unary) ++ -- right to left (done first) * / % left to right + - left to right < <= > >= left to right == != left to right lowest precedence = += -= *= /= %= right to left (done last) ------------------------------------------------------------------------------------- for(num=1;num<10;num++) sum = sum + num; same as for(num=1;num<10;num++) sum += num; (go through multiply, divide, etc) Standard Library of Functions (math.h) In addition to the five standard arithmetic operations (+, -, *, /, and %), C++ offers simple functions to perform other mathematical operations. These functions save us a lot of calculation; instead, the computer does most of the work. For example, sometimes we need the square root of a number. C++ has a function called sqrt() that automatically finds the square root. double w,root; w = 12; root = sqrt(w + 7); The expression sqrt(w + 7) finds the square root of w + 7. Since w has the value 12, the sqrt() function finds the square root of 19 (which is 4.36) and assigns it to root. The function sqrt() is called a library function because its instructions are stored in a library. (Note: In C++, when referring to the name of a function, it is customary to use parentheses after the name; this distinguishes the name of a function from other types of identifiers.) The collection of these functions is called the standard library of functions or the C++ standard library. The expression which invokes a function from the standard library is known as the call to the function or a function call. Typically, the function call specifies two things: the name of the function and the value or values on which the function should operate. root = sqrt(w+7); ( ( function value on which name sqrt() should operate A call to a library function can be placed on the right-hand side of an assignment statement, in a cout expression, or anywhere that an expression can occur. For example, here are some C++ statements that use library functions (we will explain ceil() and floor() in a moment): a = sqrt(b); cout << ceil(5.5); z = x + floor(w); #include #include using namespace std; int main(){ cout << sqrt(25) << endl; cout << ceil(5.5) << endl; cout << floor(3.6) << endl; system("pause"); } output: 5 6 3 In addition to sqrt(), there are many other library functions. A useful one is abs(). The expression abs(x) finds the absolute value of the integer x, which in mathematics is written |x|. A call to abs() always returns a positive or 0 integer answer. Talk about HW: Math.h vs. cmath (sqrt) #include at the beginning of the program. If you use math.h, which is a C library, you will need to specify #include because C header files require .h. Using .h is not required for C++ header files, but it is for C header files. Setw Manipulator function that is called in a nontraditional way. Manipulators area placed after the insertion operator. Endl is a manipulator function. manipulator may or may not have arguments. We have others ex: setw. Endl means end of line. It does the same thing as appending the endline character \n to the string itself. Setw means set the output field width to 4 columns for the next output. Cout << Start << setw(4) << 10 << setw(4) << 20 << setw(6) << 30; Start 10 20 30 (2 spaces before the 10, two before the 20, and 4 before the 30). Types Integer Types Integers stored in either 16 or 32 bits Integer Types signed and unsigned Signed Integer leftmost signbit is 0 if the number is positive or 0, and 1 if its negative. Largest 16 bit integer is 32,767 (2 to 15 power 1). 32-bit is 2,147,483,647 (2 to 31 power 1). Unsigned Integer no sign bit. 16 bit= 65,535(2 to 16 power 1) 32 bit = 4,294,967,295(2 to 32 power 1) default signed in C. we declare unsigned if want no sign bit. Useful for systems programming and low-level, machine-dependent applications. Well discuss later (when dealing with long numbers strings converting) Avoid unsigned for now Long integers A 16-bit integer with its upper limit of 32,767 may be too limited for many applications, C also provides long integers. (2,147,483,647) Short integer may need to save space at times by instructing the compiler to store a number in less space than normal. Declarations Constant declarations: Used to associate meaningful names with constants -- items that will never change throughout execution of the program. const float PI=3.14159; Variable declarations: Used to associate identifiers of a given type with memory cells used to store values of this type. - the values stored in the data cells are changeable. char letter; char letter1, letter2; float x, y; Data Type char Char stands for character. A variable of this data type can hold any one character (e.g., 'a' or ' ' or '?'). A character is essentially anything that can be typed--a number, letter, space, period, or symbol. In addition, special characters like the tab character '\t' (used earlier in this chapter) and newline character '\n' (which can be used in place of endl) are values of type char. ( some computers (DOS PCs) the int set of values consists of all integers in the range 32,768 to 32,767. There are nine int types: short int unsigned short int char int unsigned int signed char long int unsigned long int unsigned char The difference among these 9 types is the range of values they allow. These ranges may depend somewhat on the computer system. short is the same as short int) char type uses 8 bits to store a single character. Is actually numeric in that it stores the ASCII code value of the character. Character input is automatically converted; on output the value is converted to char first. char char c = 64; cout << c << ; //prints @ c = c + 1; //increments c to 65 cout << c << ; //prints A c = c + 1; //increments c to 66 cout << c << ; //prints B c = c + 1; //increments c to 67 cout << c << ; //prints C EXAMPLE 2-17: char letter; letter = 'a'; if (letter != 'b') cout << "letter has the value " << letter << '\n'; Since letter is not equal to 'b', this example prints the following: letter has the value a Data type char is actually a subset of data type int. Each char value has a number associated with it, called its ASCII value; the ASCII values for characters range from 0 to 255. We could change the declaration in Example 2-17 to the following without altering the code: int letter; For a while, we will use characters only as part of strings to be printed, since a variable of type char by itself is not very useful (it can hold only one character). convert to uppercase: if(a<=ch && ch <=z) ch=ch a +A; a=97 A=65 Real number types float double long double On most systems, double uses twice as many bytes as float. In general, float uses 4 bytes, double uses 8 bytes, and long double uses 8, 10, 12, or 16 bytes. // Prints the amount of space each of the 12 fundamental types uses. #include using namespace std; int main() { cout << "Number of bytes used:\n "; cout << "\t char: " << sizeof(char) << endl; cout << "\t short: " << sizeof(short) << endl; cout << "\t int: " << sizeof(int) << endl; cout << "\t long: " << sizeof(long) << endl; cout << "\t unsigned char: " << sizeof(unsigned char) << endl; cout << "\t unsigned short: " << sizeof(unsigned short) << endl; cout << "\t unsigned int: " << sizeof(unsigned int) << endl; cout << "\t unsigned long: " << sizeof(unsigned long) << endl; cout << "\t signed char: " << sizeof(signed char) << endl; cout << "\t float: " << sizeof(float) << endl; cout << "\t double: " << sizeof(double) << endl; cout << "\t long double: " << sizeof(long double) << endl; system(pause); return 0; } Output: Number of bytes used: char: 1 short: 2 int: 4 long: 4 unsigned char: 1 unsigned short: 2 unsigned int: 4 unsigned long: 4 signed char: 1 float: 4 double: 8 long double: 12 Press any key to continue . . . Casting Dividing two integers will give you an int result, you can change one to be a double to give you a double result. If both of the operands in a division are variables: int total_candy, number_of_people; double candy_per_person; #program sets total_candy to 9 and number_of_people to 2 candy_per_person = total_candy/number_of_people; Unless you convert the value in one of the variables total_candy or number_of_people to a value of type double, the result of the division will be 4 and not 4.5 as it should be. The fact that the variable candy_per_person is of type double doesnt help. If one was a constant, you could add a decimal point and a zero to convert the constant to double, bu there both are variables. In c++ we could convert: double(9) The type double can be used as if it were a predefined function that converts a value of some other type, such as 9, to a value of type double, 9.0. (its a kind of predefined function) Its called type casting. Double answer; Answer = double(9)/2; Rewrite earlier example: int total_candy, number_of_people; double candy_per_person; #program sets total_candy to 9 and number_of_people to 2 candy_per_person = double(total_candy)/number_of_people; Do the typecasting before you do the division. If you wait until after the division is completed then the digits after the decimal point are already lost. If you use this the value will be 4.0 not 4.5: candy_'(*;<GH, - W X Y u v  , . ̽|ogUgggg#hRehSZ5CJOJQJ^JaJhSZCJaJh3hSZ0JCJaJ#jh3hSZCJUaJjh3hSZCJUaJh3hSZCJaJhSZ5CJaJhl8IhSZ5CJaJ hSZCJhnq`hnq`CJ hnq`CJh5+h5+CJh5+5>*CJhnq`5>*CJ hMCJhMhM5>*CJ !'()*;<GHRS  + , w x gdSZ$a$gdSZgdnq`$a$|2}}   ' ( ) I J _ ` a Y Z 7$8$H$gdgt^gdnq`gdSZ  % X Y Z u } " %     LMTUv|߼߬߬ߦ~u~mmmhMOJQJhM5>*CJ hM>*CJ hMCJhMhQ5>*CJhgt^CJehr hgt^CJjhgt^CJUmHnHu hgt^6CJhgt^hgt^CJhgt^CJaJhgt^hgt^CJaJ hgt^CJ hgt^>*CJ hnq`CJ h;CJh;CJaJ)Z r s } ~   TU}~  gd`/ & F    $ 7$8$H$a$gdgdgdgt^ 7$8$H$gdgt^-.lmDEopcgdMvcgdB1$gdB  gd`/ & F  #,UfkDEY]npyzƻxtixb hm!hMhN$hMvCJaJhMv hhMvjhBU hBhM hM5CJhBhB5CJaJ hhBhBCJaJhBhMCJaJhBhBCJaJhBhBCJaJhBhB5>*CJaJhMhM5>*CJhMOJQJ hMCJ hMCJ$-&@Titv&$d%d&d'dNOPQgd7#$d%d&d'dNOPQ$ ,p@ P !$a$gd.igcgdm!cgdMv  ?@STiNOϏω~shsd\UNChUhm!CJaJ hhm! hh[jQhUUh[h.igh.igCJaJh.ighm!CJaJh.igh!CJaJ hMCJhQhm!CJOJQJaJ hQhMCJOJQJ^JaJ hQh7CJOJQJ^JaJhQh7CJOJQJaJhQhMCJOJQJaJhMh.igh7CJaJh7CJaJhXh7CJaJvNO@gdm!cgdm!&$d%d&d'dNOPQgd.ig' @$d%d&d'dNOPQLM{|  45¾ρvhvhv`UMhA2CJaJhmafhCJaJhCJaJhv3h5CJ\aJhv3hCJaJhCJaJh.ighOJQJh7hOJQJ^JhOJQJ^Jh7hOJQJhOJQJh hMCJ hM>*CJ hMCJh.ighMCJaJhUhm!5CJ\aJhUhm!CJaJ h.ighm!>?|}  5@Bl* @$d%d&d'dNOPQgd&$d%d&d'dNOPQgdgd$a$gd.iggdm!gdm!l~:;xx$ ,p@ P !$a$gd hv@@gdgd hv@@&$d%d&d'dNOPQgd* @$d%d&d'dNOPQgd s{?GFRg o q r s ! !! !3!5!j!ԺԺԲԲԪ~rԺh h5CJaJ hCJhXhCJaJh h@L6CJaJhz(CJaJhpcCJaJh@L6CJaJh]}CJaJh h5CJ\aJh h>*CJaJh hCJaJ hCJhhCJaJhCJaJh\CJaJ(; v"w""""""####-$ hvp@@@ hv@@ ,p@ P !$gd ,p@ P !$gd]}$ ,p@ P !$a$gdj!n!!!!!t"u"v"w"z"|"""^#b#$$$$$$$$$$%8%9%%%%øÉztndn^nUthM56CJ hYcCJhJthJt5CJ hJtCJ hMCJ h@CJhM5>*CJ hM5CJh3h3CJaJ hl8ICJhhl8ICJaJhhM5CJaJhhMCJaJ hMCJhhMCJaJh h5CJaJh hCJaJhCJaJhh5CJaJ-$j$k$$$$$$$$$$%%p&q&'''''''',( J gd@gdgd3gdl8I hv@@ p@ @%%p&q&'''''''''''''''((,(-(L(M(O(j(((((()))))))¸xrllchM56CJ hXTCJ h*CJaJhWhWCJH*aJhWhWCJaJB1111233333333d4e4u4v4444444445566 6!6[6p6666677H7h7i777778 8xh(CJaJhh(CJaJhOR@h(5h(h(CJOJQJaJh(h(CJOJQJaJ h(5 h(5CJhW0JCJaJhWhW>*CJaJhWhW5CJ\aJhWCJaJh8hWCJaJhWhWCJaJ/1335566F6G6[6666q* $d%d&d'dNOPQgd(&$d%d&d'dNOPQgd(gd($  H  !$a$gd1l:$ ,p@ P !$@a$gdW 666677777E7F7H7h7i777777 hv@@gd(gd(&$d%d&d'dNOPQgd(* @$d%d&d'dNOPQgd(78 8V8z8{88888889+9=9}}}}}* @$d%d&d'dNOPQgd(* $d%d&d'dNOPQgd(&$d%d&d'dNOPQgd(gd( 888N9O9W9X9Y9Z9[9\999$:*:::::::;;;;?;S;ƿᲭ||qfb]QEhYc56CJ\]hM56CJ\] hM5hnGhYchMCJaJhYchnGCJaJhRj6hbCJOJQJaJhRj6h1l:CJOJQJaJhRj6hMCJOJQJaJhM h1l:5h`th(0JCJaJ h,Ih(h(CJaJjh(UmHnHu h(5h(h(CJOJQJaJh(h(CJOJQJaJ=9K9N9O9W9Z9\9]99999ee#$d%d&d'dNOPQgd1l:$  H  !$a$gd(gd(&$d%d&d'dNOPQgd(* @$d%d&d'dNOPQgd( 9::!:#:1:g::::::::::;&$d%d&d'dNOPQgdYc' @$d%d&d'dNOPQ#$d%d&d'dNOPQ;;;l;m;n;;;;;;;; <D<_<q<<<<<' @$d%d&d'dNOPQ#$d%d&d'dNOPQgdnGS;l;n;<<<<<<<<<< =0=6=f=q=====^>n>>>>>>>>>>Ƚ~~~~r~f~f~~[hh"CJaJh8 h"5CJaJh8 h"6CJaJh8 h"CJaJh8 h">*CJaJh8 h"5>*CJaJh"5>*CJaJhYchYchYcCJaJhYch CJaJ h 5 hM5hYch1l:CJOJQJaJhYchMCJOJQJaJhMhM56CJ\] <<<<<<1=2=f=g=====>>>>>>>>gdYcgd" 0^`0gd"$a$gd"&$d%d&d'dNOPQgdYc>>>???6?7?@?C?D?T?V?W?~????~@@@@@@AAAAAAApBBBBBBB8D:D??7????@@@AAAAABUBpBBBDDD7D8DEE'F(FgdwCgdYc,F8F9F;FHHH I I%I&IIIII(J*JAJBJSJTJUJVJkJJJJJJJJJKKǾǮǤǚdžǤ|vpcWh3h\t5>*CJh3h\t56>*CJ h\tCJ hMCJhMCJOJQJ&jhMCJOJQJUmHnHuhMCJOJQJhMCJOJQJjhMCJUmHnHu j-hMCJ hMCJ hhM hM>*CJ hMCJ hwCCJhYchYcCJaJhiMhYc5CJaJ!(F:F;FFGGHHHHHHH I II'I9IuIIIIII`^ & F h88^8$^a$  gdgdYcIII*JSJUJVJWJkJoJwJ|JJJJJJJJJJJJJJJJJJ$If^JJJJJJJJJJJJJJJJJJJJKK KKK $$Ifa$gd`$a$gd\t^FfFf $IfKK"K(K4Kvmam $$Ifa$gd` $Ifgd`kdr$$IfTlF 6 k,0    4 laTK$K%KKKLKlKmKKKKKKKKKKKLLLL=L>LMLVLWLLLLLLLLLLLMMMMMMMM,Mˮ˙}q˙j hMCJEHU$j$!@ hMCJUVmHnHuh\t5CJ\hM5CJ\j hMCJEHU$j@ hMCJUVmHnHujhMCJU hMCJh\t0JCJaJh3h\t0JCJ! jh3h\tCJmHnHuh3h\tCJ,4K5KIKOK_Kvmam $$Ifa$gd` $Ifgd`kd$$IfTlF 6 k,0    4 laT_K`KjKpKKvmam $$Ifa$gd` $Ifgd`kd$$IfTlF 6 k,0    4 laTKKKKKvmam $$Ifa$gd` $Ifgd`kdv$$IfTlF 6 k,0    4 laTKKKKKvmam $$Ifa$gd` $Ifgd`kd"$$IfTlF 6 k,0    4 laTKKKKKvmam $$Ifa$gd` $Ifgd`kd$$IfTlF 6 k,0    4 laTKKKKKvmam $$Ifa$gd` $Ifgd`kdz$$IfTlF 6 k,0    4 laTKKKKKvmam $$Ifa$gd` $Ifgd`kd&$$IfTlF 6 k,0    4 laTKKLL Lvmam $$Ifa$gd` $Ifgd`kd$$IfTlF 6 k,0    4 laT L LLL!Lvmam $$Ifa$gd` $Ifgd`kd~ $$IfTlF 6 k,0    4 laT!L"L;LALLLvmam $$Ifa$gd` $Ifgd`kd* $$IfTlF 6 k,0    4 laTLLMLVLWLLLLLLv^^XXNNN ^^$  H  !$a$gd\tkd $$IfTlF 6 k,0    4 laTLLLLLM=M>M?M@MAMzM{M|M}MMMMMMMN3N4N5N^$^a$ ^,M*CJh*Oh*OCJ h*OCJhM hMCJ huDhMCJOJQJ^JaJ huDhCJOJQJ^JaJ\PlPPPPPPPPPPQQQQQRR:RURVRRRRRRR$a$gdSgdS^ ^`gd*ORR*S0S:S;SSSSTTVVWWhX6YY ZxZ"[[[]] $@gdY| ,p@ P !$@gdY|gdSSSSSTTTTUGUHUbUgUkU{UUUUUUU[V_VVVVVVVVVVVWW2XFXTXXXŷŬ{{s{e{shdhY|5CJ\aJhY|CJaJhdhY|CJaJhY|hY|5CJ\aJhY|hY|>*CJaJhY|hY|5CJaJhY|hY|CJaJh hY|5CJ\aJh hY|CJaJ h hY|CJOJQJ^JaJ h hY|CJOJQJ^JaJh CJOJQJ^JaJ'XXXYYY*Y6Y|Y~YYYYYYtZvZxZZZZZZZ[ ["[\[[[[[[[[[\\\\\\ ] ]E]F]]]]]]]]]տh:ehY|>*CJaJh:ehY|5CJaJh:ehY|CJaJhy~hY|CJaJhy~hY|5CJaJhY|OJQJ^JhY|OJQJ^JhY|CJaJhdhY|5CJ\aJhdhY|CJaJ5]] ^^H^K^p^w^{^^^^^^^^__________````%a&a2a3aVaWa^a_aaaaaaa)b*bybzbbbGcHcUcXcccc礖hGhG5CJ\aJhShS5CJaJh:ehY|>*CJaJ h:ehY|CJOJQJ^JaJh:ehY|5CJaJh:ehY|5CJ\aJh:ehY|CJaJh:ehY|6CJ]aJ8]^ ^ ^ ^!^^^^^^__``$a%aUaVaaaccgdS ,p@ P !$@gdY|ccc{d|deeeff-f.fUfyffffffgggg ,p@ P !$@gdygd*O ,p@ P !$@gdGcccpdsd{d|dddle~eeeeeeeffffffffgggghhhhhh}}i}_hyOJQJ^J&hyhy5CJOJQJ\^JaJ hyhyCJOJQJ^JaJhyCJaJhyhyCJaJhyhy5CJ\aJhM hGhGCJOJQJ^JaJhGhG>*CJaJhGhG5CJ\aJhGhG5CJaJhdhGCJaJhGhGCJaJ"ggghhhhhhi i6i7ijjGjHjjjjjjjjjkk ,p@ P !$@gdyhhhi6iiijHjjjjjjjjjkk&k'kLkrktkkkkkkkkkklllmzzzzzrie]h M%CJaJh M%h,>h kCJh kOJQJ j-h kCJ h kCJ h kCJhz@hyCJaJhz@CJaJhz@hz@CJaJhyCJaJhHFhz@CJaJhz@CJaJhHFCJaJhyCJaJ hHFhyCJOJQJ^JaJhHFhy5CJaJhHFhyCJaJ$kkk'kKkLkqkkkkkkkkkkkklJlqlxlll^gd k $^a$gd kgd*O ,p@ P !$@gdyllllmm"nnnnooGoWoXowoxooooo*$d%d&d'dNOPQ]gd3gd3 $a$gd9Kugd*Ogd k^gd kmbmm#nRnnnnnnoVoxozoooooooooooooooppppоwfXh7CJOJQJ^JaJ h%xh7CJOJQJ^JaJh9KuCJOJQJ^JaJ h35CJh35>*CJh3h3CJOJQJh3CJOJQJh35CJOJQJ h36CJ h3CJh9Kuh9Ku5CJaJh9Ku5CJaJh M%h/ CJaJh/ h/ CJaJh M%CJaJh-)CJaJoooopp@qAqSqkqqqq r rr4rUrhrirLsMss$ $a$gdgd9Ku"$ 2p@ P !$a$gd7gd3pqqq#q=q@qFqOqQqfqhqkqqqqq r rrr/r1rGrRrhrirrrrrsDsEsFsGsHsLsMsǶǗǶzzrrrk h9Kuh9Kuh7CJaJhVph7>*CJaJ h%xhCJOJQJ^JaJh7CJOJQJ^JaJ h%xh,7CJOJQJ^JaJ h%xh7CJOJQJ^JaJh7OJQJ^JhVph7CJaJh,756CJaJh,7h756CJaJh,7h7CJaJ&MsQsUsssssssssstt9t;t?t@tHtJtetgtltmttttttt u&u-u.uTuUuuuvuuuuuuuuƿϹϹϯrrrrrr! jh3h3CJmHnHuh3h3CJh3h35>*CJh3h356>*CJh3CJOJQJh3CJOJQJ h3CJ h35CJh35>*CJ h3CJhhOJQJ^JhI0sh6OJQJ]^JhI0shOJQJ^J,sssssttttt9t[kdR$$IflFk+ .0    4 la $Ifgdz@gd3gd*O$ $a$gd 9t?t@tHtUtetltvkd$$IflFk+ .0    4 la $Ifgdz@ltmtttttvvvv $Ifgdz@kd$$IflFk+ .0    4 lattttttt u uu!u&uzzzzzrrfff $$Ifa$gdz@$a$gd3gd3kdJ$$IflFk+ .0    4 la &u'u+u1u=uvmam $$Ifa$gdz@ $Ifgdz@kd$$IfTlF 6 k,0    4 laT=u>uRuXuhuvmam $$Ifa$gdz@ $Ifgdz@kd$$IfTlF 6 k,0    4 laThuiusuyuuvmam $$Ifa$gdz@ $Ifgdz@kdJ$$IfTlF 6 k,0    4 laTuuuuuvmam $$Ifa$gdz@ $Ifgdz@kd$$IfTlF 6 k,0    4 laTuuuuuvmam $$Ifa$gdz@ $Ifgdz@kd$$IfTlF 6 k,0    4 laTuuuuuvmam $$Ifa$gdz@ $Ifgdz@kdN$$IfTlF 6 k,0    4 laTuuuuuvmam $$Ifa$gdz@ $Ifgdz@kd$$IfTlF 6 k,0    4 laTuuuv vvvvFvGvVv_v`vvvvvw w9wRwwwwwwwxxxxZxaxxxxxxxxxxx yyNyOyyyyyyyyyyyFzGzùh3CJaJhoCJaJhohoCJaJhoOJQJ^JhOJQJ^Jh24h30JCJaJh30JCJaJh3h30JCJh3h3CJ! jh3h3CJmHnHu:uuuvvvmam $$Ifa$gdz@ $Ifgdz@kd$$IfTlF 6 k,0    4 laTvv vvvvmam $$Ifa$gdz@ $Ifgdz@kdR$$IfTlF 6 k,0    4 laTvvvv*vvmam $$Ifa$gdz@ $Ifgdz@kd$$IfTlF 6 k,0    4 laT*v+vDvJvUvvmam $$Ifa$gdz@ $Ifgdz@kd$$IfTlF 6 k,0    4 laTUvVv_v`vvvawbwwv^^^^^FF$  H  !$a$gd3$  H  !$a$gd3kdV $$IfTlF 6 k,0    4 laTww"xZxxxxxyy_ytyyyyyyyz#z`gdogdogd$ H !$a$gd3$  H  !$a$gd3$  H  !$a$gd3#z$zGzHzIzJzrzsz{{| |&|,|||f~g~nopq f $ /0p@ P !$a$gdxvgdoGzIzJzqzrzsztz{{{,|;|F|`|e|n|o|||||||| }B}F})~F~~~~~nΩΖΩΩΩΩΩΩΆzkz jhxv0JOJQJ^Jhxv0JOJQJ^Jhxvhxv0J6CJ]aJ$hxvhxv0JCJOJQJ^JaJhxvhxv0J>*CJaJhxv0JCJaJh24hxv0JCJaJhxvhxv0JCJaJhxvhxv0J5CJ\aJho0J5CJ\aJhCJaJ$"01;@ACEIOghˀπ]cho}~孚pfhS30JCJaJhS3hxv0JOJQJ^JhS3hS30JOJQJ^JhS30JOJQJ^J$h!~hxv0JCJOJQJ^JaJ$h!~hS30JCJOJQJ^JaJh24hxv0J>*CJaJhxv0JCJaJh24hxv0JCJaJhxv0JOJQJ^J jhxv0JOJQJ^J(fg~ԁ%Ef|~B$ /0p@ P !$$d%d&d'dNOPQa$gdS3 $ /0p@ P !$a$gdxv̓΃uu $ /0p@ P !$a$gd]gd,I $ /0p@ P !$a$gdxvB$ /0p@ P !$$d%d&d'dNOPQa$gdS3 '(KLZ_2C\òӄӄӄxp^#hc"h>v5CJOJQJ^JaJh>vCJaJh>vh>v5CJaJhCJaJ&h]h]56B*CJ\aJph#h]h]>*B*CJ\aJph h]h]B*CJ\aJphh]CJaJh,ICJaJh'CJaJhxv0JCJaJh24hxv0J>*CJaJh24hxv0JCJaJ ΃6\]gd>v$a$gd,Igd,I $ /0p@ P !$a$gd]=ab‡Ç'(ks'(ʊAB\]^gd>^gdgd^gd>vgd>v=abȊBHM\^s 38?AKOQRV¼¶¶obXJhlvh0J5CJaJh0JCJaJh24h0JCJaJ!h24h0J5>*CJ\aJh24h0J5CJ\aJhCJOJQJh5CJOJQJh5OJQJhOJQJ hCJ hCJ h>*CJh>vCJaJh>vCJOJQJ^JaJ hc"h>vCJOJQJ^JaJh>v5CJOJQJ^JaJ]^u3?APQڍۍ܍FGaЎюQ  gd $ gd$  H  !$a$gd =gd^gdgdVӍ׍ڍ܍VYaЎQWXjuw{TU[\]4UWXeȾȾȱȣȣќђ{uuquah24h0J5CJ\aJh hCJhC]hCJOJQJhCJOJQJhCJOJQJ h5CJhFh5OJQJaJhFhOJQJaJhFh5aJhFhaJ hCJhlvh0J5CJaJhlvh0J>*CJaJhlvh0JCJaJ QuvwT\]_lϐ4UWXfgy$  H  !$a$gdgdgd  ^gd  gdC]  gdef)FGSWz}ǒ\iϓӓabcuv̿ve_VLhCJOJQJh5>*CJ hCJ hhCJOJQJ^JaJhCJOJQJ^JaJh0JCJaJ$hlvh0JCJOJQJ^JaJhlvh0J5CJ\aJhlvh0J5CJaJhlvh0JCJaJhvE$h0JCJaJh24h0J>*CJaJh0JOJQJ^Jh24h0JCJaJyz)*FGH[\ij+,DWX]bc  gdgd$  H  !$a$gdcu./0uvѕ F0 h $d%d&d'dNOPQgd0  $d%d&d'dNOPQgd  gdv/0ۘ?^`ghۚܚ3)5:{ ()Ɵǟ|=|>||||wslhhM hhW:ho|hVF h YPCJaJUh YPCJaJhVF 5CJaJhVF hVF 5CJaJhW:CJaJhVF hVF CJaJhVF CJaJh hW:hW:hW: hhhhCJaJhhCJOJQJaJ hCJ hCJhOJQJ#@ŗA}Ϙ٘ۘ0  gd0  $d%d&d'dNOPQgd0 h $d%d&d'dNOPQgd0Kfҙ#?_hܚ4Mlm<=VWagdVF gd  gda9:I_`yz()ǟȟ=|>|||||||0}1}2}gd YPgdgdVF per_person = double(total_candy/number_of_people); // WRONG! (C does (double)total_candy/number_of_people this is the same idea it does it on the total_candy not the whole thing. So that works too, but the other way is C++)  FILENAME introductory concepts  PAGE 35 of  NUMPAGES 37 compiler or interpreter source program object program  EMBED Equation.3   EMBED Equation.3  ||||}}}}}}}} }!}+},}.}/}0}1}2}I}J}K}Z}[}j}{}|}}}}}ͼ͇|x||p]Spj!hMEHU$jd; hMCJUVmHnHujhMUhgt^ hgt^5CJh}hM$jh(hM0JCJUaJ* h}0JCJaJmHnHu*h(hM0JCJaJ!jh(hM0JCJUaJh(hMCJaJh;~CJaJmHnHuh(hsCJaJjh(hsCJUaJ 2};}J}K}Z}[}j}k}l}m}n}o}p}q}r}s}t}u}v}w}x}y}z}{}}}}}}$a$gdgt^}}}}}}}}} hhW:j#hMEHU$je; hMCJUVmHnHujhMUhM}}gd &P/ =!"#$%nîw2PNG  IHDRc|3WFLgAMAjIDATxu:aqO p )aK0l)n nM )!>pWGf$=a2Li b9{@׫1e~svl w<8vjLٽ& {gkao̥b-Rxtk|{{lYʉG{.X|LC0\ MVVAUOSUejpo,OoXI2(+(hg履?_~T^Tަ_]Sltu&k9DVn2J!Ə&)KH|,y:o}ZS;gnN1YaOpc;kqq^\&L&R*)d`GnRIr7 rNݭ% W6͹`ފ$#gdb`_W6r6ERUu=GW&Xֳ&Dۜ"teF=qLL˕5o*YcbFxf  w۝WnGlunQs,'Rԍ2i5|ܓ&~ܳ1#..֜KW]2Lo ƅbeh='u#jcҡMURE*XD={}1{Ojwl?˽&uw f~EnTVU%g;f( `h=bigQLd՗=s[8ϷM_>:P(Lϼ89gEN@2pPOqNk}O8 x>s ;8ݩkdO@FN@FN@FN@FN@FN@FN@FN@FN@FN@FN@FN@FN@FN@FN@FN@FN@FN@FN@FN@FN@FN@e4e^F{ 2L!R @(q@F #R1N8ˉ4'h2a)CC>L"pdsÄ!R H@H@F ~ @?R"RGJǭ0 _SRRf"0Lo&k\.~yE K wVD SRR/y)z\J+EwuSPR^/fpP)\H3+^ΟihKI|=ZHa\.B>+O!l^/fa\."D]qr JJ'u#&&r JG/9„q J')5k(pO8:=t+%sY5"{\J+EHaab%RL{w(%3L0j&|R6&ڼl=t+%sS0qD :ipX]Fa<ǏfP2C{7 1vUo19Tk[H寋}"'d$1JytEY2o֌? GOT;|T|pSgAeGU?:yv :71̒EE?vm_=?t+]vߡ 3ZuE;lL˚=JDyK http://www.turingscraft.com/yK :http://www.turingscraft.com/hDd <- 0  # Ab`̄/'ZӔw(-n`̄/'ZӔw(PNG  IHDR5؂ZsRGBaIDATx^e%KTRI衣H""M(+RBPS!~$mٛ]㱷;|gsg1_ iS^*6 (JWy~_hW9@@蛀t;~?{K+`XB4\(u^H ꏖV~JQx.E  7Sdo_C]j^2RE SX4mAxsiY=^}]c-7 |3/w@<̨O='a'<@@`" 9#T}yaӋj1rϏgYQR]>'?tT ʡ՟.<&|pviQYfFEe|_BCm`@"tE䄄GU&A@@ZRG VG pĒQv3}agN0"py.;Z~٘}.v׫ܟDn6|#o;o57:; [JD,Q3`}7{6S'nRkk3̃V$5*NUiwctM  $ӄ5yY7Z:+,]K:‘[w(jt.3Ril|C^ܨKd׷ҡpF/0[m͖L TVoDV$$oYHG[sKye5{M(5M _`O#;:k=myβ"ֽRx; G:[ ~jO/VR@$*Q]V{@ u+?1-oDNY{n M?$1 [؝~3ȀpvɪOݜcgK<['[UU!~|XA%_ `@۳Ͼ{m?qS/=~{Zz+nT_{RC@@`MONSV%'B,OـPHf4֭{ٛUпDXEG_٢SoouZ]]r0חDGfI ?*0Bk7J9~c {?淬XaaQG͟={ܾNyjO** ϙ3 ?|ivI\Ֆ?-" 6Ȼ|Ťga5gP6#`tU&YrfjnVK jOo{y?(K=~RJ{K>mmg_t{uG;ZcͱXK㔻:rFL,)REBo3dÆ`0q㦵k7X( 6_mMrC}^b}kvߤ{' /?KuㄮHXzXI6CrhAH=&9Kjy,I! *`l wHGh5Brfȵr ĤnJG:-&-Sueߒ2_(yeM \~?S_*L $swׯ**v4Jފo/K_If\~ږGkʔsL};H\=1kh6|ϫ)]Jgr~|/VHu߃I[7Nozu؜';)Y)YpϏ~$ֱy)   \+3U_"W3cj)Ȍg6Ng2}"^w;》:f $pWLȵp:7\L{5MϓWL {ws 5^C.غ377VVԷb?z.|B;$-*47>y؜u}w5ʋN,˜~)o}*Oޣpòԏxkg/ԉE+   0P|P.Ӳű7y"dYTUWxfD%]TkKq?/{eR$"̉1{PƳO;IOӲHԿ{5ju-x|>H GMscc;z.1)wƊfɌvvGwDF/N"HHUXSW]8-zNjSd˙|>41 j(Q>׮w[T}-u[5~j9|6?3-C dgr~Z0*ʋ} ob ?{S}CDSw(-ͧNxUO[VYr_=!2;Ӽvkn;cp'Mm6~i7}iiS<~C%eonP2ÞX 5?*p˗Yr-JoJ_1t͈n ,uD峮 |I]'DUbOWPw.sqӔU2* y/5}T<cB,0)W DWN7G"FRڇӟF$wWu.\ڴʢSzP(ZG{}$4UDKȓ?}L)ى盜罽򵕇.?k/trƛJd|gC}~vOI"8f~a{gx쟅guHR#`r99A@`:袎1fi xK[fȤ5S?dٗƌ.٢rvV˔nuǘgI-: f)QHz"ie6&ϗpau1)Jd`|?gtzNRw^Hl٪jŪѱ{n_?=eѓ3P0 M6@E@]kWUus=HޝP̌:wrͫմQsg]LJ]$[\{4v{.ѝpUWd.|nLۘZYeQsQ2~ֽٌkXv ^j7օV< 'X4 SԀ ŧ_K>[<9L>8/0Gҧ~弸+{_+>Ϻc,wno;KɰgVuԇ6\:mﵷsBgڤx@@`h H'sy퓪S֪"A9zvs |댩c`j߮|6+&䕮<;U9 boTo^ӗWk̘ȞGW.1 Mu|pcvlOWݳ3z:{"Kߗ'7pcYo^9&[VF8ϻn;S܇k2};A`,   k>>aYQj4Mb K D"mmULJDΑ2=ɒAI3h9$믥'+̢/_Zv)u|^_f%0#A90'zE`3%zKFk>Y4d7|E YZf{t?bѴ^<[_5N078{LMI< V۲BVҔ">8yݷeeѫ=36e~y _gǦ,/_M*3t,\W>Rdz֓ yP &<8 #`& '0 B=w{4%W&EL9 FmU}MycWfijZdD`ZN%!7P(j팮n>:faiL}cԺӬQ$LwN^YQ4`0o͌@@_ k>qTϙ$ ΰ%ui/dd] { P8$SZK4_"既<ՇWb d) ħͿ$G$)@ۍOoܨ(6KrmZοgjӯkeK\ G< րx@ 8[RY` .ٴE  U-d}޽QoWryoZfnY8>մ(*r@rK5cjmPS E-!~̌O>!>]nRu9Y[n\>^N`?Q?3r|@GX @_=8,z{K}[AaUX;Z2^crhT*K{߾Tz몏ݟD~\Kp?K}NKݖf*/~=%Pwdfʇ 'oo#3~gY_-Z/6|>Y_BgQus~:L?_  CI}oKsol5E}D,5޷D6F[/MQhľ߬̉gkC{[P4XK`b]bL[BXOׯܨ 5XCrvF@@@ X2H#({նrA\S?U( fb|PۍsCIܘ@& 5˝_e: ۉȝ̜_$7P /G>Yz9ag8E, FlGH/`y rE2o|Ot#ZȞ/yFG*{ɯӋOX0lG @eC.vݎiWs j U#  &!   L!@@ph   h$C0n!>䟏xj<>\^d@(&?dJSL-s>+)E31}.H֜==Kf-NomLLdº538- {R[͵z9  0ҟMʟLeQ֔wK8YcgᴊF5烶CD͘st'MW>fuV9a@I!7g41#I:o% U'񤔝4Hn :Z̤WPd/qTCRK[ٓ*"uPݡ<=zIbKmyi r6Evz9kgeLgҹ/߫~f# 0tj&%75;%uSǀS_q{N%r؇!d!3d z,kVo鸉^z8H6J'qIQP^NEKYq{I!Gd[2)2t2"kE{`@F)@Iu2Wwľ9NzeM{LncAVk2UuJ~O'5惹gb<~ZPd,yll&5@)@IHwH2)[f#E?Ϗ'f2Iy,{vs29,>n?2,xH@/} t0t%Oyg0s:T'3eH)2 "@ߒ-Mt65@u.U<͉c! *`6RMnBy$Ie/&:S%;2:2MI{̆[jZ=7B=e--i~H&iA3=K;yzwJyH5X5gnч@viaW2A (8b ٟ"A6@@ Tz?ll S#  Щ r  p`9  CG`9A@@`   0tL˲Nn    8   _| ?C$Cdc <(Ò/jR 1=+")0v^aj= (u{y Wys QMAk~@ W vX~Mzk.0[pof:" $4t#0[pЩrЯ#r p]TNSXXyٻ ) @].ezu~^Lw֯ʰxV\龘!ӎ*3QR\V^f|-`b^ZNNsNyLbT"Y[nsR:8^ , @Ț⸉_&+nk 4{M+d JbŊe)Xn槷xNۤ=!y{,\xNՔs_ڞlɋL^\UG[8y9\^q/i笕  @ele[RlZ`Gmmm֏gޡB~̀xpS(/^?-:~kϔX^dg8ȹHz9|@\؇4]j9H_O4q/)_\R6'u)M/}>z{ni25sSv@+=t07p|J~OǏ쮎M74wYR%^*S{^y\~CK$҇}vW_@~?3Z>/i@n I'͜2'C'Yqx<_j'iAvC@` \y#?j~=꽐V2wđl)HN{޿d2>ߧz/͜]8y^4=\HZN,'ެ;gڙy94(㞵da5? 90H pؿX=uH PZZ*:cDnwՊUgXz=x^bWE:6uZmWZ``js,@v@dAyg?21ޝ fĐvy@4$?yo"ùy]qYg}ޙvS#)pUMczjRN#斴BNCg-el'5  @H.-iq]Jw$@E<-v;y? ;{vu-[pRfT7=S$@Ų.'Awv#/8;wlr٣yNi\P%P 0tݷzId|v4"ݰt|y-I/Jμy$=PyK}[b -,I|';dޔ>@`\|/oGy"sxC_[kS[\I"M*yW2){4Dz{dNI{A2M$Ig(ݷBe^LiNpl-ǻm~)^pwSJ$kCzI5Yw'cRW_[ox'4k@ _~yϐ3ɰgN1$VދT>wR;}K$<{ZC$_>6WĺRoxq€ft}=  `p8Jtvp~\T7D| 2`3pl91ϴ/@@-<^0 FS`8Ӿ վ)@S@]#Cr,@`d 02!Z ~ W\6A@@@@k|}@@@` ėaٖrOAcv443g/ECF@2#C&"v"ndcX 簮>2 <H~Bvu12<j<  /|5,j{aW.6-  : $:[Pv@@F@"`gVfqȓ 3\%K$,_|g*y%[CQ|'e-Noo8&s8>k]$%"-HNMJ$sn%>gX/^+W/f=zNE7۩%/Vr U=" @EY;'e&қ5|p^;Ie?Z RWW7k,[HX43i htS3WA2 sSO=7TRNnzhf1gGސ6piSVvnEqj:nYS2rK0M!WO2jJKJJrSS=ifLY]VҞ2igd26/H_Σ6ʵOӴZh_wf4@%`|lVQ yG;%U"rLx`wF"'G.x lY7J9u[-e`ɑ3ռ A@ _P]m&aջtgV͜Y3I~Td.ZryyZм$"Gii᭬svpzu=s[<~n.cw_iκ'u$${vkּHmݏ` 6{ w K9w}$ō)L&AN͕\َ)Kd4-+H\|'JJ)3" @t!_cUQꚪI%%Unƺulݣf0S\zl+ΛG|ؽ3ɗ-F1l*(v߬[6Sf!<$Go'}P+$_)D7:1ͳNI3'A[A(c?\]nnoB,)G@ /AC&K^ إYURRS"R(͚@H@S5Y $yJiHNrթ +<@V֢Vg_zMƩ7dcI9}T&3ΤvQje9~MJc޿ .r%i\|X#%2"'(AI/ -5s6Ϻ<&ܞcyknaa[ ]Zt#C_0aJs Ӑd :.Ĭfx+Dicw8R:@v~<`{xq)ioN]'}˾fY.̊&g뙦\q~M|jAWzNݙ~և uML9i˞  k)`[I_I^ak"S일OCKq!qKRtz,z\{&@IPJ];$NyJk ٖ .]stiM r\:gKz.5d*r+n:̨}v2e(#vE@` td8\+ZV>dH}/_,s{%>4+KY='8rnоB*ija%{ c9:y_ atB) -pf'nn+[Yn9e\G ge۝oR얱H |wz/PNG{Lj>LN3cSm]@ey* R<_UlnW;/XS{Esn@*[ ~E/Z22-Nܲәی]=@cϔG̙ΛC^?zS2dC xݏuֹ;gx+) /.S1ފ^ =q)n_pI&FQqQc팬'>I&i󏯾YζIlbVRYޔ-)qr?r[Xn6Ϗ|y> ;" 0r |5%$Y4^`U1IV |/biMZT2ldګTYSb-52"}RONt-i{Hvl'*iKL, чTWdS_I}c9+yG[: zU  r; pz9tS;|~AutYĨNwOqIMB@m}`Lq6;XR粸i   ߹_|g1v^g?أӺ忧ܸL 7-;מx,k fvn< gl2[8ڗno2wbwZȟ gXbŊ<7Ɓ++ܝCo#km!@-Hv{̩ڃܽC8}O; ?P}ΰdUpD`ZCGK`{sK9 P9ʅyszw}exwAqܑ$@0j  H5:Qd@@F@r [#hþî.]}  @r\''.0beu'@@,. "w@`P%Tn WEW^sмOb   0xUYA@@`#q@>;ybO@1vChn80¤)F`:za]>sa]2[YP)8 "# Nw襥 B8y暫FUMvO 6GA-wj+Ew@k󦜎~5%ۜ9_}nAH+*@4! â||x\j n[ ED.wB"+* â^6R^;?rNf@F\  @m@@4l  m@@4Qqn#hb nGpR4@`  *=;W%zۡW'W@ߺ%OK[i8E2IK //rTZ#\G~nGbR&@`  #  G?z|@@a&@0*"  Y@@w6l_-;a/yܳsщW^Z6 GvG@k󦧞|{Q^sU=h3}nοH89$5@=OgR]\?}ny DH!8ēC` 8ghèȪH%%  @@LrȤ)@߀@Z $z0G.5ޭ@@<x {" @9(GA*,kd!  +`_% YWjh@Hug(#-a@# *,Y=+l(daTwdZn @v$ps9йX/Qp?D;CsZPV@aC18vewz7(8noZd@ؽ{GݾH7F[aVYB@C1:&KүiϏx9İ&%  H,q˚{sYFnE;KHޝv524(  0e9A/IyI}Өo9  0|1~Vd7f2-)EҘsԹ@3J!)@@98+ Lz>&vweϜNDPӭ?nˍ\\L  %Hv;yzޭɌH{ڞFCD@V keڕz6:%SSH{Cd36C$Kd@@y %Hۯ}/LO-dOC:d @H+0 {_{In9Րy~a=űr j&>I'x@@$;Jg&]yyz)R:r{$"kQD@HN۫KJ7S{}wg$xDwv=w;i':  @}?)o9黯$M>IvL;O&)=aB  |f'N/9uގO}+4Nxay>isv2S"x{"  7|}ˁxݭJ@@ _c:>! &ӲMPn.}_ZڕW\37߹qBc섽vcW#  U໗|u(Κuv( uP )]aQb  @V|\ƸV@/k崃S7ȩ  Yd1j._|9  f9wG>%D@834l_>G82GR6 FF)  @ZkjTմL=tR8s["SIo 1H@zسyڪii. {"<ú*Iu 2;H  Ql(yC@@ y%9@@P  @ Jr   e\; @@< @@Cv  y 3(!  0r7@@,@gPC@@`(  !o  Y Ϡ$  P ʵC@@ȳ@AI@@,@0kgͲ;,kb  \YkpS ܳϿ_|0/ٗU5ajB2Wd섽W5@^ҴLS5Jd@@ +@Is!g4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  7  ^Mi@@4 мP|@@oJ   # %@W}SZ@@4o@@@/" h.@y  z Uߔ@@@sG@K@   h(>  ^z7E@\@@@@ Ы)-  eY͛¡NxO8dEF@GUMkؾکЗv;a/{T1E@@ $uw w=!^{( yC@(9%1Hj(d>0rH@@Mr s @@v:!#z =0Ҥ  ߹aSċoH"  {sga_   {!  0"FD5R@@ xsb/@@FF   7oN  e)sc1J4/~Za22JCINdg@t ڼiksVZY?0ڀs5S C.ݺdɒD˗;7 P|ng~is;n[{&DD9WTqv {ũy^rn+$nD  w^skU8܇5m)H7+aWfXXYw-.}Tw`n%?+ԤWX,֭?~E:  0L2^\UeTՔTW$z4abm۶|e>_YQ:XYg5HJGY+e u7YVX޶ݜ}x_3fhg;w z4D@H_z5v PU*TRR!n:/&D򒔓gRwX\iy '-YN /]vi-[s]&$ ]nA2zM7]7.mIԆ%I6]G@@g  ߫S5LU%%5%/))5J%ݭŦf,5-Mt:he>2\*\ZvY<7)<+8m(8<8 kʉ [v.ߎ둵 &yYޤ~{+"o_zTy~ 7,y+ZߺS j^z "CfmhJߛe5Y]rz,B.fN n:g_Sj,1jJ0Tqn X^;Ð-NI}_N:*zf<$Oa]zluy-!\EbidM?s֊G/n;3 PfFo I=e?YC&oo_!gdO5Oz2KO]ȯ׷&ZfjK~֛]˱@R2Nĩ#{'pJz=`jox̵OmP-#Z-veS^Ӗ4$\isz 'ԝ3Ðs2)`0 hV<٭yeIݲ%>%絝RIm F&ӷ#CI9\@-k DN8鳉6[l[7K6e[qҥTUrNʘsLb8 >>gI@c<ݮsb9?}@ɐuFǼ[><@ߎڽT  /L7;e -hR#lYu▯Nҥ?ؿyg҂#X@d35c>rv /PzӼLj73\9p.ZjV}mwܽco6)@@)@r$Y4^`U1I&ӌ>џsZkQsgJ ^z- n 2eRN.߇GX@a- @]֤V~~ {A;pIFD¼қK_޾h XzS-޿<7睼BؿCxܳo]C:Crh)te z z \g$8[C 1p b{pp322L2ۙ??ӭ$9s P~@a!k0,r5#yӲ Q>7 5 0-KMw  #^໗|Ur/*D@@@s|\̈hB@@,LbS(@@t й);  vU9F@Y@]ә#  ;Ii)&  o   5:2eD@@ .`w$>sAR"Ytkhj|t+I2  _駩co1rS&;p W@iL/)!  0t9@@+@_ORK/0nĭLH?@@Df0H;WAB0  @@@4YTwj'804\! P ʵ3x r&/ Jz%q%Ba@@!@;Եk6exRf)巈/Ba\7ͨJO۔tgDcz+fewyD4bdGvDB`s1cn E@)}dR$`N'OQ5jtB=K^~)wHyהP9/{AW}~W{9Jg:Q\TnNW;Nuf5_ooV8[j |XČF‘x"@4 G}GMN-" @v'ӻ#~#)q? :^3#mEv.$M3 T[1vLvbWi+fZ)C-Cҥ3n}VԊF/-Of|'c ؛>3 SpYfħz*1:$mʧݯT(l*:-ɕ &TU $K!#$Rȏ%<=.+,Ǣcy]BH[8   -kT='m̘{/ | xO&f%>&%wɖI1$v >ߜ0f '?mplJ7o2)G(PPtU_&9>F$3~PWSHn/#C쮆% 잽ic]nO5{7%?lIO2)AzCr D$R wEC]+j&Av];Kt Cah,XcJFR݈֨zغ l*/-ʚIÚu! dF8̲S$qO]ePLL8WW'2wםϕȚwp&!DDoiSv]ɐ攺s}2Kp2PxQJM#W硆GLӫiwz3?T7= S:l2/+\.gBQK*NUBw HnbrY@4*"rtBDHWGrK''!~]dD<`TQsi@ݏ@˿CC'k!3lVƝfbu*mku[s޽.Uq]oߔvj)a;1K~7?i=C*l2> @x5?{ɒ[=FB${8`!>fVPcVKʫuP W{o&'?2Ǿ 7g5Hԡ/|ʧz`d?wٙp i]Qr~Έ:zɗ̊+@=!C"vs},b`8Pho?eEGU/*vI.W~,/D]$@:L5ܩW߲e݋.vguPS? ձa MYyd_!8q·j[WLN{ tk ޏ@ .6 mW7sϜQvvvzx,.v`,hհ~Tfě^Ey@mLYyr ORfЫYv*6I838cj8O ߝiՕ v'>{$/Ecr~[wՅ*Q! Mw Œ,J_~uႚ$k$sAuOy {ٛh xhm) ǎϘ5qƩZӷݘFrziAs@ gp6v3rCǫ :': '>] Ą$~O%*=~ `CUoy2>##_so)0ɉ wKƙ~l`=>Sgў#E Jǘ,M=ws&&YY4r宦5fe;6az/4sՒb*x'ثd_APH&rM E$6aS?ENbG]wYNá.?8~5@dl+ivӏH{Ϛ臧|@Ě`;툭_7vʝ30Pw{wDׯpi,w['-/??;>K<-C"=L"V(lubds#]}kŒD8=Q| Vs承-o7&'_W}#3---7o_&_'.Wѝ0ֽB{9T{ ⍳;((-)R,̣WlDzχGXaq=?blZ׾շON) F9 }fe۱JR I@Wz$jeuʞ,_W?g+%Xh}NKGoAW! #*d \c%/K!BCVik 4ܣ0TxP$/?=`b~?\VZߎ=I=yV1ڿSpryGqߟ烯L;r/ΐx{iSywN֯~~z)~TZQQjM KvTU,.wȐ71ԷF,g_N;fyQxB+hKEkծ@溸qnƇ 'xؽxʉk/iyXԅܺr-g[׽7y嗿\UN"_. ſvM.3iutZ:c푆v%}i{Io{2oi{+--5jY\vš-{lUrJW^\s'$˺kuwD_ߺS5ͭ;qsZv҂ѾXS-7\}D2l62-i&Qm2NwW̪u7Nuః ʋˋBP Ĥ3.{dK:On)?S淶+{8rªkCxAxAլg7s~O1ʋr2+|\%r)VYQZ(T3 2\/ ]@f_Vj@YHp=-tIyj壌{N]6jʌcV$~ĿlؾW=87P{Y7oP{-n(4I{f.-Y_dE{_}^[s2!0׊4~b26\ 4u/9OQoSNOu{|SON?}N|N){>^Ȥ򺩎E7j}3H޿DPC'Xuqv|yWF?pn+q[Ɩ|Tۇ?t%/nGpFVgl/Ut<?;fCT؛9m~?G>yѿ㟾Ʊ']hL$][Uy`[;Kwd?I6(*}c?~9sHI€ӧO<#I͞=I_{G?k:vTwhHg +zÁ-H?9{e>uw)Nc=2j% );moCg:75/Cbq.]tIWGFwbՖ+3}'WܪU8nPMc ȊVLVI_t_dYِG6Z6Z-qcrh(;V)]ARq[n~|OgOW~?|vƚۍ?_ϣ=Qr2y'St/9⿞O|%~|vϪ$Hg'o>| ?~GwRynʫ 0&wYnia}uW3¿5叜Tc-V_l$lk6)5t<-;ooԅ?Č3tS~6KW 5p0Oϖc[6߼;s׿xE_>9[-tb,3m:=9Wk3g:PYHWmC\ʆ-kc?흕uyOfa}I˟R]eSuP< ˤtwsz%>W޽692jގ}O f#.?U4_j^655m{m?tq}䬠g>=̢¢?&[ޜ6LO5 n ?) LWqކ!ܾ1 /׮WgHȔ= mVW8ؼ3rGmml3)h۰6U_mXY?_"g^J΢N[њE P"A޾眽y:*?_t+,w/D8vg罥}癏}OH;C]xlwϯeKdE;R7ʞtUh^I{&J;/(S~|vTqcO1ZֶX]st4*Dyh5;9!]+N oXau]}[+i]]]-rV<~M2*~ر@ytPd!֮ oٴ&Zo\R`GƤ3/c>_~wdԷ}{ WWZiK,g石#xԤ!<@N9t |jVvs>'O(c=&+y%\׭+E"ž5iرm[!ێ+oϿdPGaT\ja~ܫpv=| UQ}vĖ Lhd3T߸w} @%$\:&^Y@/'+]._ipz/,VUض)+xV+Oѽ|0?_XXPt!g-'|cf8woe^!Ќcy}웳|IVKb'F}iox}Np8%$u KP]v,_DgƏz dOrْuR{EU}%a߉π '$޿tݚ_aYMjP}CT7sʕG~~D C.(zMf=L7֞xE__$u:m"! Q cΊFB WO{{Lw4 ?6E-XI5h;/&ՅnOλ˫^I({zR{fTB]Nw=z"skwM OR?I;vZ'6D6-K[NVsJ!:zܒͨy֎V [Q7Ɍ֯ZoM"31>ͲƮoO:<'G>#O--TgC͕PA=P& CVC-1[ZԹ1q?9Aք\/(*S0ږO.Yx)זLݐN{:8| t'ߺ\ۤQu"͌mY,1ӾM.=~ngs-I/u|M+(P:c)?:Q\mhG<@.m/qo4eW~jT|)fryć;J?3 : .E]SS]f@V$d;"]u߯Og|wekS9|>qgνnӨO8-VZR)6 i N^ſi.^SQV˙Ňzk >o?^]__5>I0 ?s,dٿ8cκcԷpݗUXP(y\~'yO>v'RJ?K$ cl!uEu<@T Ru^'k$0[GzKk;/[mg8rF\v\Ini[P3Fg C~F͐-[TtMKf+ԍ7~vLed{gŪ~基^~;~M|tԷ%Ph`6O~zߪ_r95`sTM蒶@0]Ds^ͤWWܝNAX[GO}9ϙo3ԅ[˯m '-orJ2wc*gSk6vbyq,h3ZCSr3Y^%b;QYq/~M"`u/~3}:_~S~'n7#c#o߶gΧOᄏq۶iΪΓș I|?coGǸ1@f(fҧ~}xv߶îdwC%p垒xSsq>jKuxqIFkҴet5\3h/wD{ϰsO_2Ev: ˢ?מ9M=칆j-L3s슚L^ZF߾cqEUSGSǫ`VoF悅SBe3ߜYk;fw<4q}%껡fBKOM\zo2q_u~g=Nܲ(/2*Ͳ_4zs3q^v4nUG_" s1fhsljIWQb&xy=~Pa"`_|;WJ8|Wh1{a?wjU`PP:t%cMMv_?~$3 NؐDVBd˞[7hg:;;*GU.< g3e^ˈ{Rnl3c9&J/g>}VD~xx+'}pĴ=,jټfCCUZY}K$seu];.i?O=CfL(ϽlN -Me]liʋlN)烶s ~`t?-}R6{N-kI(1i 2)gs/pyS1vO_O-]i774ַO4Tod]Nt8}~#]*Τ?Ch{JVeZ;;/QP=S]; *PK[Vo:PlF,$sxL0vnm3'Y0{v=/Tűg'mnf6N.SN 3Yz1[dm4Fm0"rmq9jzc|HSƍ /]_ec=Y]fmsf͚;^#_q9Fw2 Ru)E'~D~I-/3}҉S>3A |> V=IYGdqK.qFXaTY(p *"h ]UoUyx@ѳBGO:ж+OXZfpSzF4 MwYoer?iYQϾ?ѱ+2p7>ߺ,~w|y#I*lZ?X|gX-_ӪrY ۚ?8yLYod絳:߫K_VC.,4󨠿|ت .8.;}6m$Svܹ%:7aY>ffOM-4ƯHt>I;ˀ+`z%2+ ]\xjY^w_$cRWInq Mgg"/޿tBu`N?jƛZc(պ=]_r>cFǁ!YRߨ hj6[B>_mYq]i 8fn>gN^dC0WgL3:W}]u©|g$f/:{W搵5H]63?,?'~F ra,w_ ;6J`/+(bh D$ȾX h5CNnoT {j $uOrOʿ)3_qo$U{^؏}:tMmk>xyIi~s2c{|WXV4zNt% gW,gq̤ͦIXh(0:5ˣ]rTg$/8caW/h\5zÿnz~ŭs=c9t϶&K_*/ߵDJҞ4ZxČ<_.[[+}Ee#F=VJ1p)!3?4hx?Q9Lg@}&7iVHtc͘47mAL&cLaN-;OeB:Pw޴wcc%u.,sSkK cVW5DVz{TƶEJ2[V}[n'e+ޛoLy孩OG1z𸹑rwHN%V&u;yy$x׬]{^מoy3_|>}֒g?s'?j_5?s! 6ƌigÝ`7y׾6c7wJdÆikW~,<}>Bo9F#IX2/W^yeџMس`1_l_ĉ2W>m?1H;/aCGbٰWV;u :7O9\l^I>ݗ޿m*dС*3/TZҕ,P;\ENXZ=oS dAU#vYrNƾ߀ofE'u FGHzF{s,ZĆYT樨xaÔHipߔ xi3~.;Fn iC?^UDqU"F,{r_*cSFI|t\o*UJb~_\l'bɲ3au&CQXπF{۫S}9zMA?uλ?eΑ~v2Xδ)(_e},~o8v89sZ{ik{Ute6.FcUSZb6L)(+,OH0纟%ۢ>]746ViG4.y??Op&Š<[iF掊fYQј*?uLdgkoy|ۇ4v@d7qY0)$MO=~nb:qƹAj"I);pwsL`ڤ?%?Tf._Q88ȜzQRkbvlJ'En?=A6/OOv*s \ oya[c'Ec緿^Թ25B:j+2ˮjN]q"RmosIԩS_AУGO^뚟UU+J:w4sϝQ5Ε ܩƪa߅b9 17DCnw'Wн⧦r'˞PKpcOnx :@فW"o<7WVvy.OttDvy4M=wMk>?m#|+{brWr#Ա/?eX!m_^;|~ۋf,A;i͊lϿvCaD9_vʽ_}[]- $KI_ye L)trH3fK]g Tԝ|upq^=8^s Sl)d~ ;'mtt̮1y`GzKݻ;W}ΛT(WLcK$ oW:{d ޙg|ד2'K#: u#?_";Ni=w_}f9g3W+MX.:TAWZnySH4Eh(ZjE;bQ.jgT!F+K* +fʇ-uV.v\R''Qt<\rW<*}vta]I9+K~q^^68mBk^vd8<DM_.\su;?g#*w LBulZb9U-I?YШ9(M3ZVAvsN ~ԐօV<<#릓xEob}= fH*ӥj}@]7o8(WOk/Rj?¤ͱ_-pLru [QkL"Z&Ca7>u}q?Y-ri`^'Z>]'ιw~6bI]ZMp¯ݗ: ~lY!'*}3SKڳ䍢u't6PgG;ݼ#2s;3&N Fs-QOLY[SԿ|YL`ǚo]Sԙsه}|G˶/{þ^i?SO^<͓=_[:ϹHߔ*$(ZϙuΧ|dg˶/}1yU^WeW]D֩̀Rf[E%"]m\W% C/խJh>]VBB QEfU)?͂Cr Կ Yfӿ}w/g縅TLKduM'MMj=|RAO;iYP6BNc={ Ds>P yMɆn~VXju%i]rYƿ]X f2[e ήM+پm쏺Pg\EȱO>'QEP\ONhᝇ[7ħ&2ΨçUsڧMIՌ{! f +Q;['^gHOtl6GGM۬WZc3jZC,Ʉ`Ҝ$طkBOI޹ۗ t1C.RQ˥kS?=>T_YëUM{_cëc<_Ol4Tyqҋ>}mj^<_̩Z·TE*w?/NחyigK2ȷjje@xīv:EN:ZKpuTʪ.4Fm{쇇7{@堗6>ztG҆[%H:`'EƸ֟ f9`ޜ//Tzc]O|Cb^+hxLpH&8]SO-rOz2'd{t׺nilmyBjv֜MPX$W6uucn6j4ŝr1peuqqh9&}o; kh䦿1h6}MycT1NuM#`uʤo5 :\QhBy7BQ;1$277,Z&@""X~Feٺ"X=L4,ˀ9z45mݱl\Ᏼ/*Y|n}%JYT(m=^`,aX$AǦq_K""TbLn*61Smm1{Uϕ#Q'ݓdAʮ$LnYo4.{#*%qjO_^?TVw˿IV#gUh[{$lN{hyDCm֭EK.~K{R۵ә.?G@CU3a`O?(?tIa| )p=XzՍ939qw8cc (,#dni,f^fa{O88F}ɡVE~u`ҞPBh{KK]kX]rG"fvv_ۇtQ5jiw 3*/?ٳҫ5=iߏM^x7jܞӜDe"sod%RW|.(n?7NY-Tw|}K:~67T,Xp'(.^虅~1WUZ1 q!8mI*m׶ose>"=)@AgcH+ip$6lt9_9jQԬ8nh?%H=voڍSGs^/yH 0a" b?U22BrP`s`ʶ\uش1e5;~84F)XW":%a;O!)+uʲ?ѐ^]Q>fe7>sY]VTPVO4Z._y!U[EEl͎Tߞ $\9f٨)@HZ:N+_P]q e{ĺ FڷXh93+}k_!|Z=ںZ%)9D&~WpAatMSrA.!Hw]=Yڌ1Pk1jW%}Q dZ)/8)9(+6ܻzcc pGmk]J(;r8J:럭?VsK&.|^^4hYy+(OhZrϧ+W%@fV"C+JM_(;۝wR{ENUjE ʚK>//Ak@^^\sܞ)@tHuk8c㺬b;,W3* c;<Wvƒ.9={ %Gbo=gN1q>sn:RvV;T_9 L^* * ;O 8k{ +:C ~"Bq[#vq[rJ:ڿ39g͒Jst?/޺Nr))GvZۋ|xU 9&ʵb=v5/Hf6Je:PWk,;]+hK| >DUaɌ ǫtMԵrmO:2\$pG_FWWTRX`TV%CK bdٞBSeyE:jP J"Ӓ v%.q" y, uCp# O+lh/(UֈNH9{UmjDd*IoNPN'uӾ&A]Un@>Is sl;Z/K=ןA5ֺ9M鑛ВEJ] w3okɴFktGX. M+ 6"cږCsӮnI|l{Y\w$Ni,R撷 f6W8q tr; رAў| U¦fn%˕Lteu0*huJ2/Q~(Y)ȹJ}=~Q!}-_e J:Skw/JVعdv];3RkױB˒?t}? 5oY@a  HSE_1DZ֙Qug-OȘgs8ʹ\ژ|Ls@/bwUu7:6~^.5;w1~c))<=پhkMyㄊ JUƏ_sT,EToDz12Šmy T$k?%)tɐqg<<KwLIp%]rTzFz,0~~vǪ9vgmO>cm[VdZ'7'?g3~ytCvd`_ l6eNeﮖRYoh/l˞ld/کBۥ.dVZ!T㳀+m"1+ WPgAWxΤ`͙y ;30ͣ;;9vo:2^h bw;:6ybܞk\Z~$vT9fy- Uʛ;K[Ncb[#>IAep ڊ' pFbL7m3{vON\uJNzr|wD~sνҽO|Y\҈^~m!Cv B{M>|rq_<޶m;G{_|]ԿFG#~#{o{?"_p~˸gdu}+Cg νwGONMgf5dOW88%Pc,%~@}(e}>>2pQABn`ujfT=HF F 'SE^9Xwul +j~D-Qhԭy܍3rZ.ՓSECb*)w$&,TT2q /{$Z'CjZXŻ_, S잌zV۴=m[_?si3n)w7wJn; z{%^n[)zAwyqݞHSN:{nR3!rkĺGAuIH@q`.tBٸ~5_Xӯ.Qt!x5^24~]&bN\_)տw{[vH`R9 55'~]FaD KfPS_ɉ%Yo;㟷UтsNU 3HzaYB8L+lE|cvH%*_z6`u9M^"mQYً<)Xx(N]do-P )i{!wcGs0"+);y./Y ¹4˱oU^߾'h`T~H7%U3wڵU}(+,T#ovSx(=x&ޜ*f>X"u%$xֻ3M!uID=[UEOYVf}'_{׃=^' NnVRR+]|f%\t^t V(#r:AޑmG*NG[%#}R$Ue^4c/cK{92O}g:`-#яzWEzLvDA:9{?N`jt<{ &"\q"YWϨ_έ=_*! ͫn7f8j$ K"I~T-bwe@n_Fe=ʔ QÝp_I?wnF2܅*](tssߝmw;=qK*E7{C< ܥg:;w>nͧD`^':{8hxJ3'j-_Kw j%S~:E%7 VD{HnG@VnL U[]1|*(ɅT@1/ :3BM9K?,~.d萃C>(-\}sB5R72crUg |ag!Öuor;K!.:J =͓p~F>IENDB`7Dd  t0  # Ab64:64 rF{[6nS64:64 rF{PNG  IHDRL #9sRGB pHYs%%IR$5IDATx^SUt ݂kW_]l}w򪫯 (@DD) XA)4R U?''ܹIn 3~nn=9ɓޛmKA2࿁u.R*6/]:'`E'㴃8U+O:Y]\ Vla*=hn0dsW[ h~D`w5-`D+ҳ? {O0])ۧ2:mD}}b{8|.|8:?lkB6=!:Ӷѷ `>N7iAM?躕7*(X2saώL@B!dΙK:#tJ%Y lg-b>b\R~ |{[$  ZW4R*_Qw&+ QJG۫ZX r[Y8Et-usO3 @@68DOjFkOiS&?4]wn޲o<kC7h GÕqGOmP^J&\~rbOVjW|- -o -dh^&))՛KN%~yq~[6DE,免 5:irjg۞3 V ;qr7v>yZNS]ԻrS9=r[se&߫o>>?I`ZzN*.q3X+ΑmOCP+= ߞ|tNw˟Z>[?gonRkRaYA/ʚy]2?l3mȈ8 ?i]',zýc<3dZۅb^[Q{Zkr͚vw/{hK?*|̲3*l|SE>b? ,O;L߀n%KO8kPeOo(_׏m΃*6K&,ʇp/<6yCKvG-߽~41.[WnU[\p ]_5o-w{B86]ZZ0cѻ.5>s,Suz%H~֮7=޷KU>TynWp)! S$5a96ű=b-?ظoy z*ٹ?AZgVf%W]MU[l-ٹNk6'[7 xCWԾ쾝-|i>XV릅 ~Q|N3uZR%vQ} SſzG|*UG-5o0ddj+ <u[U_l􎜥v8(ko*ЁwԶ/Uh.ڠ[RuǹNI.wcasYUc֦M& ^zB5K{Ў +\K.~:lL3˂ w٤f8.ʲ~=U| B{6ȗ^3}{ % ]R2uM G5d ќFD_lKx]-[Gªg <{prn}o}N,vK' +6|{ja>6(2 ns zU]^wr eYnaPJUrtiV@~|:{ 9Yطmf|zkgmz>[߯.?^=(_'?l˂Z?,kR̂G6w`ݐ^?W/C_qᗧߡ~0g^צY/ٲrhWT+d9G^/y,UFG˂<ʲ,<[#?>y۰ެm^yr/Ws9.G3vY7FnO`?mO/^8Ĺ]*]ܛxG+qI;'!BviVKuN_ut̿=3;&yJ&쩹2B"z&Lwyjr{WKrQMGv 󅅯M' A]i-SX$KKNN[kinؼUc5;eY:&=mzf<{js ߘv@fQn9Æ:nڲX[*ǿ~mԱMקe/&I8?yʗKޜ~@AU~O0qlx)ю;M7L|pޢsuHFݷAۭOUI|'gIKwؑK}VTp.k&--m,蠞\D/XOޣGM΅ɅMnLp./M)|mzQnc} cz:WnVdT>Z8oe궳q8 ῭t̔򫶔5sޙU<廼+w=^]d{. K U7̮^Wuo'Ccg+bUr9hTXhaz;.}ߖnx> l7cmY&-ګ)()_&C(k+K|Y[^i[wx}B%Z/E]WNQ3_h3[(꫆?3Q9p,yqjkSdHS?=շGϗ?{@;Vel{|R^BDB?n/}S:x*lWK}U\8|?6^nZу X#8ϣ_Z=Ur}٦rue\[F:W9η&WYw{57T,w9|sŕqrBIw]#YuOr=Ն(v y}f](_V+Ӡۏ8 ȭvcTvP-;KjA?=n=)T$B?JG7iKusg\.N/GGUX#nnFb'6 Nm Tr5)rct{#o_QgS9G{JI`r;o\}9V{Ъjgea^5ÿV4}N,}]nBq+}\MI,@NOq_VsDZ]kI}ݾ 79ߺqҤ`Tذ)&)]e^ɴUnJMߙ6_j vWTGxt{R94JKQw=:c>pm#A.z;rZ :!ӱ/nZb岸k#G%fWtNɿԯ#4h&hV;VtwY%Csǰ9NwȺe}FWKt,xï=}:LquW[<3RfV|,=5e;oԯJQcX庶۷ȽRl'{|kN˫:eW1¾ Ϲ{wPwPR*[w r_+m[4Tލ$Y'~#w1.=.ݴWwѲ՘iU >?o/F9~TV~&էȣ^/NNSzHlFhGtR04ArH_uQu;%tB嚸N]ˣ3ԇ~ڽa;< rRv=NTj]gGkp_<3UnbXނMWJVoVa6I/;5M+dn/?23tj$8N i4quNAn@bۀp9kTmg%kǫyzG.bxc6RR"čouqccV^c5Tg]luݏsߗ㗡W_yFm?]Y_vˋIw^M*6\G FL)v8NgEH׻qFݕϻ W.::Yb=of`O: 75h-2fo4;]'mַ^ `~ -MnsE~I Z%I~kU=ݘmjPEգ\'_=Pg/jïiuAi/ߒ:c;o[|b.Y9ڦYۭb?oW-9ENP9׏]X&co8KUimz^6TոE|sYfMT|TPvIS'5Mhם]6~TgTmWjG傸aGߤꖳjw$vSظ#t_8oO|F~RNoW^ΦgMȵ?Yy!A]Nf&d??SΑ_qZZk?^P,úsD`mEL Z\qZRUG?˺={f5$A.w?ut\.៙Xqew'NS ~?}הJ@b^9-+׺Gl3lu9ѽYv>~|^ur]>azI}wPEqu/?pi)ײ_V#(~29.׺ꙺ_\&/M=,op^)/gZzxT"W56P-kp[=펼U7[Iywz7.LJ< %7f3:(ΧS|k*Fؗ(\=aFDzI~&?nZMNw|7lb xRآ!s#xWwNk.r1NFP* S/yÃ9z5>vu*&X{<@38:M[9"46 y1%‡def{0; .,xPqr3ߘ޿l\>u)m*mpvpN b߰]uF,l_&N+:(^]{t r`"W׮bp8W+ަ8gİ7"Nىmr?U*o:ϭet#gD9CTKJ38rܞ2?rDimxczv7Ce66hVOqJACC&pZ]=N;9Vrq"PY=N?_?smɞ]Ec" ZTh{ {>x!J)sGy't2xDrB$v0JjLŧRwm+}+'wW\FFT:^>nM ;q ME`OD1H7 [E yjWѣ /F"p+}U]=ֽ8oDt"S,#L ɁY󳊺DҰ3n{rtkl8|VmyأqĈ^8}h 9~h  +r# @G6" @ƻo 2N"\&W-;R@@>gџyx@@ b2ӧoKjKqڴirb7ԷpcjqAmsԸ:Tv!p?ڇ[ 'Ԇv%vlٺVwU]>?íw\7txjn5%oiW#͘xI@G{"z5e `.wbp?T "NVx ~}ٱ1A_T޾I W>z"; 1OSǶ À@TЮUG>[+XS_=WlZv3]:>nH@JGpjUYn6z8i.Sue}_bDЫD8L淎宎l؞ƴëpPqѕTˁ6WS10qc n#z28šUYdLG83nگz#p^a\j{\ rA=zD&, 1vvF8nm[~9ZZCsZ6aCTQ 4 j֘WS z7@TԏaF~ff n-<%qf;BLG\vtr턨rnlqnU^( PM:R]ݿoZ92KcfP֞*v@,sAm3r{3Z84 8,TK#t'Zwˡ0eeaOyc]}r9ww?4|FuA k{9Gf>av @M t.]GkQ?Eȡ14)7[eĵC!":)/ǯk~cG(ZLӧ_;$Jg=9+M.cyŽ_/~6,@?0^;*A& ߣ5qBp]ࠠ(1;UqV=^mq;Bn"@/̸Go =B-m-Epb1֣A]Q!t\k[=};c= S8 8G:m= wt=(| {C{p7qp#}xz׎xykO8ܸ:xGݝ]!h!@j=pc jT 7m;Gl?[ޫ~',Cfsjz@)@OMB@pϵG@p #H@PDt &ME 9 DtF>  @Dg  `݄Q љ  @D7a Dt &?0@嫉ܷy}b֕7*(X"k=;ސ _KvVm)JT) ^WbqLA\rم @M ܼcztl.&G}# k8Dt  N \"zE 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME @\r O-%@jR&7 K.!G׈P  G  Pkۈ@*#@^5A@ ׶= TF2jl @m Gm#B{@9ze@&@^F  Prʨ  MA@2Qc@j9zmڃ @e+6 6r6"@%G?M2l @gIM Ԝ@\rti~bu=# @9:@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:sx*S  G"u  P5=@xC:@ir @<H Դ9zMG@ P@jZG# rx(R 5-@^#@9z<@ G`' FME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME 9:s@ME @Jjww8!hP" @ j JDAd (9LB@" H@ 3@0An(@@j@֡w7#Q  H`ۖ=ql A@= R3%/@8t:DC76 @b Dl) @{Z {"{+J" P{?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNcSVWXZY[]\^_`bapqdefghijklmnoruvxyz{|}~tRoot Entry( FP.U@Data /%WordDocument'ObjectPool* e.P._1073815531Fe.e.Ole CompObjfObjInfo  #&)+,-./013456789:< FMicrosoft Equation 3.0 DS Equation Equation.39q0mIyI a+bc"d  FMicrosoft Equation 3.0 DS EqEquation Native L_1073815844 Fe.e.Ole CompObj fuation Equation.39q4II a+bc 2 FMicrosoft Equation 3.0 DS Equation Equation.39qObjInfo Equation Native  P_1114767090Fe.e.Ole  CompObj fObjInfoEquation Native N_1073815806Fe.e.25 d"a+b4c FMicrosoft Equation 3.0 DS Equation Equation.39q@I\I b 2 "4ac2aOle CompObjfObjInfoEquation Native \_1114767198Fe.e.Ole CompObjfObjInfo FMicrosoft Equation 3.0 DS Equation Equation.39q73 ab+cd"a FMicrosoft Equation 3.0 DS EqEquation Native S_996474860"Fe.e.Ole CompObj fuation Equation.39qg0kIvI b+c"def FMicrosoft Equation 3.0 DS Equation Equation.39qObjInfo!!Equation Native "L_996475085$Fe.e.Ole $CompObj#%%fObjInfo&'Equation Native (T1Tablewg8HvII (b+c"d)efOh+'0  $0 L X d p|.Running your first C++ program in Borland C++ 1unn ProfessorurrofNormaloRachel Friedman150Microsoft Word 10.0@2uZ[@n o )Q `!IZ[@n o )k@2xMQMJPf^6-".Jnҕ^"H5PB ]wn=\x`Ndy3}G1vQ D!.2ԲSYM_,݁Dg8AMI7ʚ&nd[`;Cc]ӏ8E:?_N'`D4k~/B:pw=(~(&v>ǦkQ$O4yT.M[70|Bh"9"sgI lsܛ?6 <Dd B  S A? 2|i+Bo7Z8X `!Pi+Bo7Z8`@:xQKJA}U?! 7` E8yO DUUg7vSz_|$첚iZCSnpkrvf6$[^#!,كDb7Fi4u̝|gȫou5kIk/N'̈y6MzMҟ*U9;щy!܁W.V?ҫYSy4֩*| S}heǃ"M.C¼">5hXQۃb:rg}?3FEDd P  S A? "2Ӄ J`- }`!uӃ J`- V@2Cxcdd``f 2 ĜL0##0KQ* WrURcgbR qP6fĒʂT @_L ĺE1Nbҙ\ 0&?ηbS*g ~&0<`{M2727)?(_s`] 2BpHVrAc K`3@``㕑I)$5bPd+I,İrt?1jq$Dd B  S A? 2 wt䌨F6Ej(`!b wt䌨F6EL@0xQJQ=3wWB007!OlVEVuH.;g9gB0 N(QaLbkVZm&߽̳*wpEB n;n$Ȍb/ xt^;uUlRɾ/lU}i{EO{'y6L`gCBXo;z2=xL~!=} C7%RKi8_f>P9剻Ew67MD-59c,*s[ GY{2 PVJDd J  C A? "2 $m1ti|ґL`! $m1ti|ґ:@8  NxmQJA=sg7&KQX-l$"6S6]Pp!ebeiOĀE,$`a"B\.sΝs#PD9"!,eF[b3]zFaX _B7 J"EPي0QV&"M91ZP͵/ZPF zqyO|奞!8( q~ض9I ܩÑakb~dy[>I懖-!fH-y#/S6{'L=eOLmsDʹ׏bfpVn0%\$$If!vh55 5.#v#v #v.:V l055 5.4$$If!vh55 5.#v#v #v.:V l055 5.4$$If!vh55 5.#v#v #v.:V l055 5.4$$If!vh55 5.#v#v #v.:V l055 5.4$$If!vh5 5k5,#v #vk#v,:V l05 5k5,4T$$If!vh5 5k5,#v #vk#v,:V l05 5k5,4T$$If!vh5 5k5,#v #vk#v,:V l05 5k5,4T$$If!vh5 5k5,#v #vk#v,:V l05 5k5,4T$$If!vh5 5k5,#v #vk#v,:V l05 5k5,4T$$If!vh5 5k5,#v #vk#v,:V l05 5k5,4T$$If!vh5 5k5,#v #vk#v,:V l05 5k5,4T$$If!vh5 5k5,#v #vk#v,:V l05 5k5,4T$$If!vh5 5k5,#v #vk#v,:V l05 5k5,4T$$If!vh5 5k5,#v #vk#v,:V l05 5k5,4T$$If!vh5 5k5,#v #vk#v,:V l05 5k5,4T$$If!vh5 5k5,#v #vk#v,:V l05 5k5,4T Dd<  C A? 2|ZwQ+I@QXP!`!PZwQ+I@Q  dxMQN@ }vҨ H)t` _aZ e_01'fR,@ h EfP2C{7 1vUo19Tk[H寋}"'d$1JytEY2o֌? GOT;|T|pSgAeGU?:yv :71̒EE?vm_=?t+]vߡ 3ZuE;lL˚=JSummaryInformation()*DocumentSummaryInformation82,CompObj;jL@]@@.a՜.+,D՜.+,p, hp  Dell Computer CorporationsMA .Running your first C++ program in Borland C++ Title 8@ _PID_HLINKSAtSJhttp://www.turingscraft.com/  FMicrosoft Word Document MSWordDocWord.Document.89qHeading 1$$ 7$8$@&H$a$ 5>*CJL@L Heading 2$H$7$8$@& 8 CJB@B Heading 4$$@&a$5CJTTTTTUUVV$W%WUWVWWWYYYY{Z|Z[[[\\-\.\U\y\\\\\\]]]]]]^^^^^^_ _6_7_``G`H`````````aaaa'aKaLaqaaaaaaaaaaaabJbqbxbbbbbbcc"ddddeeGeWeXewexeeeeeeeeff@gAgSgkgggg h hh4hUhhhihLiMiiiiiijjjjj9j?j@jHjUjejljmjjjjjjjjjjj k kk!k&k'k+k1k=k>kRkXkhkikskykkkkkkkkkkkkkkkkkkkklll llllll*l+lDlJlUlVl_l`lllambmmm"nZnnnnnoo_otooooooop#p$pGpHpIpJprpspqqr r&r,rrrftgtnuoupuquuu vfvgv~wwwwwwwwwx%xExfx|x~xxxxxxxyyyyyyyyyzzzzz6{{{||\|]||||||||||}}}=}a}b}}}'~(~k~~s'(ʀAB\]^u3?APQڃۃ܃FGaЄфQuvwT\]_lφ4UWXfgyz)<@< NormalCJ_HmH sH tH V@V Heading 1$$ 7$8$@&H$a$ 5>*CJL@L Heading 2$H$7$8$@& 8 CJB@B Heading 4$$@&a$5CJDA@D Default Paragraph FontVi@V  Table Normal :V 44 la (k@(No List 4@4 Header  !4 @4 Footer  !.)@. Page Number<O"< labeldd[$\$CJaJ2B@22 Body TextCJH>@BH Title$  7$8$H$a$ 5>*CJTC@RT Body Text Indent @ ^OJQJhR@bh Body Text Indent 2  ^ CJOJQJhS@rh Body Text Indent 3  ^ CJOJQJ6U@6 3 Hyperlink >*B*ph0O0 3 footnote re1.O. ] footnotere1)9:;<=>?@ABCDEFGHIb{opq       Z[)9:;<=>?@ABCDEFGHIb{~     '()*;<GHRS +,wx'()IJ_`aYZrs}~  TU}~-.lmD E o p -   & @ T i t v N O @>?|}  5@Bl~:;vw-jkpq, - L M !!e!f!!!!7"h"""####`#b#c#2%3%l&m&U'V'`'a'' (\(](((((()))g)h)))++--..F.G.[......./////E/F/H/h/i//////0 0V0z0{00000001+1=1K1N1O1W1Z1\1]1111122!2#212g2222222222333l3m3n33333333 4D4_4q44444444441525f5g5555566666666777777788899999:U:p:::<<<7<8<=='>(>:>;>>??@@@@@@@ A AA'A9AuAAAAAAAA*BSBUBVBWBkBoBwB|BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCC CCCC"C(C4C5CICOC_C`CjCpCCCCCCCCCCCCCCCCCCCCCCCDD D DDD!D"D;DADLDMDVDWDDDDDDDDDDE=E>E?E@EAEzE{E|E}EEEEEEEF3F4F5FTFFFFFFFG:GlGGG HH)H+H,H-H.HBHCH\HlHHHHHHHHHHIIIIIJJ:JUJVJJJJJJJJ*K0K:K;KKKKLLNNOO4PPPQ?  5@Bl~....../22222248\Hxyyzz^~00^~00|00|00|00|00|00 0 0 0 0O900O900 0 0|00|00|00|00|00|00|00|00|00|00|00P 0 @0 @0 @0Oy00O900Oy00 @0 @0Oy0!0Oy0!0Oy0!0Oy0!0 @0 @0 @0O90(0O90(0O90(00 0@0@0Oy0 0@0@0Oy00pOy00Oy00Oy00@0 @0HHHK j!%)a/1 8S;>,FK,M PSX]chmpMsuGzVev|}}PTWY[^`bdfgkoqsx Z vl;-$,(c+167=99;<>(FIJK4K_KKKKKKK L!LLLL5N\PR]cgklos9tltt&u=uhuuuuuuvv*vUvw#zf΃]Qyc0a2}}}QSUVXZ\]_acehijlmnprtuvwyz{|}~}R,XuDDDEEEAEUEWE}EEEEEEX:::::%(/27BEK!44I]_bvx~::suTb$Wv+2b$îw2"b$LJ#[dsb$a"ʻci gfb$Ҧ3Z* !&b$VEFN3T`6(b$㱹jܓb$$>LpkH/b$O]I} 2$!]{F^VQq b$]0X8olfgb$^ʶC $2$r=mr\%b$r.ֹ1xK Lb$͎SZ? ,Vb$'Fq _b$1i߷"`o/kmJ$b$ N_[ob$lFׁw b$`pց»?B% b$[,xF2I(b$99x'EeX$=b$l;Wkk'Nbb$Va\$_[#Չb$(P´.w32zF b$`3fk`jq6Y fb${Q t2$ZwQ+I@QX$2$ђ;zټ\EHG3mF@x t(  V Z C A ?"V [ C A ?"P o  " P p  " P q  " \B r S D"\B s S D"J t # A"B S  ?W1ASBqX~tp~to ~tstrH ttHa4Zm4[`{4 OLE_LINK2zL!zhBhZh^hbhfhQiUik kSm`mipopqqqqrr;r?rrrrruuIvMvvvwwwwwwwwww xxxxx#x*x.x?xCxJxNx`xdxxxyyyyyyyyyzCGX[djtw|Íȍ̍ *0;?DHekw{9< "2;K[fp z}~Ĕϔٔ &-Kg./x}).JPadZzPTW\ T Y i l w {  " %58CGmt  dg{oum v f!i!!!7"9"""## ( ( ((c(g(((((((/)3)))+, .*.[.`...........///B/#0'0000000000111,131A1G12222$2*22262k2o222222222 3&333334444H4L4c4g4u4{444 557788q:t:::8<E<<<<<;>L>>V?@@AA&B(BWB\B|BBBBDDEErEtEEEEEFFFFFFFFGG;G?GmGqGGGGG HHH%HHHI!III JJJ J:J;J1K4K@KCKKKMMMM#P*PvP{PPPQQQQQQDTKTTTUUUUVVVW]WWW{X~XXXlZsZZZ\\!\$\3\6\_\a\\\]]^^ __``LaMaqaraaaaaaaaaaabbJbNbxb|bbbbbbbcc"ddxezeeeeeeeg gg#gFgLgXgZgugyggghh!h#h>hBhZh^hMiOiiiiijjjjdmkmmmo%ocogooooooooppp%p'pqqqqrr;r@rrrrruuuu;v?v]wbwwwwwwwwwww xx*x.xJxNxkxrx~xxxxxxZy^yyyyyzzW{b{p|u|||||`~e~~~~~~~~#ʀ@BGځ݁ 38KO܃bgRWw{UY_clp48lp/5]`,/v{ԋ؋IMCGȍ̍ DHŎώՎ#9<TXowȏۏ,04:W^RYz} )+ JP./78:HNX^3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333*:FR- @ S T i !!"#`#c#V'_'00A1M1O1]1$2222222334444669:@@AABBBXD HHJJSS T T\\]^````aLabbddeegFgkggiiiHjejjjjjVltooooopp#pqr vhvww|xxxxyyzz|||}B^\]v_g4M:_`y./FHVXf./Preferred CustomerPreferred CustomerPreferred CustomerPreferred CustomerPreferred CustomerPreferred Customerprofesssor friedmanprofesssor friedmanprofesssor friedmanRachel FriedmanE\ } ,Tn GXUz8,zB_=0ֺ_R7vsR]*;X~NM`^Vingz)s, r&v=V{\>~z hh^h`OJQJo(hh^h`56>*CJOJQJo(. hh^h`OJQJo(/hh^h`56789;<B*H*OJQJS*TXo(/hh^h`56789;<B*H*OJQJS*TXo( 88^8`OJQJo(hh^h`o(.hh^h`o(.0^`0o(..0^`0o(... 88^8`o( .... 88^8`o( ..... `^``o( ...... `^``o(....... `^``o(........^`.^`.pp^p`.@ @ ^@ `.^`.^`.^`.^`.PP^P`.z^`zo(.z^`zo(..0^`0o(...0^`0o(.... 88^8`o( ..... 88^8`o( ...... `^``o(....... `^``o(........ ^`o(.........hh^h`o(()/hh^h`56789;<B*H*OJQJS*TXo(hh^h`B*OJQJo(^`.^`.pLp^p`L.@ @ ^@ `.^`.L^`L.^`.^`.PLP^P`L./hh^h`56789;<B*H*OJQJS*TXo( } M`^R]*;XE)sn U{\>~8,ngB_=0vsRr&v # H HN/ &o 8 VF 8E z ,7[BQjy" M%z(-),0,DS.62A2S3v34@L6Rj67#G8W:1l:y:q;,>OR@z@uDEnG!GYG[GH,Il8I@ JiM O*O P YPSXTWVvOvxv%x]}9_o|Mpc'}]\Mv`t> 7`~wCHFs oq\t!~N$Ulvv3{,G k!MB;~;(Re;<N@5+; `/Rox(Jtm!:e3W:yNF3^"=/![(1b"Y|q0K1N11n366@@ AVBWBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCC CCCC"C(C4C5CICOC_C`CjCpCCCCCCCCCCCCCCCCCCCCCCCDD D DDD!D"D;DADLDMDzEff h hUhhhMiijjjjj9j?j@jHjejljmjjjjjjjj k kk!k&k'k+k1k=k>kRkXkhkikskykkkkkkkkkkkkkkkkkkkklll llllll*l+lDlJlUlVlqx|:!0Ac0!0)B=GAvmm@@PQRP@PXPZP@P@UnknownGz Times New Roman5Symbol3& z Arial5& zaTahoma?5 z Courier New;Wingdings?Wingdings 2"qh䃧⥩ffaMaM"24d 3QH(?;<-Running your first C++ program in Borland C++ ProfessorRachel FriedmanD