(*^ ::[ Information = "This is a Mathematica Notebook file. It contains ASCII text, and can be transferred by email, ftp, or other text-file transfer utility. It should be read or edited using a copy of Mathematica or MathReader. If you received this as email, use your mail application or copy/paste to save everything from the line containing (*^ down to the line containing ^*) into a plain text file. On some systems you may have to give the file a name ending with ".ma" to allow Mathematica to recognize it as a Notebook. The line below identifies what version of Mathematica created this file, but it can be opened using any other version as well."; FrontEndVersion = "NeXT Mathematica Notebook Front End Version 2.2"; NeXTStandardFontEncoding; fontset = title, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, L1, e8, 24, "Times"; ; fontset = subtitle, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, L1, e6, 18, "Times"; ; fontset = subsubtitle, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, italic, L1, e6, 14, "Times"; ; fontset = section, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, grayBox, M22, bold, L1, a20, 18, "Times"; ; fontset = subsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, blackBox, M19, bold, L1, a15, 14, "Times"; ; fontset = subsubsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, whiteBox, M18, bold, L1, a12, 12, "Times"; ; fontset = text, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = smalltext, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 10, "Times"; ; fontset = input, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeInput, M42, N23, bold, L1, 12, "Courier"; ; fontset = output, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L-5, 12, "Courier"; ; fontset = message, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = print, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = info, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L1, 12, "Courier"; ; fontset = postscript, PostScript, formatAsPostScript, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeGraphics, M7, l34, w282, h287, L1, 12, "Courier"; ; fontset = name, inactive, noPageBreakInGroup, nohscroll, preserveAspect, M7, italic, B65535, L1, 10, "Times"; ; fontset = header, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, italic, L1, 12, "Times"; ; fontset = leftheader, 12; fontset = footer, inactive, nohscroll, noKeepOnOnePage, preserveAspect, center, M7, italic, L1, 12, "Times"; ; fontset = leftfooter, 12; fontset = help, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = clipboard, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = completions, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12, "Courier"; ; fontset = special1, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special2, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special3, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special4, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; fontset = special5, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, L1, 12; paletteColors = 128; automaticGrouping; magnification = 125; currentKernel; ] :[font = title; inactive; preserveAspect; startGroup] Simple Dynamic System (Modeled with Differences) :[font = section; inactive; preserveAspect; startGroup] BRIEF ABSTRACT :[font = subsection; inactive; preserveAspect; endGroup] This problem is intended for late in a calculus sequence as an introduction to modeling with discrete dynamical systems and matrix algebra. :[font = section; inactive; Cclosed; preserveAspect; startGroup] GENERAL INFORMATION :[font = subsection; inactive; preserveAspect] FileName: DYNSYS :[font = subsection; inactive; preserveAspect] Full title: Simple Dynamic System (Modeled with Differences) :[font = subsection; inactive; preserveAspect] Last Update: 5/31/96 :[font = subsection; inactive; preserveAspect] Developer: Jerry Fine Department of Mechanical Engineering Rose-Hulman Institute of Technology Terre Haute, IN 47803 Phone: 812-877-8353. Email: fine@nextwork.rose-hulman.edu FAX: 812-877-3198 :[font = subsection; inactive; preserveAspect] Contact: Aaron Klebanoff, Department of Mathematics, Rose-Hulman Institute of Technology, Terre Haute IN 47803 USA. Phone: 812-877-8151. Email: Aaron.Klebanoff@rose-hulman.edu. FAX: 812-877-3198. :[font = subsection; inactive; preserveAspect; endGroup] Support: The production of this material is supported by the National Science Foundation under Division of Undergraduate Education grant DUE-9352849: Development Site for Complex, Technology-Based Problems in Calculus with Applications in Science and Engineering and the Arvin Foundation of Columbus IN. :[font = section; inactive; Cclosed; preserveAspect; startGroup] STATEMENT OF PROBLEM :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Background Information -- Derivation of Difference Equations :[font = text; inactive; preserveAspect] Your task is to investigate the behavior of a simple dynamic system. It consists of three components: a mass (M), a linear spring with constant (k), and an element which supplies a velocity dependent force. That force is equal to b times the velocity of the mass. Here is a sketch of the system. :[font = postscript; PostScript; formatAsPostScript; output; inactive; preserveAspect; pictureLeft = 0; pictureWidth = 333; pictureHeight = 178] %! %%Creator: Mathematica %%AspectRatio: 0.534535 MathPictureStart /Courier findfont 10 scalefont setfont % Scaling calculations 0 1 0 1 [ [ 0 0 0 0 ] [ 333 178 0 0 ] ] MathScale % Start of Graphics %!PS-Adobe-2.0 EPSF-1.2 %%Creator:Scan %%Title:Pasteboard %%Origin:0 720 %%BoundingBox: 0.0 0.0 333.000 178.000 %%EndComments gsave %%BeginFile:Pasteboard %!PS-Adobe-2.0 EPSF-1.2 %%Creator:Scan %%Title:ConvertedTIFF %%CreationDate:Wed Aug 2 18:02:23 1995 %%Origin:0 720 %%BoundingBox: 0.0 0.0 333.000 178.000 %%EndComments %ImageData: 333 178 2 1 0 84 0 "beginimage" 20 dict begin /rows 178 def /cols 333 def /str1 84 string def /readit {currentfile exch readhexstring pop} def /beginimage {{str1 readit} image} def gsave 1.000 1.000 scale cols rows scale cols rows 2 [cols 0 0 rows neg 0 rows] beginimage FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC30FC3C3FFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFC00FFFFFFFFF33FF3CFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0000FFFFFFFCFFF30FF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCC00000000000 000000000000000000000000003FFFFFCFFF33FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC000 003FFFFF33FFC3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0003FFFFFFC30CFCFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFC03FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFC3FFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFF0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC3FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFF3FFFFFCCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3CFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33F003FCFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF0FFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF33F003FC FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3CFFFFFCFFFFFFFFFFFFF00000000000 0000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFF3C3FFFF03FFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFF0FFFFFFFF03FF FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFCCFFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFCFFFFFFFFFFFFFFFFFFFFFCFFFFFFFCFCFFFFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF FFFCFFFFFFFFFCFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFCFFFFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFF FFFFFFFFFFFFFFFFFFFCF3C00FFFF3FFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFCF3FF FFFFCFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFCF3C00FFF3FFFFFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFF FFFFFFFFFFFCF3FFFFFCFCFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFC0FFFFF3C00FF FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFCCFFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFC03FFFF FFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFCFC3FFFFFFFFFFFFFFFF3FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFF3FF3FFFFFFC000FFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFCFFF3FFFFFC3FFF0 FFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFCFFFCFFFFFCFFFFCFFFFF3FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF CFFFCFFFFF3FFFFF3FFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFCFFF3FFFFF3FFFFF3FFFF3FF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFCFFF3FFFFCFFFFFF3FFFF3FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFCFFFFFFFFFFFFFFFFFF0000000000000003FFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFCFFF3FFF FCFFFFFF3FFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF 3FFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFD9 FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFCFFCFFFFFCFFFFFCFFFFF3FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFF3FFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFF3FCFFFFFCFFFFFCFFFFF3FFFFFFFFFC3FFF0FFFFCFFFFFFFFFFFCFF FFFFFFFFFFFFFFFF3FFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFF3F3FFFFFF3FFFF3 FFFFF3FFFFFFFFFF0FFC3FFFF0FFFFFFFFFFFCFFFFFFFFFFFFFFFFFF3FFFFFFF FFFFFFF3FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFCCFFFFFFF3FFFCFFFFFF3FFFFFFFFFF0FFC3FFF CCFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFF3FFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FC3FFFFFFFCFFC3FFFFFF3FFFFFFFFFF33F33FFFFCFFFFFFFFFFFCFFFFFFFFFF FFFFFFFF3FFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFC0FFFFFFFC3F3FFFFFFF3FF FFFFFFFF33F33C00FCFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFF3 FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFC3F0FFFFFFFC0FFFFFFFF3FFFFFFFFFF3CCF3FFFFCFFFFFF FFFFFCFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFC000000000003003FFF3FFF FF000FFFFFFF03FFFFFFFFFF3CCF3C00FCFFFFFFFFFFFC000000000000000000 3FFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF3FFFFFFFFFFCFFFFFFC00000FFF0FFFFF0F3FFFFFFFFFF 3F3F3FFFFCFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF0FFFFFFFFFFFFFF3FFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFC00000FF3FFFFFFFFFC0F3C0FFFF03FFFFFFFFFFCFF FFFFFFFFFFFFFFFF3FFFFFFFFFFFFFF00000000000000000003FFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF3FFFFFFF FFFFFFF3FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFF3FFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFF FFFFFFFF3FFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFF3 FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFCFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF 3FFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFF3FFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFF FFFFFFFFFFFFFFFF3FFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF00000000 00000003FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFC3FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000 000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03C0FFFFFFFFFFFFFFFFFFFFFC 0F03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFF3FFCFFFFFFFFFFFFFFFFFFFFFCFFF3FFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFCFFFFFF FFFFFFFFFFFFFFFCFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFF3FFFFFFFFFFFFFFFFFFFF3FFFCFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFCFFFF3FFFFFFFFFFFFFFFFFFFF3FFFCFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFCFFFFFFFFFFFFFF FFFFFFFCFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFF3FFCFFFFFFFFFFFFFFFFFFFFFCFFF3FFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF03 C0FFFFFFFFFFFFFFFFFFFFFC0F03FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3FFFFFFFFFFFFFFFFFFFFFFF F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000 0000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD9 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0FFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFC0 grestore end %%EndFile grestore %End of Graphics MathPictureEnd :[font = text; inactive; preserveAspect] Let's apply Newton's Second law to the system. Let "a" represent acceleration. The variables x (position) and v (velocity) describe what is known as the state of the system. It is true, of course, that there is a relationship between x and v, so we include it in our system description. dx/dt = v (defn of velocity) dv/dt = a = -x + .2 v (Newton's second law -- with parameters plugged in) There are many ways to use this differential system as a mathematical description of the physical device. :[font = text; inactive; preserveAspect] One possible way to proceed is to focus our interest on the state of the system at a sequence of times, beginning with 0. Let h be the time difference or step. Then, use the following notation: tn = n * h -----------------> time n xn -----------------> position at time n vn -----------------> velocity at time n Now let's take an approximation for the derivatives: vn+1 = (xn+1 - xn) / h an+1 = (vn+1 - vn) / h VERY IMPORTANT: someone tells us where the system starts. That is to say, we know x0 and v0. For this problem, assume that h = 0.1. By substituting these differences for the derivatives , and then solving the resulting equations for xn+1 and vn+1, we get the following difference model for our system. Here's the algebra. ;[s] 27:0,0;214,1;215,2;278,3;279,4;356,5;357,6;490,7;493,8;505,9;508,10;513,11;514,12;538,13;541,14;553,15;556,16;561,17;562,18;653,19;655,20;660,21;661,22;807,23;810,24;816,25;819,26;897,-1; 27:1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = input; preserveAspect; startGroup] MapAll[ Expand, Solve[ { (xn1 - xn0) / .1 == vn1, (vn1 - vn0) / .1 == -xn1 + .2 vn1 }, {xn1,vn1}]] :[font = output; output; inactive; preserveAspect; endGroup] {{xn1 -> 0.101010101010101*vn0 + 0.98989898989899*xn0, vn1 -> 1.01010101010101*vn0 - 0.101010101010101*xn0}} ;[o] {{xn1 -> 0.10101 vn0 + 0.989899 xn0, vn1 -> 1.0101 vn0 - 0.10101 xn0}} :[font = text; inactive; preserveAspect] The difference model is x(n+1) = 0.989899 xn + 0.10101 vn v(n+1) = -0.10101 xn + 1.0101 vn ;[s] 12:0,0;47,1;52,2;67,3;68,4;81,5;98,6;99,7;104,8;119,9;120,10;131,11;133,-1; 12:1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0; :[font = text; inactive; preserveAspect; endGroup] You can see how it is possible to find the solution at the nth time step, tn, by taking the linear function above an applying it n times, beginning with the given initial data. One more piece of background information. We need to have a single number which says something about the size of the solution. What is the "magnitude" of the state {x,v}. One way of doing this is to set up a function m( {x,v} ) = ( x2 + v2 )1/2. This magnitude has an actual physical interpretation in this case. Since the elastic energy stored in the device is 1/2 k x2, and the kinetic energy is 1/2 m v2, this magnitude is a measure of the energy possessed by the system. ;[s] 11:0,0;447,1;448,2;452,3;453,4;455,5;458,6;601,7;602,8;638,9;639,10;709,-1; 11:1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Problem: Analysis of Difference Equations :[font = text; inactive; preserveAspect] We are really concerned with the long term behavior of this physical system, as predicted by the mathematical model generated. As we already indicated, you may step as many times as you want to and see what happens. But there is a more subtle approach which you are to consider in this problem. Perform the following exercises, and write a brief report on the result. You may think of this as a mathematical experiment. :[font = subsubsection; inactive; preserveAspect; startGroup] (1) Let {x0,v0} represent an initial state. Find the particular {x0,v0} which maximizes m({x1,v1}). Find the particular {x0,v0} which minimizes m({x1,v1}). Also find the amplification factors L1 = m({x1,v1}) in each of the two cases. (Since the initial magnitude is 1, then L1 will be the magnitude of the solution at the end of 1 step.) :[font = text; inactive; preserveAspect; endGroup] The next two parts are open-ended and invite you to explore the behavior of the system. :[font = subsubsection; inactive; preserveAspect] (2) Use this knowledge about the difference system to predict an upper bound on m({x100,v100}). How good is the bound? :[font = subsubsection; inactive; preserveAspect; endGroup; endGroup] (3) Suppose {x0,v0} was the vector that minimizes m({x1,v1}). Predict a lower bound on m({x100,v100}). Finally, try this out by calculating m({x100,v100}) with a computer program or computer algebra system. Write a brief paragraph in which you compare your bound to the actual predicted value. How good was the bound? Write comments describing what you have learned. :[font = section; inactive; Cclosed; preserveAspect; startGroup] KEYWORDS :[font = text; inactive; preserveAspect; endGroup] Difference equations, linear operators, bounds, norms. :[font = section; inactive; Cclosed; preserveAspect; startGroup] TEACHER NOTES :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] ISSUES RELATED TO THE PROBLEM :[font = text; inactive; preserveAspect] THIS PROBLEM IS INTENDED TO INTRODUCE MODELING OF DYNAMIC SYSTEMS, AND IN PARTICULAR TO DEVELOP AN UNDERSTANDING FOR THEIR QUALITATIVE BEHAVIOR, WITHOUT REQUIRING THE SOLUTION OF DIFFERENTIAL EQUATIONS. DIFFERENCE EQUATIONS ARE USED INSTEAD. This problem may look rather dry, but actually it is not. Linear difference equations such as the ones cited are commonly used in modeling linear systems of many kinds. Often analysts want to investigate the limiting behavior of the system: will it predict a decay to zero, unbounded growth, or what? Deeply imbedded in the discussion is the size of the solution, so there must be an agreed on "norm" or way of measuring the size of the solution vector. This problem is really intended to introduce the student to some of the key concepts of linear computation, without getting deep into jargon. You have probably realized that this problem is closely related to the analysis of the matrix A, | .989899 .10101 | A = | | | -0.10101 1.0101 | and in particular, to its eigenvalues and eigenvectors. It is possible to learn something without ever mentioning this, however. Note that the above matrix has one eigenvalues that are complex. This is because the system exhibits oscillatory behavior. Note that the real parts have positive signs. This is the indicator that the system will be "blowing up". :[font = output; output; inactive; preserveAspect] {{xn1 -> 0.101010101010101*vn0 + 0.98989898989899*xn0, vn1 -> 1.01010101010101*vn0 - 0.101010101010101*xn0}} ;[o] {{xn1 -> 0.10101 vn0 + 0.989899 xn0, vn1 -> 1.0101 vn0 - 0.10101 xn0}} :[font = input; preserveAspect; startGroup] A = { {.989899, .10101},{ -.10101, 1.0101}} :[font = output; output; inactive; preserveAspect; endGroup] {{0.989899, 0.10101}, {-0.10101, 1.0101}} ;[o] {{0.989899, 0.10101}, {-0.10101, 1.0101}} :[font = input; preserveAspect; startGroup] Eigenvalues[A] :[font = output; output; inactive; preserveAspect; endGroup] {0.9999995 + 0.1005037312727741*I, 0.9999995 - 0.1005037312727741*I} ;[o] {0.999999 + 0.100504 I, 0.999999 - 0.100504 I} :[font = text; inactive; preserveAspect] If the student approaches the problem with Lagrange multipliers, the Lagrange multipliers will turn out to be the square roots of the eigenvalues of ATA. ;[s] 3:0,0;153,1;154,2;156,-1; 3:1,11,8,Times,0,12,0,0,0;1,11,8,Times,32,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = text; inactive; preserveAspect; endGroup] (1) The solution to this part can be carried out as a minimax problem in a function of two variables, with a constraint. See the solution below. (2) & (3). If we bound the energy with the largest multiplier to the power n, where n is the step number we get a "sure-fire" bound which is considerably greater than the actual value of energy that we would get if we took the solution out to n steps. The reason is explained below. The student might try the average of the two multipliers that he or she finds. That actually gives a fairly good estimate of the energy as a function of step number. :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Prerequisites :[font = subsubsection; inactive; preserveAspect] Calculus of several variables is required. In particular it would be nice to know how to find stationary values of a function subject to a constraint equation using the Lagrange multiplier technique. :[font = subsubsection; inactive; preserveAspect] Some very basic physics helps the student understand how the differential equations of motion are derived. :[font = subsubsection; inactive; preserveAspect; endGroup] Also, if the student has done some numerical approximations to derivatives, the step in getting from the differential equations to the difference equations should not be too hard. :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Time allotment - time management :[font = subsubsection; inactive; preserveAspect; endGroup] This problem can turn into a rather lengthy project. It is designed to introduce the solution to some very deep concepts and so there is a certain amount of "soak" time required. This might be a two class period affair. The first goal (1) is achievable in less than a period. Other goals could be achieved as homework exercises. :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Expectations :[font = subsubsection; inactive; preserveAspect; endGroup] The student will see how simple difference equations can be used to represent a dynamic system. That is "difference" not differential. This problem is designed to let the student see just the basic set up of these equations, and to investigate the boundedness of the system's motion. :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Future payoffs :[font = subsubsection; inactive; preserveAspect; endGroup] The future payoffs are substantial if the student takes time to reflect on what is happening. The difference system is an approximation to the differential system that the student may end up studying later. (1) The student should realize that the behavior can be modeled by applying an "operator" (the difference equations) multiple times. (2) The student will see how an analysis of the operator itself can yield information on the long term behavior of the system. :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Extensions :[font = subsubsection; inactive; preserveAspect] (1) Experiment with different step sizes. :[font = subsubsection; inactive; preserveAspect] (2) Experiment with the forward difference operator as opposed to the backward difference operator. :[font = subsubsection; inactive; preserveAspect; endGroup] (3) Try another model -- I would recommend the Van der Pol. This is not a linear problem -- but some interesting things could be discovered with the :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] References and Sources: :[font = subsubsection; inactive; preserveAspect; endGroup; endGroup] Difference equations are described in most texts on differential equations. They are the numerical solutions to the differential equations. (In the current case, the problem is being solved with the backward Euler method.) One reference of this sort is "Advanced Engineering Mathematics" by C.R. Wylie, McGraw Hill, New York 1975. ISBN 0-07-072180-7. :[font = section; inactive; Cclosed; preserveAspect; startGroup] POSSIBLE SOLUTION(S) :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Here is the linear function of three variables. :[font = input; preserveAspect] f[v_?VectorQ] := { .989899 v[[1]] + .10101 v[[2]] , -.10101 v[[1]] + 1.0101 v[[2]] } :[font = subsubsection; inactive; preserveAspect; startGroup] Here is the energy norm, i.e. the magnitude of the energy :[font = input; preserveAspect; endGroup] m[ v_?VectorQ] := Sqrt[ v.v ] :[font = subsubsection; inactive; preserveAspect; startGroup] Here is a starting vector to be used as a test. Let velocity be 0 and position 1 :[font = input; preserveAspect; startGroup] vtest = {1.,0} :[font = output; output; inactive; preserveAspect; endGroup; endGroup] {1., 0} ;[o] {1., 0} :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] We apply this function to v0 300 times to get a feel for what happens :[font = input; preserveAspect] rv0 = NestList[ f, vtest, 300]; :[font = input; preserveAspect; startGroup] ListPlot[rv0, PlotJoined -> True, AspectRatio ->1] :[font = output; output; inactive; preserveAspect; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = text; inactive; preserveAspect] Think about what the spiral outward from {1,0} means. The solution behavior is oscillatory but the energy in the solution is steadily increasing. Here is another way of looking at it. We produce a plot of the xn as n goes from 0 to 300. ;[s] 3:0,0;213,1;214,2;242,-1; 3:1,11,8,Times,0,12,0,0,0;1,11,8,Times,64,12,0,0,0;1,11,8,Times,0,12,0,0,0; :[font = input; preserveAspect; startGroup] ListPlot[Transpose[rv0][[1]], PlotJoined -> True] :[font = output; output; inactive; preserveAspect; endGroup; endGroup] Graphics["<<>>"] ;[o] -Graphics- :[font = subsubsection; inactive; preserveAspect; startGroup] Here is the function to be minimized. Note the use of Lagrange multiplier. :[font = input; preserveAspect] V[v_] := m[ f[v] ] - lambda ( m[v] - 1. ) :[font = text; inactive; preserveAspect] Let the following vector represent an arbitrary starting vector whose magnitude is one. :[font = input; preserveAspect; endGroup] V0 = {x0, v0}; :[font = subsubsection; inactive; Cclosed; preserveAspect; startGroup] Proceed with the minimization process using Lagrange multiplier :[font = input; preserveAspect] e1 = D[ V[V0], x0] == 0; e2 = D[ V[V0], v0 ] == 0; e3 = D[ V[V0], lambda] == 0; :[font = input; preserveAspect; startGroup] s = Solve[ {e1,e2,e3}, {x0,v0,lambda}] :[font = output; output; inactive; preserveAspect; endGroup] {{lambda -> 0.994987565843113, x0 -> -0.998733496496169, v0 -> -0.0503130497638184}, {lambda -> 0.994987565843113, x0 -> 0.998733496496169, v0 -> 0.0503130497638184}, {lambda -> 1.015188565843113, x0 -> -0.0503130497638184, v0 -> 0.998733496496169}, {lambda -> 1.015188565843113, x0 -> 0.0503130497638184, v0 -> -0.998733496496169}} ;[o] {{lambda -> 0.994988, x0 -> -0.998733, v0 -> -0.050313}, {lambda -> 0.994988, x0 -> 0.998733, v0 -> 0.050313}, {lambda -> 1.01519, x0 -> -0.050313, v0 -> 0.998733}, {lambda -> 1.01519, x0 -> 0.050313, v0 -> -0.998733}} :[font = text; inactive; preserveAspect] Compare the lambdas in the expression above with the below expression. Recall that A is the matrix representing the difference scheme. :[font = input; preserveAspect; startGroup] Sqrt[ Eigenvalues[ Transpose[A] . A]] :[font = output; output; inactive; preserveAspect; endGroup] {1.015188565843113, 0.994987565843113} ;[o] {1.01519, 0.994988} :[font = text; inactive; preserveAspect] Select the maximum and minimum starting vectors. Note that each has two possibilities: one being just the additive inverse of the other. You now have the answer to part (1) of the problem. :[font = input; preserveAspect; startGroup] vmax = {x0,v0} /. s[[3]] :[font = output; output; inactive; preserveAspect; endGroup] {-0.0503130497638184, 0.998733496496169} ;[o] {-0.050313, 0.998733} :[font = input; preserveAspect; startGroup] Lmax = lambda /. s[[3]] :[font = output; output; inactive; preserveAspect; endGroup] 1.015188565843113 ;[o] 1.01519 :[font = input; preserveAspect; startGroup] vmin = {x0, v0} /. s[[1]] :[font = output; output; inactive; preserveAspect; endGroup] {-0.998733496496169, -0.0503130497638184} ;[o] {-0.998733, -0.050313} :[font = input; preserveAspect; startGroup] Lmin = lambda /. s[[1]] :[font = output; output; inactive; preserveAspect; endGroup; endGroup; endGroup] 0.994987565843113 ;[o] 0.994988 :[font = subsection; inactive; Cclosed; preserveAspect; startGroup] Bounding the solution after 100 steps :[font = text; inactive; preserveAspect] A coarse bound -- this results from just applying the maximum possible multiplication factor 100 times. Here is that upper bound on the energy. :[font = input; preserveAspect; startGroup] Lmax^100 :[font = output; output; inactive; preserveAspect; endGroup] 4.515145622849624 ;[o] 4.51515 :[font = text; inactive; preserveAspect] Here is the actual energy in the solution after 100 steps if we start off in the direction indicated by vmax. :[font = input; preserveAspect; startGroup] m[ Nest[ f, vmax, 100] ] :[font = output; output; inactive; preserveAspect; endGroup] 1.73756509798196 ;[o] 1.73757 :[font = text; inactive; preserveAspect] It's several times smaller That is because the vector vmax is not only stretched by the amount Lmax but it is rotated. Consequently, it will not be stretched as much the next time the function f is applied. A lower bound is obtainable in the same way. :[font = input; preserveAspect; startGroup] Lmin^100 :[font = output; output; inactive; preserveAspect; endGroup] 0.6050138950613214 ;[o] 0.605014 :[font = input; preserveAspect; startGroup] m[ Nest[ f,vmin, 100] ] :[font = output; output; inactive; preserveAspect; endGroup] 1.574382703961318 ;[o] 1.57438 :[font = text; inactive; preserveAspect] But the lower bound is not particularly good because the vectors are being rotated as well as stretched. One might try the "average" multiplication factor, and form an estimate with it. This is not a bound, however. It does seem to be a fairly useful estimate. :[font = input; preserveAspect] b[n_] := ((Lmin + Lmax)/2 )^n :[font = input; preserveAspect] t1 = Map[ m, rv0]; :[font = text; inactive; preserveAspect] Here is a plot of the actual magnitudes. :[font = input; preserveAspect] p1=ListPlot[t1]; :[font = input; preserveAspect] t2 = Table[ b[i], {i,1,300}]; :[font = text; inactive; preserveAspect] Here is a plot of the estimate :[font = input; preserveAspect] p2 = ListPlot[t2]; :[font = text; inactive; preserveAspect] Here is a comparison. :[font = input; preserveAspect; endGroup; endGroup] Show[p1,p2]; :[font = section; inactive; Cclosed; preserveAspect; startGroup] ISSUES IN SOLUTION :[font = subsection; inactive; preserveAspect] The main issue is to get the student to explore the issues. Access to a computer algebra system or similar interactive computational environment is really important. :[font = subsection; inactive; preserveAspect; endGroup; endGroup] The student needs to recognize that the vector rotates as it is multiplied. That is what keeps the bounds from being sharp. The lower bound is particularly useless since it decays to zero, while the solution grows, no matter what starting vector is picked. ^*)