 Good morning and welcome to this session. So, let us look at this slide. Iterative solutions I have named it as section x x x because the change in the session number. We will be discussing two problems here. One is estimating the value of logarithm of x the natural logarithm and the second is calculation of Virahanka numbers. The second one will implicitly introduce the notion of recursion without talking about recursion per se. The first message I would like to give you is that whenever you use slides or any material it is very important to acknowledge if you have borrowed any material from any other source. For example, if you see this slide it very prominently says some ideas courtesy professor Soni and professor Ramadev. This is because both of these teachers had taught this course before me and I had borrowed some of the ideas from them and that is the reason why they are acknowledged here. Please remember in academics we do have a clause for fair use of any other material provided that material is properly acknowledged. Similarly, whenever we would be referring to any problem from a text book we will definitely refer to the author of the text book and the sample problem number etcetera that we are going to use. This is a minimum courtesy. It is not only a minimum courtesy but it is a legal requirement from the point of view of protecting the intellectual property created by others. This is independent of whether that intellectual property has been released in open source or it is proprietary. In fact, if the material is proprietary you are required to get written permission from the owner of the intellectual property permitting you to use the cited material in the manner in which you propose to use it. Without further ado then let us discuss the iterative solutions. I would like to mention here that it is presumed that before this point the basic iterative control structures have been discussed and described. That means the students who are listening to such a session are already familiar with the for and while loops and they have already done several exercises and solved problems involving the use of while loops and for loops. In the context of the discussion that happened after Professor Ranaley's lecture I would again mention that the repeat statement which Professor Ranaley had introduced as a part of simple CPP is generally not used in the subsequent lectures. So when we come to the portion of discussing the iterative solutions the basic iterative control structures of C C plus plus would be defined namely the for loop and the variations of the while. Assuming that this is already known to people these sessions are meant to explain how some real life problems can be solved using these control structures and how to convert some well known algorithms into computer programs to get the solution of the problem. So let us go to the next slide. In this particular problem we wish to determine the value of a definite integral. This is the definite integral that we that we wish to evaluate this integral from p to q from of a function f of x dx is actually equivalent to the area under the curve. If we plot the equation y equal to f x then the value of this integral is equal to the area under the curve. Let us let us just illustrate it pictorially a x and y axis. So let me just draw let us say this is the curve y equal to function of x. Suppose I want to evaluate the integral between the point p and a point q then what the previous statement says is that this area under the curve is actually equal to the value of the definite integral. This is a well known fact and most students who have studied calculus will know this. However it is important to sort of show this pictorially so that the concept becomes clear to the students that this is the kind of area that we are wishing to estimate. Look back to this diagram if there is a regular geometric figure like a square rectangle triangle or a circle whose area can be calculated very perfectly using a well known formula then the problem is simple. Unfortunately here we have to follow the curve that you see here and this curve cannot be defined by anything other than the equation of the function for this curve. Further there is no simple mechanism known to us computationally to compute area of any shape where certain boundary is defined by a mathematical function rather than a straight line or a circular arc etcetera. We will solve this problem by approximating this area by dividing the area into an equal number of well known geometric shapes. Consider this figure for example suppose I will to construct a rectangle like this another rectangle like this another rectangle like this another rectangle like this another then the sum of the areas of all these rectangles can be approximately equal to the area under the curve. So this is the crux of approximating a definite integral or find determining the value of a definite integral namely estimating area under the curve by dividing the entire range into a series of rectangles. Since rectangle is a regular geometric figure its area is well known well defined and therefore can be calculated. Notice that in case of any rectangle the width of the rectangle will depend upon what we have chosen the height on the other hand will be dependent upon the value of the function at a particular point. We can use this fact determine the height know the width multiply the two to get the area of one rectangle and then repeat the process to sum up the areas of all rectangles which come within the two limits p and q. This is the essence of calculating the definite integral. I believe that it is essential to show this kind of an example to our students before we demonstrate the solution to the problem of determining the value of logarithm of x. So here is the real problem go to the next slide we wish to compute the natural logarithm this natural logarithm of a number is defined as a definite integral from one to a one by x d x. Of course we note that the natural logarithm is defined only for values greater than 0 the logarithm curve that will see the not logarithm the curve of one by x that we will see in the next slide will demonstrate that to us. We repeat at this stage to our students that a computer cannot integrate and therefore we must use some kind of arithmetic operations to calculate and estimate the value of the integral. We again reiterate that we will estimate the area under the curve f of x is equal to one by x from one to a and as we saw in our previous explanation we will approximate the area by many small rectangles. Each rectangle has the same width let us call that fixed width as w. The sum of the areas of all these rectangles is therefore the value or approximate value of the integral. With this explanation now we should not rush to write our program by just stopping here but we should painfully explain painstakingly explain the subsequent development of the area computations in the context of the algorithm that we will implement later. So here is another diagram this diagram please notice that we had drawn a similar diagram to explain the concept of area under the curve. Students therefore will be able to very easily relate to this diagram where we show that this is the curve y is equal to one by x and we need to estimate the area under this curve from point one to point a meaning for x equal to a to x equal to one. Again because we have explained the notion of approximating this area by rectangles then we go to the next slide and show them that we wish to calculate the sum of areas of a large number of rectangles where the width of each rectangle is fixed and all such rectangles are drawn between the point one and point a or x equal to one and x equal to a. You can use the opportunity to also explain to the students why we will not be able to calculate the exact value of the integral. You can show them for example that there are portions of rectangle which are jutting outside this curve. So when I calculate the area of the first rectangle I am actually over estimating the area under the curve by a certain amount equal to the area of this triangle. We will leave this point here and we will tell the students that we will revisit it after solving this first problem of approximating the area by the areas of several rectangles. So then we now proceed to tell students how do we calculate the area of any one rectangle in this series of rectangles. Each rectangle has a fixed width w. The height is different in each case and it depends upon the function value. We illustrate this further by showing them some rectangle say ith rectangle and we will demonstrate how the area of the ith rectangle is calculated. Why do we say ith rectangle? Because we would like to set up an iteration moving from i equal to 1 which is the first rectangle, second rectangle, third rectangle, etcetera, etcetera. So in general we need to determine what happens to the ith rectangle. To begin with we observe to our students that if there are n rectangles of equal width w then the value of w is simply given by the formula a minus 1 by n. Notice that a minus 1 is the length of this portion of x axis and n is the number of rectangles here. So the width of any one rectangle is equal to simply a minus 1 by n. It is shown as w here. What about the height of a rectangle? First of all for the ith rectangle we observe that the x coordinate of the left corner, left bottom corner of this rectangle, all rectangles in fact is simply given by the coordinates of these points. This one is x is equal to 1. So the first rectangle bottom left corner is x equal to 1. The second rectangle is x is equal to 1 plus w. Notice that 1 is this point and w is this particular width which is fixed. So 1 plus w will be the x coordinate of this point. y coordinate obviously is 0. The x coordinate of the next point etcetera will be calculated as 1 plus 2 w 1 plus 3 w. In general if there is an ith rectangle the x coordinate of the bottom left corner will be 1 plus i minus 1 w. So notice the direction of our arguments. We wish to calculate the area of the ith rectangle. We first locate the coordinate value here which gives us the value of x coordinate of the bottom left corner which is 1 plus i minus 1 into w. If we know the width already we are doing all of this to calculate the height. Notice that the height of this rectangle as it is drawn is given actually by the value of this function y is equal to f x or in this case 1 upon x. So what is the value of 1 upon x at this point is actually this coordinate. This coordinate is known. This coordinate is known. The difference would be the height. This is what is shown in the next slide here. The height h of the ith rectangle is equal to 1 upon x. Now the x coordinate at this point we have already calculated as 1 plus i minus 1 into w and therefore h becomes 1 upon 1 plus i minus 1 star level. Notice that now we know h. We already know w and therefore it is entirely easily possible to calculate the area of this particular rectangle. So we write area of the ith rectangle is therefore equal to w into h which is w into 1 upon x which is w into 1 upon 1 plus i minus 1 into w. What have we accomplished? We have accomplished a major identification of a major component of our formula which will be iteratively evaluated for different values of i. Look at this particular formula again. The area of the ith rectangle is determined by the current value of i and by the value of w. There is no other referring thing. The fact that this represents the area of ith rectangle under the curve y is equal to 1 upon x is already captured by the formulation that we did so far. So programmatically speaking now if we iterate around this particular evaluation for different values of i starting with i equal to 1 we will get the area of each rectangle in turn. If we add them up we will get the totality of the value namely the approximation of the Riemann integral. Incidentally I did not mention it but this is known as the Riemann integral. It was Riemann who first initiated this simple principle of approximately finding out the value of a definite integral in this fashion. Now some mundane questions but which are important for designing our program. Please remember the terminology that Professor Ranade introduced. We are not designing a new algorithm. Many times we use this term wrongly while teaching programming. We will say designing the algorithm. Designing the algorithm is a correct statement to be made when we do not know the procedure to calculate whatever is desired. In this case the algorithm was discovered or invented by Riemann hundreds of years ago. So we are not designing an algorithm. We are developing a strategy to design a program using that algorithm. One part of designing that program and one part of decision making in that algorithm is how many such rectangles should we use to find the area. Should it be 5 rectangles? Should it be 10? Well as I have said here more than a year. I have said say 1000. Here again we must tell our students 1000 is an arbitrary number. In our judgment this number will suffice to get a very good approximation of the integral. However there could be problems when I might have to use 10,000 rectangles even 100,000 rectangles. On the other hand there might be problems in which only one rectangle will work. I will leave it to your imagination to decide what is that problem in which only one rectangle will work. Coming back to this problem if we choose 1000 then width of all rectangles taken together is a minus 1 obviously and width w of each rectangle will be a minus 1 upon 1000. The x coordinate of the bottom left corner of ith rectangle we repeat is x is equal to 1 plus i minus 1 into w. The height of ith rectangle we again repeat 1 by x is equal to 1 divided by 1 plus i minus 1 into w and the area of this rectangle is width into height equal to this. Now this is the point that I would like you to stress to your students. Before students write the program this is the part of the program design that they must write. Forget the terms like more than area or whatever it is but initially they should make a statement saying that we are approximating the integral by finding out the area under the curve and we are approximating that area by a series of rectangles. Each rectangle will be of fixed width and the height shall be determined by the value of the function. These few lines should be written by the students as a part of documentation of designing the program. After that they should write that for each rectangle the width is so much x coordinate of bottom left corner is this etcetera etcetera. This is the minimum documentation that we should insist on our students completing before they write even one line of course. I will digress a bit and emphasis this point further. Our students when they take up jobs and those students who either take up jobs as programmers or software people and all other students of other disciplines who ever write programs in their own profession whether it is for simulating a chemical plant where it is for designing a mechanical structure our students will be writing programs in future. When they write these programs this discipline will come in very handy and they will find it very useful. Unfortunately we do not stress this because many of us when we learn programming we did not write our programs in this professional manner of first writing a description and then and only then writing a program. You can talk to those of our students who join IT companies such as in process or TCS or VEPRO or HCL or something and they will all tell you that if they write a single line of course without writing the program specifications they will lose their jobs immediately. That is a minimal discipline that is important and is expected out of every professional who writes computer programs for the professional activity. But I would say that as a part of discipline it is an important point to reiterate to all our students. Having done this then we can proceed to demonstrate the program that would emerge out of this design. So here is the program notice that I am not using main program as professor Aviram Ranade introduced because by this time we would have discussed all the basic features of C plus plus and we would have introduced the standard notation that is used the standard syntax that we use. Incidentally in this program I have not written the mandatory preprocessor directives that you have to write before this namely hash include IO stream and using namespace STD. In a classroom this much is good enough but in a handout that we give to them or in the sample programs that we create for students to execute in the lab the programs should be complete in all respect including the compiler directives. Let us quickly go through this program which is very easy to understand. I define integer variable I which will be used as an index. I define the value of A as a floating point variable. It is essential that A be floating point because the value of logarithm that we wish to calculate could be that of any positive number. We define and initialize area to 0 and we define our W here. Next we say give a number whose logarithm is to be found and we input the value of A. Next we calculate the value of W. Notice here that writing out these steps become extremely simple if as per the previous slide people have jotted down the various steps in which the program is designed translating the algorithm of RIMA. So I have calculated the W. Area of the ith rectangle is calculated as W into 1 upon 1 plus I minus 1 star W and this is added to the existing area which starts with the value 0. By this time we expect our students to understand the basic motion of equation. As I said by this time they have mastered the techniques of writing for loops and while loops so it will not be difficult for them to appreciate that if I have to calculate the area of 1000 rectangles then I must set up an iteration which will run 1000 times. This is the iteration in this slide for I equal to 1 I less than equal to 1000 I plus plus or I equal to I plus 1. This sets up a control to execute the body 1000 times. Every time the value of I will vary start with 1 then it will become 2, 3, 4, 5 up to and including 1000 because this equal to symbol. Incidentally I was quite surprised when I saw in Professor Sridhar Iyer's session that when he asked a quiz he conducted a quiz on the for loop. I think he had given a for loop which said for I equal to 1 I less than equal to n I plus plus and the options of the quiz were will this iteration be executed 1 times will it be executed n times will it be executed n minus 1 times or will it be executed n plus 1 times. I was quite surprised to find different answers being given by our colleague teachers. In fact a few people even gave the answer as 1 which is patently wrong several people gave the answer as n minus 1 mistakenly assuming that because I am starting the iteration with 1 and not with 0 somehow I will execute it one less time. Please notice that the condition here is less than equal to 1000 and not less than 1000. Now these nuances we all ought to be very very careful about because these are the nuances which students will be struggling with and these are the nuances which we should be able to explain to them with great clarity and absolute certainty. So please remember to practice your iteration setting mechanism and your way of noting as to whatever iteration students have written whether that iteration executes the correct number of times or not anyway. So notice the steps I get in the value of a I set up w I set up an iteration to add areas of all these rectangles these are all summed in the area variable notice that area must be initialized to 0 which is a prudent measure and when I come out of this loop I have actually calculated the area. So therefore I will just say output log of a is area that is it. Let us have some discussion on this particular program sample that we present to our students. I would like to go over to some remote center arbitrarily. First let me raise this question let me ask the generic question I will go over to just two or three remote centers to get their feedback on this question. The question that I am saying is that this particular program calculates the area under the curve and approximately finds out the value of logarithm of a by using thousand rectangles. Is there a simple modification that you would like to suggest to make this program more generic? Number one, number two do you have any other comment to make on this sample program? With these two questions I will now go over there is Manipal Institute of Technology which has raised hand. So let me go over to the Manipal Institute of Technology. Yeah over to you. Instead of writing thousand we can ask the user to enter the number of rectangles and use it as the value in the calculation of the width. So thank you so much but you did not mention your name so I would like to go back to you again and request you to tell your name to all our colleagues. Sema KV. Thank you. Let us now go over to Thakur College of Engineering and Technology. Over to you. Hello sir good morning. Instead of thousand we can just store have a value for thousand so that we can have the number of rectangles not stick to thousand but we can just vary it so then we can make the program more generic. Yes that is a good observation this is exactly what our first colleague participant also mentioned it is a good it is a correct observation. So we will stop at this juncture we will go over to some other centers in the context of some other problem but let us come back to our so the observation is that I should not use one thousand as a fixed number but I should define an additional integer variable say n here and I should somehow read the value of n and then in this particular case instead of dividing w instead of varying a minus 1 by thousand I should divide it by n and instead of running the iteration for i equal to 1 to thousand I should run it from 1 to n. It is a very simple extension and in fact many of our students will be able to spot this. There are two additional points that you might want to make in the context of this and similar programs that we use as sample program. Number one we are using writing this program to estimate the value of logarithm. The logarithm value is also calculated by a built in function built in mathematical function in the C plus plus library. Why not say suggest that apart from calculating this area which becomes the calculated or estimated value of logarithm of a will also evaluate logarithm of a by using the inbuilt function. We should tell our students that the inbuilt function does not actually carry out an integral as we think. It also does the same approximation similar approximation but does it in a better fashion and therefore it might be a good idea to find out how well we have approximated this integral value. That means we make the computer use the built in function of logarithm, get the written value and print it alongside the value that we have estimated. That way we will be able to determine how good is our approximation vis-a-vis the value that is written by the built in function. The second modification that we can suggest to people is that in order to determine whether the number n that we have so selected please note that I am now referring to the additional variable n. Here I have suggested we read in the value of n let the user specify the value of n. This is what was suggested by two of our colleagues and that is a very good suggestion as I mentioned. Here we are using that but this is a single value. Why not? We set up an external iteration and vary even the value of n. Suppose we say we evaluate the logarithm by approximating the area under the curve by using 10 rectangles, 100 rectangles, 1000 rectangles and 10000 rectangles. Let me now suggest that I want to make such a modification to this program. How would I do that? I will mention this. I will explain this by using a blank slide rather than writing on these slides. This is a box which calculates the value of area for a given n. We get into this box with the value of n and we get out of this box with the value of area. You will notice that I am assuming that we have already modified the algorithm such that the for loop runs for i equal to 1 to n. Now instead of collecting the value of n as an input suppose I did something like this. Consider such a modification to the program. Of course I did this artificial assignment but I could have varied this loop for n itself. So notice that it starts with one rectangle only. We will calculate the area. In the next loop the number will become 10, then it will become 100, then it will become 1000, then it will become 10000. Notice that the increment is not k plus 1 but it is k into 10. So every time I am increasing the value of k 10 times. This simple iteration now an additional outside iteration will force the inner loop to be executed so many times and after executing every such loop I will get one value of area which will be for k what you can say rectangle. Notice that I can use either k or n interchangeably outside this box but inside this box I would have already written my program using the value using the variable n. These are the nuances when you try to modify or extend an already written program. An already written program already has used certain variables and those we are forced to use whenever we extend that program immediately before and after. A discussion on the scoping which professor Ranade mentioned could be very useful in this context but that is outside the discussion of iterative solutions. So I hope you have followed this method of computing logarithm of a given value and you now appreciate a few different ways of explaining such an algorithm to the students. There is one more discussion that I would like to have is now here is a question I have already done this. Now remember we observed originally that a rectangle is not necessarily the best approximation of a portion of the area. Professor Ranade in his book has suggested the use of a trapezoid. For example let me draw it here. Let us say this is the rectangle that I was talking about. Now one better approximation could be that instead of a rectangle I actually use this trapezoid. I would like to ask the following question. A, do you believe that the use of such a trapezoid will be resulting in a better or more accurate approximation and B, if so how do I represent the value of the area of the ith trapezoid instead of a ith rectangle. The rectangle was very simple width into height w into h and h was simply 1 upon x depending upon the x coordinate. In case of a trapezoid how will I represent the area of an ith trapezoid. So I again come back to you with two questions. Question number one, do you believe that the trapezoid will result in a better approximation and two, if so how I need to modify that critical calculation statement in my inner loop where instead of calculating the area of rectangle and adding it to the previous value of area I should calculate and add the value of the area of a trapezoid. So with this I would like to go over to some new centers now. So let us go over to or NIRMA University is connected. So over to NIRMA is there some participant who would like to answer these two questions. Sir, we can calculate the slope at that point and then we will be able to get the accurate answer. No, please tell us the exact formula in terms of I and in terms of W. These are the only two variable values which are known to us. W is known as a width which is 1 minus a divided by N and I is known as the index lever of the loop. So I have to calculate the area in terms of I and W only. What you are telling me is mathematically how a trapezoid's area can be evaluated as a general idea. I need a very specific formula. I am your student remember. But thank you very much for your effort. Let us go over to some other remote center. Is a Rajaram Bapu Institute whether somebody would like to give an answer to these questions? Yes, over to you. Good morning sir. Sir, if we put a tangent in a curve and after that we get a trapezoidal and after we divide a trapezoidal in two parts that one in a triangle and another in a rectangle. Then with the help of after that we provide a submission of these both things, the triangle and a rectangle. Then we get an accurate answer of I at area of a trapezoidal. Yes, sir. Thank you very much. Now this is more useful than the previous answer but it still does not give me a formula in terms of I and W. Your approach is very correct and very well defined but this approach does not tell me the exact formula. So I will repeat my question and go over to another remote center. But before that I will just draw down on my white board. This is the I at rectangle. The x coordinate of this point is whatever. The x coordinate of this point is x plus W. The y coordinate of this point and the y coordinate of this point is given by the formula y is equal to 1 by x. The trapezoid whose area I wish to calculate is this trapezoid. And as Mr. Sarabjit Singh suggested, the way the area is to be calculated is first I want to calculate the area of this rectangle. And then I want to calculate the area of this triangle. The area of this rectangle is determined by these two x coordinates which is the width is W. The height of this is actually the value of the function at this point that is the height of this rectangle. The triangle on the other hand has one side as W and the height of this triangle is the difference between the y coordinate at this point and y coordinate at this point. I hope you appreciate this. Now what we have got so far from our colleagues is the general direction. Draw a trapezoid, draw a tangent. Actually we need not draw a tangent at the curve although that would be a correct solution. But the tangent may not follow this curve completely. Since we have two points on that curve both belonging to the bottom line points x, x plus w, etcetera, etcetera one simple method may be used to may be simply to use a trapezoid which is drawn like this. Notice that the angle of this edge of triangle will be different for every such triangle does not matter. But it will generally follow the curve that we are talking about. So, now I am making the question specific. I will say that sir as you suggested if I have to calculate the area of this trapezoid and add it please tell me what is the area. Now on this assume that you have drawn this diagram for me. You have shown that the area of this trapezoid can be calculated by calculating the area of this rectangle first and then adding to it the area of this triangle. The area of the rectangle is simply width into height and as I said the height is equal to the value of y at this point not at this point. So, if this is ith rectangle we calculated the x coordinate in certain fashion x plus w is the x coordinate of this point and therefore height will be same on this that is obvious. The height of the area of this triangle is actually simply half the area of the covering rectangle. Again these two points are the y coordinate of this point and y coordinate of this point. Now what I would like all our colleagues to do is to write down a specific formula only in terms of i and w. Please note that when I am executing the iteration the value of i is the only value that is known. It is the ith rectangle or trapezoid whose area I want to estimate. The value of x the value of y etcetera to be calculated only in terms of i and in terms of w. I am sure that many of our colleague teachers would have worked out this formula exact. So, I am talking about a formula that will appear in what we call our statement inside the loop where we have said area is equal to area plus something. What I want you to tell me is this. So, I will repeat again assume that you are the teacher teaching 8500 of us. We are all listening to you as students and you have explained the concept of using a trapezoid and you have shown this trapezoid, but I forget geometrically how do I calculate the area of trapezoid. You can remind me that it comprises of a rectangle and a triangle. I know how to calculate the area of rectangle. I know how to calculate the area of rectangle. My problem is not that. My problem is that those areas I will represent in terms of height and width of the triangle or height and width of the rectangle etcetera etcetera. But I have to translate that into a program statement which will take this area as I have shown here and add it to the existing area. Inside this box what is the expression which I write which is in terms of I and W alone. So, this is the question and with this question I will go over to a couple of colleagues again. So, let me see there is L R institute of engineering. There is a hand raised here. Let us go over and try to see whether we can get the exact formula. Over to you sir. Please. The formula will be half into W into opening third bracket one by opening bracket one plus opening bracket I minus one into W bracket close bracket close into sorry plus one by first bracket open one plus I into W first bracket close first bracket close first bracket close. That is I am actually finding the area of the trapezoid that is using the formula one plus half into W into H 1 plus H 2 and H 1 and H 2 is actually the two sides of the trapezoid. So, it is it is it must be correct sir. Yes. Okay. Thank you so much. We will go over once to some other institution SGS institute of technology 1116. Sir, my name is Vivek Menon. The formula would be half into the area of the trapezoid would be half into width into the sum of parallel sides. So, it would be half into W into inside brackets. We would be having the sum of two terms. The first would be one upon one plus inside bracket I minus one into W plus now the second term would be one upon one plus I into W. Thank you so much. We will stop this exercise at this juncture. So, let us get back to now a generic discussion. Now, let me share with you the real purpose of doing this entire exercise. The questions I was raising are the kind of questions that will be raised by our students. In fact, there will be many more questions that will be raised. Now, I will come to the main point. As a preparation, we teachers have to anticipate as many such questions as we can and prepare the correct answers for these questions ahead of time. Independent of that, some people will raise questions on the fly which we have not prepared, but we should be able to correctly answer those questions very quickly. Now, notice what happens in a simulated classroom like this is that while whatever I write on the white board, you are able to sleep may be with some difficulty, but whatever you write at your end, I cannot see. In my classroom, I will request a student to come to the board and write the expression, but in this simulated classroom, I cannot request a participant to come to the board because there is no board. Someday, the technology availability in each of our remote centers and in fact, in each of our institutions will be such that such interaction with whatever somebody is writing in any remote center can be seen by all others, etcetera will prevail. Today, we do not have it. So, we are using the mode of a chat session. I would like to introduce this problem very quickly and then, we will continue this discussion in the subsequent session after the tea break. Thank you so much. Over and out.