Imagine that you are the town manager in an area where drinking water resources are scant. Your
Fantastic news! We've Found the answer you've been seeking!
Question:
Imagine that you are the town manager in an area where drinking water resources are scant. Your town is located near the ocean. You must figure out a way to increase the drinking water supply for the town residents. You must make a presentation for the town residents about the possibility of building a desalination plant. Use this article in addition to the Unit's lessons to inform your presentation https://e360.yale.edu/features/as-water-scarcity-increases-desalination-plants-are-on-the-rise
Make a Pros and Cons Table for the town to observe and discuss at the meeting.
Desalination Plant
| |
Information to Consider:
| |
Pros | Cons |
|
|
|
|
|
|
|
|
|
|
Transcribed Image Text:
Overview You've just moved into a new city, and you're planning your daily commute. You have 3 modes of public transportation available to you: the subway, the bus, and of course you can just walk. You can imagine locations in the city as a number line which increments from your starting location of 0 (zero). You can only move forward along this number line in your journey. The train is much faster than the bus, and the bus is much faster than walking. Unfortunately, the train can only stop at points where a train station exists, and the bus can only stop at points where a bus stop exists. You may assume that a bus stop exists at every train station, and that you may begin walking from any bus stop. You may walk forward and end your walking journey at any point. The Linked Structure You plan and visualize your journey using a special 3 layered linked list. The top layer represents the train, the middle layer represents the bus, and the bottom layer represents walking. Each node in your layered linked list contains an int representing the location, a reference next representing the next location you can visit in your current mode of transport, and a reference down which takes you down to the SAME location in a slower mode of transport. For example in the diagram below, the node 4 in the train layer points to the node 4 in the bus layer, which points to the node 4 in the walking layer. next will be set to null if there are no more locations to visit on the current mode of transport, and down will be set to null if you are in the walking layer. Implementation the bus array contains all values in the train array. the walking array contains all values in the bus array. the walking array contains every integer from 1 to its largest value. O>3- | 4 4 Lidt 3 4 One line containing the number of bus stops One line containing the location of each bus stop, space separated One line containing the number of walking locations One line containing each walking location, space separated Below is an example of running the driver to help test this method. | The image above helps us visualize our journey using a special 3 layer linked list. The top layer represents the train, the middle layer represents the bus, and the bottom layer represents walking. Enter a layered list input file => input2.txt What method would you like to test? 1. makeList 2. removeStation 3. addStop 4. bestPath 5. duplicate 6. addScooter Enter a number => 1 Each node in the 3 layer linked list contains an int representing the location, a reference next representing the next train station, bus stop, or city location based on whether you're on the train, bus, or walking level, and a reference down representing the next slower mode of transport. For the walking layer, down will be set to null since walking is the slowest mode of transport available. For the train layer, down will point to the node in the bus layer which contains the same point in the city, and similarly for the bus layer to the walking layer. When there are no more train stations, bus stops, or city locations, next will be set to null. | 0>2->3>5->7- | | Overview of files TNode class, which houses an int for location, and next and down pointers. Do not edit this class. It is not submitted, but it is used exactly as written to grade your code. Driver class, which you can run to test any of your methods interactively. Feel free to edit this class, as it is provided only to help you test. It is not submitted and it is not used to grade your code. Stdln and StdOut, which are used by the driver. Do not edit these classes.. Transit class, which contains annotated method signatures for all the methods you are expected to fill in. You should write your solutions in this file, and it is the file which will be submitted for grading. Multiple text files which contain input data, and can be read by the driver as test cases. Feel free to edit them or even make new ones to help test your code. They are not submitted. | 0 0 Original List: 0>3- Transit.java NOTE: You are allowed (encouraged, even) to make helper methods in your Transit.java file to be used in your graded methods. Just make sure that they are created with the private keyword. Do not add new imports. Methods to be implemented by you: 1. makeList Implement this method to build your layered linked list structure. It takes as arguments 3 sorted integer arrays representing train stations, bus stops, and walking locations. It is guaranteed that: Final list: 0--- ->3. | Every layer of your list has to start with a node at location 0 (zero), and by following the next pointers, it visits each value in the corresponding array. Note that 0 (zero) will NOT be present in the input arrays, and you are responsible for adding zero nodes for each layer yourself. Enter a layered list input file => input2.txt What method would you like to test? 1. makeList 2. removeStation 3. addStop 4. bestPath 5. duplicate 6. addScooter Enter a number => 2 | Additionally, the nodes in the train layer have to point down to the node in the bus layer of the same location, and the nodes in the bus layer should point down to the nodes in the walking layer of the same location. Return the zero node of the train layer (the topmost layer). You have been provided some input files to test this method (input1.txt, input2.txt, input3.txt). The format is as follows: One line containing the number of train stations One line containing the location of each train station, space separated 0>2->3>5>7- | | | | Enter a station to remove => 13 0>2->3>5>7- | | Original List: O | 5. duplicate 6. addScooter Enter a number => 3 | O>2->3>5>7- | | | | | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 Enter a bus stop to add => 15 Final list: 0||||||| | 0>2->3>5 ->7. | | | 2. remove Train Station Given your layered linked list (reference to the train zero node) and an int representing the location of a train station, write a method to remove the given train station from the layered linked list. Note that the corresponding bus stop and walking location are NOT to be removed. Also note that this is an in place method, and you should perform your operations on the layered list without returning anything. If the specified train station doesn't exist, do nothing. The specified train stations used for grading are guaranteed to not be the zero node. The input files to test this method are the same as makeList. Below is an example of running the driver to help test this method. Enter a layered list input file => input2.txt What method would you like to test? 1. makeList 2. removeStation 3. addStop 4. bestPath | | 2 5. duplicate 6. addScooter Enter a number => 4 2 Layered Linked List: O>3- | 0---->2->3>5>7- | | | Best path: ->13- | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 >>>>>>> Original list: O>3- | ->7. Enter a destination => 11 Duplicate: 0- | | Enter a layered list input file => input2.txt What method would you like to test? 1. makeList 2. removeStation 3. addStop 4. bestPath O>2->3>5>7- | | | | >11. | | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 | 0>2->3>5>7- | | 3. addBusStop Given your layered linked list (reference to the train zero node) and an int representing the location of a new bus stop, write a method to add the new bus stop to the layered linked list. The bus stops used for grading are guaranteed to correspond to a walking layer node. If the specified bus stop already exists, do nothing. This is an in place method, and you should perform your operations on the layered list without returning anything. The input files to test this method are the same as makeList. Below is an example of running the driver to help test this method. V 7>> | ->11- | Final list: O>3- | >13 | | ->11>13- | they underneath the bus layer but above the walking layer. | | | | | ->13. | | Enter a layered list input file => input2.txt What method would you like to test? 1. makeList 2. removeStation 3. addStop 4. bestPath 5. duplicate 6. addScooter Enter a number => 5 | ->11->13- 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 O>2->3>5>7- 13- | | 6 >11 V 11 6 ->13- | 7 | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 >11----->13- 7 >13 I 8 4. bestPath Given your layered linked list and an int representing the destination location, determine the optimal path to get there. Remember that you can only move forward or down through your layered list, and that you don't want to overshoot your destination in either the train or bus layers. You want to stay on the train as long as you possibly can, then you want to stay on the bus as long as you possibly can, before walking to your destination. Add every TNode along the best path to an ArrayList, ending in the destination node in the walking layer, returning this arraylist. The input files to test this method are the same as makeList Below is an example of running the driver to help test this method: One line containing the number of scooter stops One line containing all the locations of scooter stops, space separated Below is an example of running the driver to help test this method: >11>13- Enter a layered list input file => input2.txt What method would you like to test? 1. makeList 2. removeStation 3. addStop 4. bestPath 5. duplicate 6. addScooter Enter a number => 6 0||||| | Original list: | O>2->3>5>7- | | | >11- >13 | 9 9 | | Enter a scooter layer input file => scooter2.txt ->17->19- ->11>13>15>17->19- | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 >13- | ->13- | | ->19 | ->13. | ->11>13- | ->17>19 | | | >17----->19- 5. duplicate Given your layered linked list, write a method to return a deep copy. This means that the structure of the new list should be exactly the same, with the same values and connections in the train, bus, and walking layers. It should be able to function exactly as the original list does. However, there should be NO nodes present in the copy which also exist in the original. In order for your deep copy to be graded as correct, every single node in it must have been created using the new keyword. Return the zero node in the train layer of the deep copy The input files to test this method are the same as makeList. Below is an xample of running the driver to help test this method: >19 | | | 19 ->17>19- >19 | >19 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 13- | 11- ->13. | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 | 10 ->17->19- 10 ->19 10 Train Stations I Bus Stops ->17>19- | Walking ->19 I | 6. addScooter Your city has FINALLY added those new electric scooters (you may have even seen them around the Rutgers campus)! You can't wait to try them, and you decide to try to add them to your daily commute. You notice that the scooters can be picked up at any bus station and can be dropped off in slightly more locations, though still can't get you to as many places as walking. Naturally, you decide to implement this change to your commute as a "scooter layer" >17>19- ->19 | a method which takes in your layered linked list and a sorted int array representing the locations in the scooter layer. It should then update your layered You must write linked list so that the bus layer points down to the correct nodes in the new scooter layer, and the new scooter layer points down to the correct nodes in the walking layer. This is an in place method, and you should perform your operations on the layered list without returning anything. been provided some input files to help test this method (scooter2.txt, scooter3.txt). The scooter2 file should only be used with input2.txt, and the You have scooter3 file should only be used with input3.txt. The format is as follows: | ->23 ->17>19 | ->19 I | ->23 | ->17>19- ->23 ->19 | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 ->23 | | ->23 | ->23 | ->23 | 0->1->2->3->5>7>9>11>13>15>17>19>21>23 | ->23 ->23 | ->23 | | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 Implementation Notes YOU MAY only update the methods makeList(), remove Train Station(), addBusStop(), addScooter(), bestPath(), and duplicate(). DO NOT add any instance variables to the Transit class. DO NOT add any public methods to the Transit class. add private methods to the Transit class. YOU MAY Overview You've just moved into a new city, and you're planning your daily commute. You have 3 modes of public transportation available to you: the subway, the bus, and of course you can just walk. You can imagine locations in the city as a number line which increments from your starting location of 0 (zero). You can only move forward along this number line in your journey. The train is much faster than the bus, and the bus is much faster than walking. Unfortunately, the train can only stop at points where a train station exists, and the bus can only stop at points where a bus stop exists. You may assume that a bus stop exists at every train station, and that you may begin walking from any bus stop. You may walk forward and end your walking journey at any point. The Linked Structure You plan and visualize your journey using a special 3 layered linked list. The top layer represents the train, the middle layer represents the bus, and the bottom layer represents walking. Each node in your layered linked list contains an int representing the location, a reference next representing the next location you can visit in your current mode of transport, and a reference down which takes you down to the SAME location in a slower mode of transport. For example in the diagram below, the node 4 in the train layer points to the node 4 in the bus layer, which points to the node 4 in the walking layer. next will be set to null if there are no more locations to visit on the current mode of transport, and down will be set to null if you are in the walking layer. Implementation the bus array contains all values in the train array. the walking array contains all values in the bus array. the walking array contains every integer from 1 to its largest value. O>3- | 4 4 Lidt 3 4 One line containing the number of bus stops One line containing the location of each bus stop, space separated One line containing the number of walking locations One line containing each walking location, space separated Below is an example of running the driver to help test this method. | The image above helps us visualize our journey using a special 3 layer linked list. The top layer represents the train, the middle layer represents the bus, and the bottom layer represents walking. Enter a layered list input file => input2.txt What method would you like to test? 1. makeList 2. removeStation 3. addStop 4. bestPath 5. duplicate 6. addScooter Enter a number => 1 Each node in the 3 layer linked list contains an int representing the location, a reference next representing the next train station, bus stop, or city location based on whether you're on the train, bus, or walking level, and a reference down representing the next slower mode of transport. For the walking layer, down will be set to null since walking is the slowest mode of transport available. For the train layer, down will point to the node in the bus layer which contains the same point in the city, and similarly for the bus layer to the walking layer. When there are no more train stations, bus stops, or city locations, next will be set to null. | 0>2->3>5->7- | | Overview of files TNode class, which houses an int for location, and next and down pointers. Do not edit this class. It is not submitted, but it is used exactly as written to grade your code. Driver class, which you can run to test any of your methods interactively. Feel free to edit this class, as it is provided only to help you test. It is not submitted and it is not used to grade your code. Stdln and StdOut, which are used by the driver. Do not edit these classes.. Transit class, which contains annotated method signatures for all the methods you are expected to fill in. You should write your solutions in this file, and it is the file which will be submitted for grading. Multiple text files which contain input data, and can be read by the driver as test cases. Feel free to edit them or even make new ones to help test your code. They are not submitted. | 0 0 Original List: 0>3- Transit.java NOTE: You are allowed (encouraged, even) to make helper methods in your Transit.java file to be used in your graded methods. Just make sure that they are created with the private keyword. Do not add new imports. Methods to be implemented by you: 1. makeList Implement this method to build your layered linked list structure. It takes as arguments 3 sorted integer arrays representing train stations, bus stops, and walking locations. It is guaranteed that: Final list: 0--- ->3. | Every layer of your list has to start with a node at location 0 (zero), and by following the next pointers, it visits each value in the corresponding array. Note that 0 (zero) will NOT be present in the input arrays, and you are responsible for adding zero nodes for each layer yourself. Enter a layered list input file => input2.txt What method would you like to test? 1. makeList 2. removeStation 3. addStop 4. bestPath 5. duplicate 6. addScooter Enter a number => 2 | Additionally, the nodes in the train layer have to point down to the node in the bus layer of the same location, and the nodes in the bus layer should point down to the nodes in the walking layer of the same location. Return the zero node of the train layer (the topmost layer). You have been provided some input files to test this method (input1.txt, input2.txt, input3.txt). The format is as follows: One line containing the number of train stations One line containing the location of each train station, space separated 0>2->3>5>7- | | | | Enter a station to remove => 13 0>2->3>5>7- | | Original List: O | 5. duplicate 6. addScooter Enter a number => 3 | O>2->3>5>7- | | | | | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 Enter a bus stop to add => 15 Final list: 0||||||| | 0>2->3>5 ->7. | | | 2. remove Train Station Given your layered linked list (reference to the train zero node) and an int representing the location of a train station, write a method to remove the given train station from the layered linked list. Note that the corresponding bus stop and walking location are NOT to be removed. Also note that this is an in place method, and you should perform your operations on the layered list without returning anything. If the specified train station doesn't exist, do nothing. The specified train stations used for grading are guaranteed to not be the zero node. The input files to test this method are the same as makeList. Below is an example of running the driver to help test this method. Enter a layered list input file => input2.txt What method would you like to test? 1. makeList 2. removeStation 3. addStop 4. bestPath | | 2 5. duplicate 6. addScooter Enter a number => 4 2 Layered Linked List: O>3- | 0---->2->3>5>7- | | | Best path: ->13- | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 >>>>>>> Original list: O>3- | ->7. Enter a destination => 11 Duplicate: 0- | | Enter a layered list input file => input2.txt What method would you like to test? 1. makeList 2. removeStation 3. addStop 4. bestPath O>2->3>5>7- | | | | >11. | | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 | 0>2->3>5>7- | | 3. addBusStop Given your layered linked list (reference to the train zero node) and an int representing the location of a new bus stop, write a method to add the new bus stop to the layered linked list. The bus stops used for grading are guaranteed to correspond to a walking layer node. If the specified bus stop already exists, do nothing. This is an in place method, and you should perform your operations on the layered list without returning anything. The input files to test this method are the same as makeList. Below is an example of running the driver to help test this method. V 7>> | ->11- | Final list: O>3- | >13 | | ->11>13- | they underneath the bus layer but above the walking layer. | | | | | ->13. | | Enter a layered list input file => input2.txt What method would you like to test? 1. makeList 2. removeStation 3. addStop 4. bestPath 5. duplicate 6. addScooter Enter a number => 5 | ->11->13- 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 O>2->3>5>7- 13- | | 6 >11 V 11 6 ->13- | 7 | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 >11----->13- 7 >13 I 8 4. bestPath Given your layered linked list and an int representing the destination location, determine the optimal path to get there. Remember that you can only move forward or down through your layered list, and that you don't want to overshoot your destination in either the train or bus layers. You want to stay on the train as long as you possibly can, then you want to stay on the bus as long as you possibly can, before walking to your destination. Add every TNode along the best path to an ArrayList, ending in the destination node in the walking layer, returning this arraylist. The input files to test this method are the same as makeList Below is an example of running the driver to help test this method: One line containing the number of scooter stops One line containing all the locations of scooter stops, space separated Below is an example of running the driver to help test this method: >11>13- Enter a layered list input file => input2.txt What method would you like to test? 1. makeList 2. removeStation 3. addStop 4. bestPath 5. duplicate 6. addScooter Enter a number => 6 0||||| | Original list: | O>2->3>5>7- | | | >11- >13 | 9 9 | | Enter a scooter layer input file => scooter2.txt ->17->19- ->11>13>15>17->19- | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 >13- | ->13- | | ->19 | ->13. | ->11>13- | ->17>19 | | | >17----->19- 5. duplicate Given your layered linked list, write a method to return a deep copy. This means that the structure of the new list should be exactly the same, with the same values and connections in the train, bus, and walking layers. It should be able to function exactly as the original list does. However, there should be NO nodes present in the copy which also exist in the original. In order for your deep copy to be graded as correct, every single node in it must have been created using the new keyword. Return the zero node in the train layer of the deep copy The input files to test this method are the same as makeList. Below is an xample of running the driver to help test this method: >19 | | | 19 ->17>19- >19 | >19 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 13- | 11- ->13. | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 | 10 ->17->19- 10 ->19 10 Train Stations I Bus Stops ->17>19- | Walking ->19 I | 6. addScooter Your city has FINALLY added those new electric scooters (you may have even seen them around the Rutgers campus)! You can't wait to try them, and you decide to try to add them to your daily commute. You notice that the scooters can be picked up at any bus station and can be dropped off in slightly more locations, though still can't get you to as many places as walking. Naturally, you decide to implement this change to your commute as a "scooter layer" >17>19- ->19 | a method which takes in your layered linked list and a sorted int array representing the locations in the scooter layer. It should then update your layered You must write linked list so that the bus layer points down to the correct nodes in the new scooter layer, and the new scooter layer points down to the correct nodes in the walking layer. This is an in place method, and you should perform your operations on the layered list without returning anything. been provided some input files to help test this method (scooter2.txt, scooter3.txt). The scooter2 file should only be used with input2.txt, and the You have scooter3 file should only be used with input3.txt. The format is as follows: | ->23 ->17>19 | ->19 I | ->23 | ->17>19- ->23 ->19 | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 ->23 | | ->23 | ->23 | ->23 | 0->1->2->3->5>7>9>11>13>15>17>19>21>23 | ->23 ->23 | ->23 | | 0->1->2->3->4->5->6->7->8->9->10->11->12->13->14->15->16->17->18->19->20->21->22->23->24->25 Implementation Notes YOU MAY only update the methods makeList(), remove Train Station(), addBusStop(), addScooter(), bestPath(), and duplicate(). DO NOT add any instance variables to the Transit class. DO NOT add any public methods to the Transit class. add private methods to the Transit class. YOU MAY
Expert Answer:
Answer rating: 100% (QA)
Pros 1 Increased Water Supply A desalination plant can provide a reliable and additional source of d... View the full answer
Related Book For
Posted Date:
Students also viewed these programming questions
-
Planning is one of the most important management functions in any business. A front office managers first step in planning should involve determine the departments goals. Planning also includes...
-
Is the PS assessment a valid predictor of performance as a store manager? Would you recommend the PS be used in the future to select sales people for promotion to store manager?
-
Explain why the minimum and maximum observations are added to the three quartiles to describe better the variation in a data set.
-
The functions f and g are defined for x R by f: x 5 3x g: x (x 1) a) Find the set of values which satisfy gf(x) 25. b) Sketch on the same diagram the graphs of y = f(x) and y = f 1 (x), showing...
-
Refer to the information in Exercise 16-12. Prepare a process cost summary using the FIFO method. (Round cost per equivalent unit calculations to two decimal places.) Data From Exercise 16-12 The...
-
A local television station plans to drop four Friday evening programs at the end of the season. Steve Botuchis, the station manager, developed a list of six potential replacement programs. Estimates...
-
Yvonne can use two coupons for the same purchase at her favorite department store. One coupon gives her $20 off and the other gives her 25% off. She wants to buy a bedspread that sells for...
-
Classify each function as a power function, root function, polynomial (state its degree), rational function, algebraic function, trigonometric function, exponential function, or logarithmic function....
-
The following information is available for Quality Book Sales' sales on account and accounts receivable: Accounts receivable balance, January 1, Year 2 Allowance for doubtful accounts, January 1,...
-
Selling price per unit $45.00 per unit and Variable expenses per unit $25.00 per unit and Total fixed expenses $100,000. Standard's goal for the month is to earn before tax net income of $42,500. How...
-
An entry of R in the P/F field initiates what system response?
-
Can u give me arguments for and against 'THW tax religious institution'?
-
What is the output of this program? #include using namespace std; class Test { int x; }; int main() { Test t; cout < < t.x; return 0; recall that by default, class members are private. Select one: a....
-
Transaction Classification Accounting treatment. 1. At the end of the year, Quo determined that the allowance for credit losses should be 4% of the accounts receivable balance. The allowance in the...
-
While he was unemployed during the first eight months of 2020, Mr. Leopold Morena found employment in September of that year. His employment income for these four months was $20,000. In addition he...
-
How can a promoter avoid personal liability for pre-incorporation contracts?
-
High Flyers manufactures competition stunt kites. In November, Jerry Box prepared the following production budget for the first quarter of the coming year. Desired ending inventory is based on the...
-
Thompson Manufacturing has been in business for over 50 years, making a variety of consumer electronics products. Mary Felix recently joined the business as vice president of the Conley division, one...
-
Eric Parker has been studying his departments profitability reports for the past six months. He has just completed a managerial accounting course and is beginning to question the companys approach to...
-
The basketball player from Example 2 is asked to shoot three free throws 100 times. Compute the mean number of free throws made. Approach The player shoots three free throws and the number made is...
-
A term life insurance policy will pay a beneficiary a certain sum of money upon the death of the policyholder. These policies have premiums that must be paid annually. Suppose an 18- year-old male...
-
Find the standard deviation of the discrete random variable given in Table 1 from Example 2. Approach We will use Formula (2a) with the unrounded mean X = 2.39. Approach We will use Formula (2b)...
Study smarter with the SolutionInn App