PROBLEM SET 1

(1) The rank of matrix A

\[\begin{gather*} I\ am\ going\ to\ use\ RREF\ to\ find\ the\ rank\ of\ A\\ \\ A\ =\begin{bmatrix} 1 & 2 & 3 & 4\\ -1 & 0 & 1 & 3\\ 0 & 1 & -2 & 1\\ 5 & 4 & -2 & -3 \end{bmatrix} R_{2}\rightarrow R_{3} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \\ =\begin{bmatrix} 1 & 2 & 3 & 4\\ 0 & 1 & -2 & 1\\ -1 & 0 & 1 & 3\\ 5 & 4 & -2 & -3 \end{bmatrix} R_{3} =R_{1} \ +\ R_{3} ;\ R_{4} \ =-5R_{1} \ +\ R_{4} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \\ \ \ \ =\begin{bmatrix} 1 & 2 & 3 & 4\\ 0 & 1 & -2 & 1\\ 0 & 2 & 4 & 7\\ 0 & 6 & -17 & -23 \end{bmatrix} R_{3} =-2R_{2} +R_{3} ;\ R_{4} =-6R_{2} +R_{4} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \\ \\ =\begin{bmatrix} 1 & 2 & 3 & 4\\ 0 & 1 & -2 & 1\\ 0 & 0 & 8 & 5\\ 0 & 0 & -5 & -29 \end{bmatrix} R_{3} =\frac{1}{8} R_{3} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \\ =\begin{bmatrix} 1 & 2 & 3 & 4\\ 0 & 1 & -2 & 1\\ 0 & 0 & 1 & \frac{5}{8}\\ 0 & 0 & -5 & -29 \end{bmatrix} R_{4} =5R_{3} +R_{4} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \\ =\begin{bmatrix} 1 & 2 & 3 & 4\\ 0 & 1 & -2 & 1\\ 0 & 0 & 1 & \frac{5}{8}\\ 0 & 0 & 0 & -\frac{207}{8} \end{bmatrix} R_{4} =-\frac{8}{207} R_{4} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \\ \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ =\begin{bmatrix} 1 & 2 & 3 & 4\\ 0 & 1 & -2 & 1\\ 0 & 0 & 1 & \frac{5}{8}\\ 0 & 0 & 0 & 1 \end{bmatrix} \ R_{3} =-\frac{5}{8} R_{4} \ +R_{3} ;\ R_{2} =-R_{4} +R_{2} ;\ R_{1} =-4R_{4} \ +R_{1} \ \ \ \ \ \ \ \ \ \ \\ \\ \\ =\begin{bmatrix} 1 & 2 & 3 & 0\\ 0 & 1 & -2 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{bmatrix} \ R_{2} =2R_{3} +R_{2} ;\ R_{1} =-3R_{3} +R_{1} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \\ =\begin{bmatrix} 1 & 2 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{bmatrix} \ R_{1} =- 2R_{1} +R_{1} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \\ =\begin{bmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1 \end{bmatrix} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \\ As\ we\ can\ see\ the\ RREF\ of\ A\ with\ leading\ 1s,\ rank( A) \ =\ 4\\ \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \end{gather*}\]

Let verify the above solution using rankmatrix

library(Matrix)

A <- matrix(c(1,-1,0,5, 2,0,1,4, 3,1,-2,-2, 4,3,1,-3), nrow = 4)
R <- rankMatrix(A)

message("The rank of A is ", R)
## The rank of A is 4

(2) Maximum and minimum of an mXn matrix

Given an mXn matrix where m > n, the maximum rank can be n since the rank has to be no greater than the smaller of the row or column dimension.

Assuming that the matrix is non-zero, the minimum rank can be 1 since the rank of a matrix would be zero only if the matrix had no elements.

(3) Rank of matrix B

\[\begin{gather*} B=\begin{bmatrix} 1 & 2 & 1\\ 3 & 6 & 3\\ 2 & 4 & 2 \end{bmatrix}\\ \\ Looking\ at\ matrix\ B,\ R_{2} \ =\ 3R_{1} \ and\ R_{3} \ =\ 2R_{1} ,\\ all\ rows\ vectors\ are\ multiple\ of\ the\ same\ nonzero\ vector\ and\ det( B) \ =\ 0.\\ That's\ it,\ there\ is\ one\ and\ only\ one\ linearly\ independent\ row.\\ \\ Therefore,\ rank( B) \ =\ 1.\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \end{gather*}\]

Let verify the above solution using rankmatrix

library(Matrix)

B <- matrix(c(1,3,2, 2,6,4, 1,3,2), nrow = 3)
R <- rankMatrix(B)

message("The rank of B is ", R)
## The rank of B is 1

PROBLEM SET 2

Eigenvalues and Eigenvectors

\[\begin{gather*} \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \\ \\ \\ \\ A\ =\begin{bmatrix} 1 & 2 & 3\\ 0 & 4 & 5\\ 0 & 0 & 6 \end{bmatrix}\\ \\ 1.\ Eigenvalues\\ \\ The\ polynomial\ characteristic\ is\ given\ by:\\ \\ P( \lambda ) \ =det( A-\lambda I) \ =\ det\left(\begin{bmatrix} 1-\lambda & 2 & 3\\ 0 & 4-\lambda & 5\\ 0 & 0 & 6-\lambda \end{bmatrix}\right)\\ \\ using\ column\ 1\ to\ calculate\ the\ determinant:\\ \\ det\left(\begin{bmatrix} 1-\lambda & 2 & 3\\ 0 & 4-\lambda & 5\\ 0 & 0 & 6-\lambda \end{bmatrix}\right) \ =( 1-\lambda )\begin{vmatrix} 4-\lambda & 5\\ 0 & 6-\lambda \end{vmatrix}\\ \\ =\ ( 1-\lambda )( 4-\lambda )( 6-\lambda )\\ \\ P( \lambda ) \ =\ 0\ \Longrightarrow \ \lambda =1,\ \lambda =4,\ \lambda =6\\ \\ The\ eigenvalues\ are\ \lambda =1,\ 4,\ 6\ with\ algebraic\ multiplicities\ \\ \alpha ( 1) \ =\ 1,\ \alpha ( 4) \ =\ 1,\ and\ \alpha ( 6) \ =\ 1.\\ \\ 2.\ Eigenvectors\\ \\ For\ \lambda =1:\\ \\ A-I\ =\ \begin{bmatrix} 0 & 2 & 3\\ 0 & 3 & 5\\ 0 & 0 & 5 \end{bmatrix}\rightarrow \ v_{3} =v_{2} =0\ and\ v_{1} \ =\ v_{1}\\ \\ \Longrightarrow \epsilon ( 1) \ =\left\{\begin{bmatrix} 1\\ 0\\ 0 \end{bmatrix}\right)\\ \\ For\ \lambda =4:\\ \\ A-4I\ =\ \begin{bmatrix} -3 & 2 & 3\\ 0 & 0 & 5\\ 0 & 0 & 2 \end{bmatrix}\rightarrow \ v_{3} =0\ and\ -3v_{1} \ +\ 2v_{2} \ =0\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \rightarrow \ v_{1} \ =\ \frac{2}{3} v_{2} \ \ \ \ \ \ \ \\ \\ \ \ \ \ \Longrightarrow \epsilon ( 4) \ =\left\{\begin{bmatrix} 2\\ 3\\ 0 \end{bmatrix}\right\}\\ \\ For\ \lambda =6:\\ \\ A-6I\ =\begin{bmatrix} -5 & 2 & 3\\ 0 & -2 & 5\\ 0 & 0 & 0 \end{bmatrix}\rightarrow v_{2} =\frac{5}{2} v_{3} \ and\ 5v_{1} \ =\ 8v_{3}\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \rightarrow \ v_{1} =\frac{8}{5} v_{3} \ and\ v_{2} =\frac{5}{2} v_{3}\\ \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \Longrightarrow \ \epsilon ( 6) \ =\left\{\begin{bmatrix} 16\\ 25\\ 10 \end{bmatrix}\right\}\\ \\ The\ eigenvectors\ yield\ the\ geometric\ multiplicities\ \gamma ( 1) \ =1,\ \gamma ( 4) \ =1,\ \gamma ( 6) \ =1\\ \\ \ \ \ \ \ \\ \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \end{gather*}\]

LS0tDQp0aXRsZTogIkZ1bmRhbWVudGFscyBvZiBDb21wdXRhdGlvbmFsIE1hdGhlbWF0aWNzIC0gSG9tZXdvcmsgMyINCmF1dGhvcjogIkplcmVkIEF0YWt5Ig0KZGF0ZTogIjIvMTMvMjAyMSINCm91dHB1dDogDQogIG9wZW5pbnRybzo6bGFiX3JlcG9ydDogZGVmYXVsdA0KICBodG1sX2RvY3VtZW50Og0KICAgIG51bWJlcl9zZWN0aW9uczogeWVzDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9RkFMU0V9DQprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IFRSVUUpDQpgYGANCg0KIyMgUFJPQkxFTSBTRVQgMQ0KDQojIyMgKDEpIFRoZSByYW5rIG9mIG1hdHJpeCBBDQoNCg0KXGJlZ2lue2dhdGhlcip9DQpJXCBhbVwgZ29pbmdcIHRvXCB1c2VcIFJSRUZcIHRvXCBmaW5kXCB0aGVcIHJhbmtcIG9mXCBBXFwNClxcDQpBXCA9XGJlZ2lue2JtYXRyaXh9DQoxICYgMiAmIDMgJiA0XFwNCi0xICYgMCAmIDEgJiAzXFwNCjAgJiAxICYgLTIgJiAxXFwNCjUgJiA0ICYgLTIgJiAtMw0KXGVuZHtibWF0cml4fSBSX3syfVxyaWdodGFycm93IFJfezN9IFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcXA0KXFwNCj1cYmVnaW57Ym1hdHJpeH0NCjEgJiAyICYgMyAmIDRcXA0KMCAmIDEgJiAtMiAmIDFcXA0KLTEgJiAwICYgMSAmIDNcXA0KNSAmIDQgJiAtMiAmIC0zDQpcZW5ke2JtYXRyaXh9IFJfezN9ID1SX3sxfSBcICtcIFJfezN9IDtcIFJfezR9IFwgPS01Ul97MX0gXCArXCBSX3s0fSBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFxcDQpcXA0KXCBcIFwgPVxiZWdpbntibWF0cml4fQ0KMSAmIDIgJiAzICYgNFxcDQowICYgMSAmIC0yICYgMVxcDQowICYgMiAmIDQgJiA3XFwNCjAgJiA2ICYgLTE3ICYgLTIzDQpcZW5ke2JtYXRyaXh9IFJfezN9ID0tMlJfezJ9ICtSX3szfSA7XCBSX3s0fSA9LTZSX3syfSArUl97NH0gXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcXA0KXFwNClxcDQo9XGJlZ2lue2JtYXRyaXh9DQoxICYgMiAmIDMgJiA0XFwNCjAgJiAxICYgLTIgJiAxXFwNCjAgJiAwICYgOCAmIDVcXA0KMCAmIDAgJiAtNSAmIC0yOQ0KXGVuZHtibWF0cml4fSBSX3szfSA9XGZyYWN7MX17OH0gUl97M30gXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcXA0KXFwNCj1cYmVnaW57Ym1hdHJpeH0NCjEgJiAyICYgMyAmIDRcXA0KMCAmIDEgJiAtMiAmIDFcXA0KMCAmIDAgJiAxICYgXGZyYWN7NX17OH1cXA0KMCAmIDAgJiAtNSAmIC0yOQ0KXGVuZHtibWF0cml4fSBSX3s0fSA9NVJfezN9ICtSX3s0fSBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXFwNClxcDQo9XGJlZ2lue2JtYXRyaXh9DQoxICYgMiAmIDMgJiA0XFwNCjAgJiAxICYgLTIgJiAxXFwNCjAgJiAwICYgMSAmIFxmcmFjezV9ezh9XFwNCjAgJiAwICYgMCAmIC1cZnJhY3syMDd9ezh9DQpcZW5ke2JtYXRyaXh9IFJfezR9ID0tXGZyYWN7OH17MjA3fSBSX3s0fSBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFxcDQpcXA0KXFwNClwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgPVxiZWdpbntibWF0cml4fQ0KMSAmIDIgJiAzICYgNFxcDQowICYgMSAmIC0yICYgMVxcDQowICYgMCAmIDEgJiBcZnJhY3s1fXs4fVxcDQowICYgMCAmIDAgJiAxDQpcZW5ke2JtYXRyaXh9IFwgUl97M30gPS1cZnJhY3s1fXs4fSBSX3s0fSBcICtSX3szfSA7XCBSX3syfSA9LVJfezR9ICtSX3syfSA7XCBSX3sxfSA9LTRSX3s0fSBcICtSX3sxfSBcIFwgXCBcIFwgXCBcIFwgXCBcIFxcDQpcXA0KXFwNCj1cYmVnaW57Ym1hdHJpeH0NCjEgJiAyICYgMyAmIDBcXA0KMCAmIDEgJiAtMiAmIDBcXA0KMCAmIDAgJiAxICYgMFxcDQowICYgMCAmIDAgJiAxDQpcZW5ke2JtYXRyaXh9IFwgUl97Mn0gPTJSX3szfSArUl97Mn0gO1wgUl97MX0gPS0zUl97M30gK1JfezF9IFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXFwNClxcDQo9XGJlZ2lue2JtYXRyaXh9DQoxICYgMiAmIDAgJiAwXFwNCjAgJiAxICYgMCAmIDBcXA0KMCAmIDAgJiAxICYgMFxcDQowICYgMCAmIDAgJiAxDQpcZW5ke2JtYXRyaXh9IFwgUl97MX0gPS0gMlJfezF9ICtSX3sxfSBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFxcDQpcXA0KPVxiZWdpbntibWF0cml4fQ0KMSAmIDAgJiAwICYgMFxcDQowICYgMSAmIDAgJiAwXFwNCjAgJiAwICYgMSAmIDBcXA0KMCAmIDAgJiAwICYgMQ0KXGVuZHtibWF0cml4fSBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcXA0KXFwNCkFzXCB3ZVwgY2FuXCBzZWVcIHRoZVwgUlJFRlwgb2ZcIEFcIHdpdGhcIGxlYWRpbmdcIDFzLFwgcmFuayggQSkgXCA9XCA0XFwNClxcDQpcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCANClxlbmR7Z2F0aGVyKn0NCg0KDQoNCg0KTGV0IHZlcmlmeSB0aGUgYWJvdmUgc29sdXRpb24gdXNpbmcgcmFua21hdHJpeA0KDQpgYGB7cn0NCmxpYnJhcnkoTWF0cml4KQ0KDQpBIDwtIG1hdHJpeChjKDEsLTEsMCw1LCAyLDAsMSw0LCAzLDEsLTIsLTIsIDQsMywxLC0zKSwgbnJvdyA9IDQpDQpSIDwtIHJhbmtNYXRyaXgoQSkNCg0KbWVzc2FnZSgiVGhlIHJhbmsgb2YgQSBpcyAiLCBSKQ0KDQoNCmBgYA0KDQoNCg0KIyMjICgyKSBNYXhpbXVtIGFuZCBtaW5pbXVtIG9mIGFuIG1YbiBtYXRyaXgNCg0KR2l2ZW4gYW4gbVhuIG1hdHJpeCB3aGVyZSBtID4gbiwgdGhlIG1heGltdW0gcmFuayBjYW4gYmUgKipuKiogDQpzaW5jZSB0aGUgcmFuayBoYXMgdG8gYmUgbm8gZ3JlYXRlciB0aGFuIHRoZSBzbWFsbGVyIG9mIHRoZSByb3cgb3IgY29sdW1uDQpkaW1lbnNpb24uDQoNCkFzc3VtaW5nIHRoYXQgdGhlIG1hdHJpeCBpcyBub24temVybywgdGhlIG1pbmltdW0gcmFuayBjYW4gYmUgKioxKioNCnNpbmNlIHRoZSByYW5rIG9mIGEgbWF0cml4IHdvdWxkIGJlIHplcm8gb25seSBpZiB0aGUgbWF0cml4IGhhZCBubyBlbGVtZW50cy4NCg0KDQojIyMgKDMpIFJhbmsgb2YgbWF0cml4IEINCg0KDQpcYmVnaW57Z2F0aGVyKn0NCkI9XGJlZ2lue2JtYXRyaXh9DQoxICYgMiAmIDFcXA0KMyAmIDYgJiAzXFwNCjIgJiA0ICYgMg0KXGVuZHtibWF0cml4fVxcDQpcXA0KTG9va2luZ1wgYXRcIG1hdHJpeFwgQixcIFJfezJ9IFwgPVwgM1JfezF9IFwgYW5kXCBSX3szfSBcID1cIDJSX3sxfSAsXFwNCmFsbFwgcm93c1wgdmVjdG9yc1wgYXJlXCBtdWx0aXBsZVwgb2ZcIHRoZVwgc2FtZVwgbm9uemVyb1wgdmVjdG9yXCBhbmRcIGRldCggQikgXCA9XCAwLlxcDQpUaGF0J3NcIGl0LFwgdGhlcmVcIGlzXCBvbmVcIGFuZFwgb25seVwgb25lXCBsaW5lYXJseVwgaW5kZXBlbmRlbnRcIHJvdy5cXA0KXFwNClRoZXJlZm9yZSxcIHJhbmsoIEIpIFwgPVwgMS5cXA0KXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgDQpcZW5ke2dhdGhlcip9DQoNCg0KTGV0IHZlcmlmeSB0aGUgYWJvdmUgc29sdXRpb24gdXNpbmcgcmFua21hdHJpeA0KDQpgYGB7cn0NCmxpYnJhcnkoTWF0cml4KQ0KDQpCIDwtIG1hdHJpeChjKDEsMywyLCAyLDYsNCwgMSwzLDIpLCBucm93ID0gMykNClIgPC0gcmFua01hdHJpeChCKQ0KDQptZXNzYWdlKCJUaGUgcmFuayBvZiBCIGlzICIsIFIpDQoNCg0KYGBgDQoNCg0KIyMgUFJPQkxFTSBTRVQgMg0KDQoqKkVpZ2VudmFsdWVzIGFuZCBFaWdlbnZlY3RvcnMqKg0KDQpcYmVnaW57Z2F0aGVyKn0NClwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXFwNClxcDQpcXA0KXFwNClxcDQpBXCA9XGJlZ2lue2JtYXRyaXh9DQoxICYgMiAmIDNcXA0KMCAmIDQgJiA1XFwNCjAgJiAwICYgNg0KXGVuZHtibWF0cml4fVxcDQpcXA0KMS5cIEVpZ2VudmFsdWVzXFwNClxcDQpUaGVcIHBvbHlub21pYWxcIGNoYXJhY3RlcmlzdGljXCBpc1wgZ2l2ZW5cIGJ5OlxcDQpcXA0KUCggXGxhbWJkYSApIFwgPWRldCggQS1cbGFtYmRhIEkpIFwgPVwgZGV0XGxlZnQoXGJlZ2lue2JtYXRyaXh9DQoxLVxsYW1iZGEgICYgMiAmIDNcXA0KMCAmIDQtXGxhbWJkYSAgJiA1XFwNCjAgJiAwICYgNi1cbGFtYmRhIA0KXGVuZHtibWF0cml4fVxyaWdodClcXA0KXFwNCnVzaW5nXCBjb2x1bW5cIDFcIHRvXCBjYWxjdWxhdGVcIHRoZVwgZGV0ZXJtaW5hbnQ6XFwNClxcDQpkZXRcbGVmdChcYmVnaW57Ym1hdHJpeH0NCjEtXGxhbWJkYSAgJiAyICYgM1xcDQowICYgNC1cbGFtYmRhICAmIDVcXA0KMCAmIDAgJiA2LVxsYW1iZGEgDQpcZW5ke2JtYXRyaXh9XHJpZ2h0KSBcID0oIDEtXGxhbWJkYSApXGJlZ2lue3ZtYXRyaXh9DQo0LVxsYW1iZGEgICYgNVxcDQowICYgNi1cbGFtYmRhIA0KXGVuZHt2bWF0cml4fVxcDQpcXA0KPVwgKCAxLVxsYW1iZGEgKSggNC1cbGFtYmRhICkoIDYtXGxhbWJkYSApXFwNClxcDQpQKCBcbGFtYmRhICkgXCA9XCAwXCBcTG9uZ3JpZ2h0YXJyb3cgXCBcbGFtYmRhID0xLFwgXGxhbWJkYSA9NCxcIFxsYW1iZGEgPTZcXA0KXFwNClRoZVwgZWlnZW52YWx1ZXNcIGFyZVwgXGxhbWJkYSA9MSxcIDQsXCA2XCB3aXRoXCBhbGdlYnJhaWNcIG11bHRpcGxpY2l0aWVzXCBcXA0KXGFscGhhICggMSkgXCA9XCAxLFwgXGFscGhhICggNCkgXCA9XCAxLFwgYW5kXCBcYWxwaGEgKCA2KSBcID1cIDEuXFwNClxcDQoyLlwgRWlnZW52ZWN0b3JzXFwNClxcDQpGb3JcIFxsYW1iZGEgPTE6XFwNClxcDQpBLUlcID1cIFxiZWdpbntibWF0cml4fQ0KMCAmIDIgJiAzXFwNCjAgJiAzICYgNVxcDQowICYgMCAmIDUNClxlbmR7Ym1hdHJpeH1ccmlnaHRhcnJvdyBcIHZfezN9ID12X3syfSA9MFwgYW5kXCB2X3sxfSBcID1cIHZfezF9XFwNClxcDQpcTG9uZ3JpZ2h0YXJyb3cgXGVwc2lsb24gKCAxKSBcID1cbGVmdFx7XGJlZ2lue2JtYXRyaXh9DQoxXFwNCjBcXA0KMA0KXGVuZHtibWF0cml4fVxyaWdodClcXA0KXFwNCkZvclwgXGxhbWJkYSA9NDpcXA0KXFwNCkEtNElcID1cIFxiZWdpbntibWF0cml4fQ0KLTMgJiAyICYgM1xcDQowICYgMCAmIDVcXA0KMCAmIDAgJiAyDQpcZW5ke2JtYXRyaXh9XHJpZ2h0YXJyb3cgXCB2X3szfSA9MFwgYW5kXCAtM3ZfezF9IFwgK1wgMnZfezJ9IFwgPTBcXA0KXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFxyaWdodGFycm93IFwgdl97MX0gXCA9XCBcZnJhY3syfXszfSB2X3syfSBcIFwgXCBcIFwgXCBcIFxcDQpcXA0KXCBcIFwgXCBcTG9uZ3JpZ2h0YXJyb3cgXGVwc2lsb24gKCA0KSBcID1cbGVmdFx7XGJlZ2lue2JtYXRyaXh9DQoyXFwNCjNcXA0KMA0KXGVuZHtibWF0cml4fVxyaWdodFx9XFwNClxcDQpGb3JcIFxsYW1iZGEgPTY6XFwNClxcDQpBLTZJXCA9XGJlZ2lue2JtYXRyaXh9DQotNSAmIDIgJiAzXFwNCjAgJiAtMiAmIDVcXA0KMCAmIDAgJiAwDQpcZW5ke2JtYXRyaXh9XHJpZ2h0YXJyb3cgdl97Mn0gPVxmcmFjezV9ezJ9IHZfezN9IFwgYW5kXCA1dl97MX0gXCA9XCA4dl97M31cXA0KXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBccmlnaHRhcnJvdyBcIHZfezF9ID1cZnJhY3s4fXs1fSB2X3szfSBcIGFuZFwgdl97Mn0gPVxmcmFjezV9ezJ9IHZfezN9XFwNClxcDQpcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFxMb25ncmlnaHRhcnJvdyBcIFxlcHNpbG9uICggNikgXCA9XGxlZnRce1xiZWdpbntibWF0cml4fQ0KMTZcXA0KMjVcXA0KMTANClxlbmR7Ym1hdHJpeH1ccmlnaHRcfVxcDQpcXA0KVGhlXCBlaWdlbnZlY3RvcnNcIHlpZWxkXCB0aGVcIGdlb21ldHJpY1wgbXVsdGlwbGljaXRpZXNcIFxnYW1tYSAoIDEpIFwgPTEsXCBcZ2FtbWEgKCA0KSBcID0xLFwgXGdhbW1hICggNikgXCA9MVxcDQpcXA0KXCBcIFwgXCBcIFxcDQpcXA0KXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgXCBcIFwgDQpcZW5ke2dhdGhlcip9