COMPUTER SCIENCEAssume we have a “computing agent” that knows how to do one-digit subtraction where the fi rst digit is at least as large as the second (i.e., we do not end up with a negative number). Thus, our computing agent can do such operations as 7 - 3 = 4, 9 - 1 = 8, and 5 - 5 = 0. It can also subtract a one-digit value from a two-digit value in the range 10-18 as long as the final result has only a single digit. This capability enables it to do such operations as 13 - 7 = 6, 10 - 2 = 8, and 18 - 9 = 9. Using these primitive capabilities, design an algorithm to do decimal subtraction on two m-digit numbers, where $\mathrm{m} \geq 1 .$ You will be given two unsigned whole numbers $a_{m-1} a_{m-2} . . . a_{0}$ and $b_{m-1} b_{m-2} \dots b_{0}$ Your algorithm must compute the value $\mathrm{c}_{\mathrm{m}-1} \mathrm{c}_{\mathrm{m}-2} . . . \mathrm{c}_{0},$ the difference of these two values.
$$
\begin{array}{r}{a_{m-1} a_{m-2} \cdots a_{0}} \\ {-b_{m-1} b_{m-2} \dots b_{0}} \\ \hline {C_{m-1} C_{m-2} \cdots C_{0}}\end{array}
$$
You may assume that the top number $\left(a_{m-1} a_{m-2} \dots a_{0}\right)$ is greater than or equal to the bottom number $\left(b_{m-1} b_{m-2} . . . b_{0}\right)$ o that the result is not a negative value. However, do not assume that each individual digit ai is greater than or equal to bi. If the digit on the bottom is larger than the digit on the top, then you must implement a borrowing scheme to allow the subtraction to continue. (Caution: It may have been easy to learn subtraction as a first grader, but it is devilishly difficult to tell a computer how to do it!)