[User] Please transcribe this text

[Assistant] This exp is equal to postfix of i. What is postfix of i currently? It is minus. We are at index position 4. That is operator minus.


[User] Please transcribe this text

[Assistant] Then we say OP2. What is OP2? OP2 is plus AB. And we say plus OP1. What is OP1? It is C. So this is the new EXP that we formed.


[User] Please transcribe this text

[Assistant] And then we have to simply push it onto the stack, so I'm gonna write minus plus


[User] Please transcribe this text

[Assistant] A prefix string, sub prefix string of this corresponding postfix string. And we are slowly building our prefix string into the stack.


[User] Please transcribe this text

[Assistant] After 2.2.6 is done, we will come at the end of the loop and I will now become 5. So at index position 5, we have D.


[User] Please transcribe this text

[Assistant] I'm gonna put it onto the stack. Similarly, you can see at index vision 6 and 7 also we have operands that is E and F. So let's write E and F also onto the stack quickly and not waste time.


[User] Please transcribe this text

[Assistant] So when we will be at index position 7, that is i equals to 7, till then we will keep pushing


[User] Please transcribe this text

[Assistant] The characters, because they are operant, so we'll push them onto the stack.


[User] Please transcribe this text

[Assistant] Now, after index version 7, when i becomes 8,


[User] Please transcribe this text

[Assistant] That's when we have a race to sign, which is a operator, right?


[User] Please transcribe this text

[Assistant] So again we will follow 2.2.2. We will say op1 is equal to s.top which is f. Then we will say 2.2.2 which is s.pop. Remove that f. So the new top of the stack becomes e.


[User] Please transcribe this text

[Assistant] Then at 2.2.3 we say op2 is equal to s.top.


[User] Please transcribe this text

[Assistant] S.top is currently E, that is E is the top of the stack which will go in OP2. Then we will pop this E at 2.2.4.


[User] Please transcribe this text

[Assistant] Then at 2.2.5, we will create this expression saying posfix of i which is raised to sine. OP2 is e and OP1 is f.


[User] Please transcribe this text

[Assistant] So this expression, we will push onto the stack. At 2.2.6, we will say raise to enf. And this becomes the new top of the stack. Okay. Now we'll move forward, i will become 9. And at index position 9, we have one more raise to sign.


[User] Please transcribe this text

[Assistant] So again 2.2 will be executed, we will say op1 is s.top. What is the top of the stack now? It is raised to enf.


[User] Please transcribe this text

[Assistant] Then 2.2.2 says remove that top of the stack using s.pop. After that we will say op2.


[User] Please transcribe this text

[Assistant] What is the top of the stack now? It is D. So OP2 will become D.


[User] Please transcribe this text

[Assistant] Then we will create this expression exp by saying posh fix of i which is again a race to sign.


[User] Please transcribe this text

[Assistant] Then we will say OP2, what is OP2? OP2 is D.


[User] Please transcribe this text

[Assistant] Then we will say plus OP1. What is OP1? It is raised to ENF.


[User] Please transcribe this text

[Assistant] And this exp prefix subexpression is what we have to push onto the stack at 2.2.6. So we will say, raise to d, raise to enf. So this we will push onto the stack and this is the top of the stack.


[User] Please transcribe this text

[Assistant] Okay, so now we will say i++, that is, we will go to the next symbol, which is index position 10, so i becomes 10.


[User] Please transcribe this text

[Assistant] Again, we have one more star sign, which is again an operator, so again 2.2 will be executed.


[User] Please transcribe this text

[Assistant] We will say ops.top. What is the top of the stack? It is raised to D.


[User] Please transcribe this text

[Assistant] Then we will say op2 is s.top. What is the top of the stack? It is minus plus abc. So op2 is equal to minus plus abc. Then we will again pop this top of the stack.


[User] Please transcribe this text

[Assistant] And then we will create our expression exp by saying poshfix of i which is star symbol this time. So I'm gonna write star.


[User] Please transcribe this text

[Assistant] Then what is OP2? OP2 is minus plus.


[User] Please transcribe this text

[Assistant] star minus plus abc raised to d raised to ef and this is now going to be the top of the stack.


[User] Please transcribe this text

[Assistant] So you can see slowly we are building our prefix, prefix expression as we progress through the entire postfix string. Now again, i will be incremented. i will become 11. At index position 11, we have an operand g. So g will be simply pushed onto the stack.


[User] Please transcribe this text

[Assistant] Because if it is operand, we have to simply push it onto the stack. This becomes the new top of the stack.


[User] Please transcribe this text

[Assistant] Then I will become 12 and we will arrive at the last character.


[User] Please transcribe this text

[Assistant] Is equal to top of the stack at 2.2.1 which is G now. Then we will remove the top of the stack. Then we will say OP2 is equal to


[User] Please transcribe this text

[Assistant] This whole top of the stack expression, which is star minus plus ABC raised to D raised to EF. Okay. So this is OP2.


[User] Please transcribe this text

[Assistant] Then we will remove this also from the stack at 2.2.4. And lastly we will create the final expression exp.


[User] Please transcribe this text

[Assistant] So let me write exp over here, which is gonna be the posh fix of i. What is posh fix of i? We are at the last character, which is divided by, then we have op2. op2 is this whole


[User] Please transcribe this text

[Assistant] So that is OP2 and plus OP1. OP1 is simply G. And this my friends is basically the final answer that we have to push onto the stack.


[User] Please transcribe this text

[Assistant] So I'm gonna just copy and put it over here. And at 2.2.6, we will push this exp onto the stack. And if you observe, this is basically our final answer. Because we have arrived at the end of the postfix string. So this loop will stop working. We will come outside this loop.


[User] Please transcribe this text

[Assistant] at the end of the loop and after this we will just say return s.top. So currently the top of the stack is this prefix string.


[User] Please transcribe this text

[Assistant] Which if you observe, let me just paste it over here also as the answer. Let me just write it properly.


[User] Please transcribe this text

[Assistant] Now if you compare this prefix string with the manual conversion, it is exactly same.


[User] Please transcribe this text

[Assistant] And we have successfully converted the postfix expression, which is this one, to its corresponding


[User] Please transcribe this text

[Assistant] Prefix expression using stack data structure using this pseudocode and this rules.


[User] Please transcribe this text

[Assistant] Now you can go ahead and take some easier examples and apply the same pseudocode, apply the same rules. We took a little lengthy example because it will cover all the rules and give you a good practice.


[User] Please transcribe this text

[Assistant] So this was the entire conversion of postfix to prefix expression using stack data structure where we discussed the rules as well as the pseudocode. So if you liked this video, if you understood this video,


[User] Please transcribe this text

[Assistant] Please give it a thumbs up. Please give it a like. Let me know in the comments how this video was. Do share it with your friends. In the next tutorial, obviously, we will implement this pseudo code and convert it to a proper programming language using C++ programming.


[User] Please transcribe this text

[Assistant] And write a program to convert a postfix expression to prefix expression. So thanks for watching. See you in the next one. Peace.


[User] Please transcribe this text

[Assistant] Du-du-du-du-du-du-du Chicken Du-du-du-du-du


[User] Please transcribe this text

[Assistant] Would you mind identifying this wand? We need to know if it's safe to use.


[User] Please transcribe this text

[Assistant] She's not even right. If you say so.


[User] Please transcribe this text

[Assistant] I'll fight you. Neville, I'm really really sorry about this. Petrificus totalus.


[User] Please transcribe this text

[Assistant] Example, oculeth repair rope.


[User] Please transcribe this text

[Assistant] Holy Cricket, you're Harry Potter! I'm Hermione Granger, and you are? Uhm, Ron Weasley. Pleasure.


[User] Please transcribe this text

[Assistant] You two better change into robes. I expect we'll be arriving soon.


[User] Please transcribe this text

[Assistant] You've got dirt on your nose, by the way. Did you know? Just there.


[User] Please transcribe this text

[Assistant] Example. Oculus Repair Routes.


[User] Please transcribe this text

[Assistant] I'm Hermione Granger, and you are? Uhm, Ron Measley. Pleasure.


[User] Please transcribe this text

[Assistant] You two better change into robes. I expect we'll be arriving soon.


[User] Please transcribe this text

[Assistant] You've got dirt on your nose, by the way. Did you know? Just there.


[User] Please transcribe this text

[Assistant] Holy cricket, you're Harry Potter! I'm Hermione Granger, and you are? Uhm, Ron Measley. Pleasure.


[User] Please transcribe this text

[Assistant] You two better change into robes. I expect we'll be arriving soon.


[User] Please transcribe this text

[Assistant] You've got dirt on your nose, by the way. Did you know? Just there.


[User] Please transcribe this text

[Assistant] So we've already talked about stack data structure. We've already talked about linked list and the different types that is singly, doubly and circular linked list.


[User] Please transcribe this text

[Assistant] And we've also implemented them in the form of C++ program. But this topic was requested by some of you guys where


[User] Please transcribe this text

[Assistant] It was asked that how can we implement a stack using a singly linked list and not an array. So the one video where we implemented the stack, we implemented it using a simple array data structure.


[User] Please transcribe this text

[Assistant] But we can also create a stack using singly linked list data structure or linked list data structure.


[User] Please transcribe this text

[Assistant] So in this video, we're going to take a look at how stack using array is different from stack using singly linked list. And then we will move on to implementing a stack using singly linked list. So we'll see all the stack operations and how the nodes can be used and how the nodes can be pushed and popped in the way that a stack performs that is in last in first out or first in last out manner. And that's how the stack operates, right?


[User] Please transcribe this text

[Assistant] So what I'm trying to say is we can make use of a singly linked list or a linked list and make it perform like a stack. Okay?


[User] Please transcribe this text

[Assistant] So that is the whole picture that we're gonna paint over here and we're gonna take example, we're gonna take visual diagrams. So please make sure you watch this video till the end. And with that being said, let's get started.


[User] Please transcribe this text

[Assistant] If you're new to my channel, my name is Tanmay Sakpal and I do a lot of computer science and information technology video tutorials like computer programming, development, technology talks and a lot more on this channel. So if that's something you're interested into, then definitely subscribe and turn on the notifications to get the latest updates and never miss out on such important topics. So before I start off with stack using singly linked list,


[User] Please transcribe this text

[Assistant] In the center over here, you can see this is a simple stack using an array data structure.


[User] Please transcribe this text

[Assistant] We've already talked about it, so I'm just quickly gonna explain to you this image and the computer memory scenario. So we have an integer array of size 5 and we are making it work like a stack.


[User] Please transcribe this text

[Assistant] So the visual diagram would look something like this. This is our stack. This is the closed end. And from here is where we will push as well as


[User] Please transcribe this text

[Assistant] Pop out the different elements. This is the top of the stack right now and in the red over here is the address. Okay, so of course in the memory.


[User] Please transcribe this text

[Assistant] The value stored in that array and remember in array we have contiguous memory location, right? So this entire memory strip is


[User] Please transcribe this text

[Assistant] Next to each other, which means that after hash 300 memory address, we have 302.


[User] Please transcribe this text

[Assistant] Because I am considering as integer to be taking 2 bytes, okay.


[User] Please transcribe this text

[Assistant] So array is a contiguous memory location allocation.


[User] Please transcribe this text

[Assistant] So this is where stack using array comes into picture. We've already talked about it, but I just wanted to show you the visual diagram as well as the computer memory representation and how the addresses are assigned in the array. Now, let's take a look at the stack using singly linked list scenario and how it is different from stack using array.


[User] Please transcribe this text

[Assistant] Okay, so on the right hand side we have stack using singly linked list. Now remember in a linked list,


[User] Please transcribe this text

[Assistant] The element that is stored is called a node. Now the node usually comprises of three data members or three data elements. In singly linked specifically, we have the key.


[User] Please transcribe this text

[Assistant] The key is the unique identifier you can see as the ID of the node and that's how you access individual nodes in the singly linked list. Then we have the actual value. That is the value that you want to store in that node.


[User] Please transcribe this text

[Assistant] And of course there is one more element which is an extra element which is known as the next pointer which points to the next node.


[User] Please transcribe this text

[Assistant] So we are not storing plain integers in this case. We are storing these nodes.


[User] Please transcribe this text

[Assistant] In the form of a stack, right? And that's why we have this structure of node which is having key value.


[User] Please transcribe this text

[Assistant] And of course one extra element next which points to the next node in the stack.


[User] Please transcribe this text

[Assistant] And the reason why I'm saying stack and not singly linked list is because these nodes are gonna be arranged in such a way that they work like a stack. So how do they work like a stack?


[User] Please transcribe this text

[Assistant] Now below is the representation of a stack and if you see this is node N1, this is node N2, N3, N4 and N5 which is arranged in the form of stack. Again this is the closed end of the stack and from here is where you push


[User] Please transcribe this text

[Assistant] And from here is where you pop out the different nodes, okay. So, this is the top of the stack right now, which is nphi.


[User] Please transcribe this text

[Assistant] Now if you observe n1 has the key value of 1 and the actual value is 45, the next pointer in the n1 is storing null, which means that it is pointing to


[User] Please transcribe this text

[Assistant] Nothing. Then you have n2, whose key is 3. The actual value inside it is 6.


[User] Please transcribe this text

[Assistant] And the next pointer over here is hash 100. So what is this hash 100? So this hash 100 is the address of n1. You can see address of n1 is hash 100 and that address is stored over here in n2. That is in the next value of n2.


[User] Please transcribe this text

[Assistant] So, N2 is pointing to N1, you can see these arrows, N2 is pointing to N1. Similarly, N3 is pointing to N2, N4 is pointing to N3 and N5 is pointing to N4.


[User] Please transcribe this text

[Assistant] So that's how the linking is going and this is how it is made to work like a stack.


[User] Please transcribe this text

[Assistant] Now if you're wondering why are these addresses so random and not contiguous like this computer memory in stack using array, it is because when you create an individual node,


[User] Please transcribe this text

[Assistant] In the computer memory, if you observe, the node gets created in any other memory location and it is not always right next to each other.


[User] Please transcribe this text

[Assistant] Node n2 is created right next to it in hash 102. However, node n3


[User] Please transcribe this text

[Assistant] Is created at this address hash 300, which is not obviously next to any of these two other nodes.


[User] Please transcribe this text

[Assistant] It is made to work like a stack is by using this linking. So you can see these arrows which are pointing to every node. So,


[User] Please transcribe this text

[Assistant] And similarly the mapping is done using these next pointers pointing to the next node. But this still looks like a linked list, right?


[User] Please transcribe this text

[Assistant] When you push a particular node into the memory or when you create a node in the particular memory, the way you link it into the linked list,


[User] Please transcribe this text

[Assistant] Will determine whether it is working like a stack or not. For example, when I create a new node, let's assume this is n6.


[User] Please transcribe this text

[Assistant] When I have to push it onto the stack or when I have to make it work like a stack, the address stored in N6 has to be address of N5, right? Which is gonna be hash. The address of N5 is 304. So it has to be 304. Let's say this N6 is created at hash 106, which is somewhere over here.


[User] Please transcribe this text

[Assistant] So programmatically we have to make this N6 node point to N5. And of course now this will be the new top of the stack. So that also has to change.


[User] Please transcribe this text

[Assistant] So all this functionality has to be written in the form of code in the implementation part.


[User] Please transcribe this text

[Assistant] So that these nodes do not work like a linked list but they work like a stack. Okay. So the whole point of the differentiation to be shown over here is that we can make this linked list that is the structure of these nodes work in such a way that they operate like a stack.


[User] Please transcribe this text

[Assistant] Also when I pop out this node N6, of course it should be


[User] Please transcribe this text

[Assistant] De-linked from the memory and then the new top of the stack again has to be nphi, right.


[User] Please transcribe this text

[Assistant] So this functionality has to be written in the form of code.


[User] Please transcribe this text

[Assistant] That is the implementation side. So that's how we can make a singly linked list.


[User] Please transcribe this text

[Assistant] Work like a stack, okay, by changing the implementation code.


[User] Please transcribe this text

[Assistant] So if you're wondering what is the advantage of stack which is implemented using a singly linked list over stack.


[User] Please transcribe this text

[Assistant] Once I determine the size of the array, obviously I cannot change the size of the array, right?


[User] Please transcribe this text

[Assistant] And at times I also have to determine the size of the array at compile time.


[User] Please transcribe this text

[Assistant] In C++, we do get permission to set the size of the array at the runtime, but even after once you set the size of the array, you cannot change the size of the array anytime in between the program.


[User] Please transcribe this text

[Assistant] Okay, so let's say you set a size of five, but you realize at the end of the program that you need needed to store more values. So in that case, you cannot make that change happen.


[User] Please transcribe this text

[Assistant] You can keep adding on more nodes as long as you have the computer memory to store those nodes and keep linking them in the stack orientation and you can also keep removing the values from the stack.


[User] Please transcribe this text

[Assistant] So that's why it is considered as dynamic in nature and stack using Singular English has this biggest advantage. Apart from that, there are other performance advantages and disadvantages also. So if you want to get into that detail, I'll drop some link in the video description.


[User] Please transcribe this text

[Assistant] But the main advantage of stack using linked list versus array is the dynamic size.


[User] Please transcribe this text

[Assistant] So now that you have understood the basic overview of stack using array versus stack using singly linked list and how it is different in the computer memory, how it looks different and how it operates differently.


[User] Please transcribe this text

[Assistant] Let's now focus on stack using singly linked list and let's see the functions and the implementation side when we actually go ahead and write a program, we will require some pseudo code to understand it, right? So let's understand the pseudo code now.


[User] Please transcribe this text

[Assistant] Okay, so on the right hand side we have again the diagrammatic representation of stack using linked list and right now everything is empty because we are gonna take a example live and dry run it over here and go step by step on how the node is created in the computer memory and so on for the best understanding. But before you get to that, on the left hand side we have the node class and the stack class.


[User] Please transcribe this text

[Assistant] So for that we need to understand the code behind the implementation, right? So let's try to understand that a little bit.


[User] Please transcribe this text

[Assistant] So we create a class node because obviously we do not have a data type of node predefined.


[User] Please transcribe this text

[Assistant] And the next pointer. So the key is the unique identifier of that particular node. The value is the actual value that is supposed to be stored. And next is gonna be the pointer to the next node. So this is basic in a singly linked list scenario. The data type of key is also gonna be int and the value is also gonna be int. The data type of next pointer is gonna be of node. And it is gonna be a pointer. So it is gonna be star.


[User] Please transcribe this text

[Assistant] Now this pointer is specific to C and C++ programming language.


[User] Please transcribe this text

[Assistant] If you're using any other general purpose programming, the syntax is slightly different, but the logic is gonna be the same. And speaking about the data type of key and value,


[User] Please transcribe this text

[Assistant] Different types of values also in node class. So let's say it is double or character or string or whatever you want. But as I mentioned for simplicity, we are taking int and int that is integer type data.


[User] Please transcribe this text

[Assistant] So three data members and obviously the member function will have a constructor. So whenever we create a node, the key is by default assigned zero.


[User] Please transcribe this text

[Assistant] The data is by default assigned zero and next pointer is by default assigned null or we also have a parameterized constructor.


[User] Please transcribe this text

[Assistant] Which will take key and data value when you create the node for the first time.


[User] Please transcribe this text

[Assistant] And assign it to the key and data members of this class.


[User] Please transcribe this text

[Assistant] Now moving on to the stack class, I have not really written it in the proper syntax.


[User] Please transcribe this text

[Assistant] In fact, even the node class is not exactly a correct syntax. It is trying to look like a pseudo code, but it is more close to a C++ code. Similarly, we have class stack.


[User] Please transcribe this text

[Assistant] In the stack class, now because we are gonna use these nodes and linked list in a way that it operates like a stack, that's why we have a class stack. But inside this stack class, the data member that we have is gonna be a pointer.


[User] Please transcribe this text

[Assistant] Which is gonna be of type node because it will point to different nodes only. And we have only one data member which is top.


[User] Please transcribe this text

[Assistant] So this top is gonna be a pointer in C or C++ which is gonna be of type node and it will point to the top of the node. Because remember we have a top pointer in stack which points to the top of the stack.


[User] Please transcribe this text

[Assistant] Now even in stack using array, we had this top data member. It was not of type node because obviously we were not using node over there. We were using array. But since we are now using nodes, we require a pointer of that same type. Okay.


[User] Please transcribe this text

[Assistant] So that's the only data member we have. In the member functions, we have the standard stack member functions and stack operations.


[User] Please transcribe this text

[Assistant] The first one is empty, as the name suggests, it checks if the stack is empty.


[User] Please transcribe this text

[Assistant] And we will individually go through all these functions, all these operations in a minute right now. Let me just quickly go through them over here.


[User] Please transcribe this text

[Assistant] So second is push, which is a standard stack operation, which takes one node and push it onto the stack. Then we have pop.


[User] Please transcribe this text

[Assistant] So the difference between pop and peak is in pop the top of the stack is removed.


[User] Please transcribe this text

[Assistant] In peak, the top of the stack is not removed, it is just accessed. Okay?


[User] Please transcribe this text

[Assistant] And then last we have count, which as the name suggests gets the number of nodes in the stack.


[User] Please transcribe this text

[Assistant] We have two extra functions which are gonna be as utility operations which are required while implementing push.


[User] Please transcribe this text

[Assistant] One is check if node exists. Okay. So let's say we pass a node n1.


[User] Please transcribe this text

[Assistant] And it has the key value of 5, the data value of 10. And let's say now it is pointing to null. And then we have one more n2.


[User] Please transcribe this text

[Assistant] And we have the same key value of 5. The data value can be different. Let's say it is 25. And then we have some pointer.


[User] Please transcribe this text

[Assistant] That is, if the new node that is supposed to be pushed into the stack has the same key value of any of the nodes already in the stack.


[User] Please transcribe this text

[Assistant] So if in the stack we have any node with the same key value, then this function will let us know whether any node exists with the same key value. Okay?


[User] Please transcribe this text

[Assistant] Now I know I'm just going through all these member functions, but we will go individually in every detail of these individual functions in a minute.


[User] Please transcribe this text

[Assistant] The last function is void display which as the name suggests prints all the nodes in the stack. Okay, plain and simple. So that's how the stack class is gonna be looking like.


[User] Please transcribe this text

[Assistant] And now let's go through individual stack operations that is stack member functions one by one.


[User] Please transcribe this text

[Assistant] Okay, so on the left hand side, I have a scenario where we can


[User] Please transcribe this text

[Assistant] So this is the int main function inside which we create the stack object, stack s.


[User] Please transcribe this text

[Assistant] Then we create these individual nodes n1, n2, n3, n4 and n5. Okay? With all the respective values. So, let's try to


[User] Please transcribe this text

[Assistant] So when you create n1, n2, n3, n4 and n5 in the program, in the computer memory also all these nodes are created. So let's create these nodes in the computer memory in any random fashion. Okay. So after you create the stack object,


[User] Please transcribe this text

[Assistant] But when you create these five nodes in the computer memory, these five nodes will be created at random places. And of course, there is right now no linking happening in between them because that will happen when you apply the stack operations, right? So right now after this and this step, that is after creating the stack object and after creating the node,


[User] Please transcribe this text

[Assistant] In the computer memory, we have 5 different nodes at 5 different locations. Okay. Now let's see the empty function.


[User] Please transcribe this text

[Assistant] So when I say s.isEmpty, I'm using this stack to check whether the stack is empty or not.


[User] Please transcribe this text

[Assistant] So when I create the stack object s the first time,


[User] Please transcribe this text

[Assistant] Remember we have a top pointer of node type in the stack class. Let me just show it to you again. So, this is the top pointer which is of type node. Let me just create it somewhere in the memory itself. Okay, so this top pointer in the stack object is right now pointing to null. So, in the visual diagram, this top pointer will be pointing to null.


[User] Please transcribe this text

[Assistant] So when I say s dot is empty in the pseudo code, what I'm trying to say is if top is pointing to null, then true, which means that then it is empty. Else if the top pointer is pointing to some node because it is obviously of type node, right? This top has a data type of node.


[User] Please transcribe this text

[Assistant] So this pointer top will only point to node objects. So if it is pointing to some node, it will obviously not be null. So in that case, we will say else false.


[User] Please transcribe this text

[Assistant] So this is the basic operation of is empty in a stack.


[User] Please transcribe this text

[Assistant] So now we are seeing stackObjectS.pushN1.


[User] Please transcribe this text

[Assistant] Over here also we've created n1 which is 1 comma 45 using the constructor, parameterized constructor of


[User] Please transcribe this text

[Assistant] Node class, remember we had a parameterized constructor of node class as well, which was taking in the key and value.


[User] Please transcribe this text

[Assistant] And the next pointer obviously is gonna be always pointing to null when you first time create the node. Okay, so that's why null is stored over here.


[User] Please transcribe this text

[Assistant] So now this n1 has to be pushed onto the stack. So we say s.pushn1.


[User] Please transcribe this text

[Assistant] So let's see the push operation now. That is the pseudo code of the push operation. Okay, so in push we take this n, in our case it is n1. Okay, we say


[User] Please transcribe this text

[Assistant] If top is equal to null, so we have three conditions. That is when top is equal to null, so this is condition one. The second condition is else if we have to check if the node exists. So when we are passing n1,


[User] Please transcribe this text

[Assistant] Let's say we already have 3, 4 elements in the stack that is 3, 4 nodes in the stack. So we'll have to check.


[User] Please transcribe this text

[Assistant] That the key of this n1 does not match with any of these


[User] Please transcribe this text

[Assistant] Already existing nodes in the stack, right? So if that happens, then we have to say same key does not exist and it is not allowed.


[User] Please transcribe this text

[Assistant] So that's why we will have to use this checkifNodeExist member function.


[User] Please transcribe this text

[Assistant] And we will discuss how checkifNodeExist works in a minute. But the second condition is when we have to check if


[User] Please transcribe this text

[Assistant] That node n1 that we want to push already does not exist with the same key value in the stack.


[User] Please transcribe this text

[Assistant] And the third else is where we actually push the node n1 onto the stack, right? That is when the first two conditions are not true, the else will be executed. That is the node will be pushed. You can say node pushed.


[User] Please transcribe this text

[Assistant] So right now if you see the first condition is becoming true. The first condition is if top is


[User] Please transcribe this text

[Assistant] Equal to null. Right now you can see our top is obviously pointing to null only.


[User] Please transcribe this text

[Assistant] So this first condition is true. Then what we have to do, we have to simply say top equals to n, which means that now this top pointer will point to n1. Okay.


[User] Please transcribe this text

[Assistant] Now if you're thinking about whether this is proper syntax, no it is not. It is a pseudo code. It is not a correct syntax. The syntax we will see when we write the C++ program, okay. So do not think in the form of syntax. Right now we are just


[User] Please transcribe this text

[Assistant] Taking a look at the algorithmic view, the pseudo code view of how things happen step by step.


[User] Please transcribe this text

[Assistant] First condition is true, we will say top equals to n1. So now this top will point to n1. What is n1? n1 is having the address of hash 100. So this n1 will now be pushed onto the stack. Okay. This is n1. And now it is having an address of hash 100. Let's write that. And our top of the stack, that is the top pointer,


[User] Please transcribe this text

[Assistant] Is now pointing to n1, which is it is now storing hash 100. So inside our top pointer.


[User] Please transcribe this text

[Assistant] So after first s.push n1, we go ahead and we have s.push n2. So now we have to push n2 onto the stack and let's see how that goes. So this time it is n2. Where is n2 in the computer memory? It is over here.


[User] Please transcribe this text

[Assistant] Now inside this again we will check if top is pointing to null. Now this time obviously top is not pointing to null. The top pointer has a address of hash 100 which is pointing to null.


[User] Please transcribe this text

[Assistant] So obviously the first if is not true. The second condition checks if n2 already exists.


[User] Please transcribe this text

[Assistant] Now right now we have to still discuss check if node exists how it works. So we will directly come to a result that


[User] Please transcribe this text

[Assistant] And n2 has a key of 3, so it will not match. So this second condition also will be false.


[User] Please transcribe this text

[Assistant] We will go in the details later on, but then we have the last else where we have to push this node onto the stack, right?


[User] Please transcribe this text

[Assistant] Now when we have to push this node onto the stack, remember N2 has to go on top of stack. So, the top should point now to N2, right?


[User] Please transcribe this text

[Assistant] Whenever you push it onto the stack, the new top will be N2.


[User] Please transcribe this text

[Assistant] And N2 needs to point to N1 because ultimately it is a singly linked list only. And in linked list, the nodes usually point to each other.


[User] Please transcribe this text

[Assistant] So how does that work? So we will create a temporary node temp and we will say temp equals to top. So what is the current address in top?


[User] Please transcribe this text

[Assistant] It is hash 100. So that will be stored in temp. Okay. So let's create temp over here.


[User] Please transcribe this text

[Assistant] And temp is now storing the address of hash 100, which is the address of n1. Okay, so at this step we have done that.


[User] Please transcribe this text

[Assistant] Now we will say top equals to n. This n is basically n2 this time. Right? So now the top will now start to point to n2. So let me erase this. And also the address. Because the address will change. And now the address that top will store is of n2 which is hash 200. So let me write hash 200. So basically now the top pointer


[User] Please transcribe this text

[Assistant] Is going to point to N2. Okay. So I hope you are getting the linking right now at this step.


[User] Please transcribe this text

[Assistant] Then what we say, we move ahead, we say n of next equals to temp.


[User] Please transcribe this text

[Assistant] Now n right now is equal to n2. Okay? Because we are pushing n2.


[User] Please transcribe this text

[Assistant] So this is N2 of next. What is N2 of next? N2 is over here.


[User] Please transcribe this text

[Assistant] The next pointer inside n2 is right now pointing to null. And at this step we make it equal to temp. Remember temp is storing hash 100. So now this hash 100 will be stored in the next of n2. Right now n2 is having null, so let's remove this null. And instead of that, we will write hash 100.


[User] Please transcribe this text

[Assistant] So n2 now will be pointing to n1, right, because hash 100 is the address of n1. So you can see now n2 will point to n1 after this step and then obviously we will print node pushed. So we are taking this node now and pushing it onto the stack. So this is n2, n2 is at the address of hash 200.


[User] Please transcribe this text

[Assistant] So N2's next has hash 100 which is the address of N1. So we've made N2 point to N1. And remember we also changed the top address which is having hash 200. Hash 200 is the address of N2. So now the top of the stack is basically N2 which is hash 200.


[User] Please transcribe this text

[Assistant] Okay, so you can now see how these nodes are pushed in a way that they work like a stack, but they still are linked to each other like a linked list. Okay?


[User] Please transcribe this text

[Assistant] Similarly, we have one more push of n3 and of course n3 will also be pushed in the same way. So let's quickly do that. So we have to push n3 now.


[User] Please transcribe this text

[Assistant] Of course we will go in the else part because the top is not null and


[User] Please transcribe this text

[Assistant] N3 does not exist in the stack which means that the unique key of N3 is 7 and there is no node having the key of 7. So else part will be executed. We will create a temp node which will have the top of the stack. The top of the stack is hash 200.


[User] Please transcribe this text

[Assistant] Then we will say top is equal to n3 because we have to push n3. So, this hash 200 now will become n3's address which is hash 202. So, in the top pointer of the stack object.


[User] Please transcribe this text

[Assistant] So these two instructions are done. Then we will say n3 of next equals to temp. What is n3 of next? Right now it is null.


[User] Please transcribe this text

[Assistant] So n3 of next is made to point to temp. What is temp? Temp is storing hash 200. So hash 200 will be stored over here. And now n3 will be pointing to n2. Because hash 200 is the address of n2. So n3 is pointing to n2. n2 is pointing to n1. And we have successfully pushed n3 onto the stack. So let's cut this out or copy this out and put it onto the stack.


[User] Please transcribe this text

[Assistant] And the top is also having hash 202, which means now this is the new top of the stack. That is N3.


[User] Please transcribe this text

[Assistant] Okay, so this is the entire push operation, the pseudo code of push operation and how it works behind the scenes in the computer memory as well as the visual stack diagram, how the nodes are pushed onto the stack and how they are linked into the computer memory.


[User] Please transcribe this text

[Assistant] So I hope you've got a very good idea of the push operation. Let's move forward and now we have a count operation. So let's see how the pseudocode for this count function or count operation in stack would work.


[User] Please transcribe this text

[Assistant] So right now, of course, visually we can see that there are three nodes into the stack, but how do we algorithmically or in the program, how do we implement this? So we have four steps.


[User] Please transcribe this text

[Assistant] So step number one, we will create a count variable and assign it zero. Okay. So right now count is zero. Then we create a temporary


[User] Please transcribe this text

[Assistant] Node temp and assign the top address to the temp.


[User] Please transcribe this text

[Assistant] So right now the top is having hash 202, you can see over here. So let's say temp is also equal to hash 202. Then we say while temp not equal to null,


[User] Please transcribe this text

[Assistant] That is as long as the temporary node pointer. So this is also going to be a pointer in C++. Okay. And as I mentioned, this is not the exact syntax.


[User] Please transcribe this text

[Assistant] So don't go by the actual syntax, just understand the logic and the steps. So coming to the while loop, we say while the temp not equal to null. So as long as there is some actual address in the temp node or temp pointer, we say count plus plus and then we say temp is equal to temp of next.


[User] Please transcribe this text

[Assistant] So initially of course you can see temp is hash 202 which means that it is not null. So we will go inside the while loop we will say count plus plus. So count will become 1. Then at this step we will say temp is equal to temp of next. So right now temp is pointing to hash 202. What is hash 202? Hash 202 is n3. Then we say temp is equal to temp of next.


[User] Please transcribe this text

[Assistant] In the next value of n3, we have hash 200. 200 is for n2. So, this 200 now will be stored in temp. Okay. So, after 3.2 instruction, we will get hash 200. So, now temp will be pointing to n2.


[User] Please transcribe this text

[Assistant] So this is the end of the while loop, again we will go at the start of the while loop and we will check while temp not equal to null.


[User] Please transcribe this text

[Assistant] So still temp is not equal to null, temp is having an actual address. So again we will go inside the while loop, now the count becomes plus plus, count becomes two. Right? Then again we will say temp is equal to temp of next. So temp


[User] Please transcribe this text

[Assistant] What is the address stored in the next pointer of n2? It is hash 100. You can see over here. So this 100 now will be stored in this temp pointer, hash 100. And now the temp pointer will be pointing to n1.


[User] Please transcribe this text

[Assistant] So this comes at the end of the while loop, again we will go at the start of the while loop. We will check is temp null? No. Temp is having hash 100 which is pointing to n1.


[User] Please transcribe this text

[Assistant] So temp is not null, so we will again go inside the while loop, count becomes plus plus, and finally the count becomes three. Right?


[User] Please transcribe this text

[Assistant] Then we will again come at 3.2, we will say temp is equal to temp of next. Now n1 is at hash 100, but the next pointer inside n1 is null. So now the temp will be assigned as null.


[User] Please transcribe this text

[Assistant] So now temp will be storing null and then again we will go at the start of the while loop and we will check while temp not null. But this time temp is null.


[User] Please transcribe this text

[Assistant] So now the condition becomes false and we will exit outside the while loop. And we will say return count. If you observe the count value has become 3. And that is exactly the number of nodes we have in the stack. And hence we will return 3. So over here the count will be 3.


[User] Please transcribe this text

[Assistant] So this is how the count function or count operation would work in the


[User] Please transcribe this text

[Assistant] Stack where we are using, stack using singly linked list. Okay? Alright.


[User] Please transcribe this text

[Assistant] Let's move forward and after the count we are having a pop. Remember in pop we remove out the node. So how does that work?


[User] Please transcribe this text

[Assistant] Okay, so far we've seen is empty, we've seen push, and we've seen count.


[User] Please transcribe this text

[Assistant] As the standard stack operations. Now let's take a look at pop. So in pop, we have to remove the top of the stack.


[User] Please transcribe this text

[Assistant] And that is what standard pop function would do in any stack. Okay? So these are the steps. So first we say node temp equals null.


[User] Please transcribe this text

[Assistant] So if the stack would be empty, we will say stack underflow.


[User] Please transcribe this text

[Assistant] Remember when you go ahead and pop a stack and if we don't have anything in the stack, that's a stack underflow situation. So we will print that out and we will simply return temp. The temp that we created and it had null. So null will be returned basically, okay.


[User] Please transcribe this text

[Assistant] But if you observe right now, the stack is not empty. We have three elements in the stack, so this condition will not be true.


[User] Please transcribe this text

[Assistant] Hence else will be true, which means we will have some nodes into the stack and we have to pop out the top of the stack. So in that case, we will say temp equals to top.


[User] Please transcribe this text

[Assistant] The top will also change, right? The top has to be pointing to end to now. So that is done over here at 3.2. We will say top is equal to top of next.


[User] Please transcribe this text

[Assistant] What is the next in N3? That is what is the next pointer in N3? It is hash 200. So top of next is hash


[User] Please transcribe this text

[Assistant] 200 and that will now be stored in the top. So, top will now start pointing to hash 200 which is n2. So after the else we will come outside and in the step number 4 we will say return temp. Now remember temp is storing hash 202. Hash 202 is the address of n3 which was the top of the stack. So this will be returned and that's how pop will work.


[User] Please transcribe this text

[Assistant] Now if you're wondering, okay, but we did not completely erase out the top of the stack. That is because from the computer memory, N3 will not be deleted.


[User] Please transcribe this text

[Assistant] But right now we are not actually deleting it from the memory. We are just delinking it.


[User] Please transcribe this text

[Assistant] Which means that now the top of the stack is directly considered as N2 and not N3.


[User] Please transcribe this text

[Assistant] So, in the computer memory, this 202 will be replaced with 200.


[User] Please transcribe this text

[Assistant] Which means that this linking will be broken and now the top is pointing to 200 which is N2. Okay.


[User] Please transcribe this text

[Assistant] N3 is still pointing to N2, but that doesn't matter anymore because we have


[User] Please transcribe this text

[Assistant] De-assigned it from being the top of the stack. So we will never access N3 anymore.


[User] Please transcribe this text

[Assistant] We have no means to point it to N3. So we can successfully consider it removed from the stack. Okay.


[User] Please transcribe this text

[Assistant] So from the stack, the N3 is removed, but in the memory it is still existing and N3 is still pointing to N2. But as I mentioned, since our now top value has changed to N2, we will never access N3 in our code. Okay.


[User] Please transcribe this text

[Assistant] Also we can write the code to completely erase this memory out also. We'll see that in the programming part. But this is the entire pop scenario, okay.


[User] Please transcribe this text

[Assistant] Let's move forward, we have one more pop. Let's see pop one more time.


[User] Please transcribe this text

[Assistant] Step number two is we are checking if the stack is empty. Of course the stack is not empty. We have two elements in the stack. So else part is executed.


[User] Please transcribe this text

[Assistant] In the else we say temp equals to top. What is the top currently? It is hash 200 which is the address of n2. So, let's add hash 200 over here. Now hash 200 is address of n2 as I mentioned. So temp is having the address of top.


[User] Please transcribe this text

[Assistant] Top was pointing to N2, so that linking will be erased. And hash 100 is the address of N1. So now, this top pointer will start pointing to N1. Okay. So this is also erased. And now this linking is happening.


[User] Please transcribe this text

[Assistant] The address of n2, so this will be returned because this is the top of the stack.


[User] Please transcribe this text

[Assistant] And we have successfully delinked it from the linked list.


[User] Please transcribe this text

[Assistant] So it is still there in the memory. You can see N2 is still there in the memory. It is pointing to N1, but there is no linking.


[User] Please transcribe this text

[Assistant] To N2 from top of the stack. So top of the stack directly now points to N1.


[User] Please transcribe this text

[Assistant] So even though n3 and n2 are still there in the list and there in the memory, they are not there in the stack. So we can successfully say that n3 is removed from the stack. Removed or delinked from the stack. Okay.


[User] Please transcribe this text

[Assistant] Okay so this was the pop function and pop operation in the stack using singly linked list when we have nodes and I hope you got a basic idea of how pop would work. Moving on we have another stack operation which is peak.


[User] Please transcribe this text

[Assistant] Which is pretty similar to pop, so let's quickly see how it works.


[User] Please transcribe this text

[Assistant] Now in peak what we have is we do not remove the top of the stack, we only return the top of the stack. Okay. So the line of code is reduced over here.


[User] Please transcribe this text

[Assistant] We have first step, which is if stack is empty, then obviously you have to print stack underflow and return null. But if the stack is not empty.


[User] Please transcribe this text

[Assistant] If the stack is empty, we have to print stack underflow and return null. If it is not empty, we have to return the top of the stack. Okay? So this is peak and pop.


[User] Please transcribe this text

[Assistant] And let's move forward, then we have count. We've already talked about how count works and right now if you observe the stack, the count is 1. Because we only have 1 node in the stack. After that we have 2 push functions. Push operations, we will push n4 and n5. So let me quickly write down n4 and n5 into the stack. And do the linking. You can pause the video.


[User] Please transcribe this text

[Assistant] And you can do it yourself because we've already discussed how the push works. So I'm gonna do it a little quickly.


[User] Please transcribe this text

[Assistant] Okay, so after the two push operations of n4 and n5, this is how the scenario would look like. We will first push n4 then push n5 and of course n5 will be pointing to n4.


[User] Please transcribe this text

[Assistant] In the next address of N5 we have 104, that is hash 104. Hash 104 is the address of N4. In memory also you can see at hash 104 we have N4. N4 has the next address of 100. 100, that is hash 100 is the address of N1. And N1 is pointing to null obviously.


[User] Please transcribe this text

[Assistant] And the last change is in the top of the stack which is another pointer which is having hash 304. Hash 304 is the address of nphi. You can see that's where this linking is happening. Okay, so that is two push operations.


[User] Please transcribe this text

[Assistant] Again we will have one more count and this time the count is gonna be 3 because we have again 3 nodes in the stack starting from top, then we will go to N5, then N4 and N1.


[User] Please transcribe this text

[Assistant] So let's see how that goes, how the pseudocode looks like. So in display, we will set temp equals to


[User] Please transcribe this text

[Assistant] We will say temp is equal to temp of next. So initially temp is not null.


[User] Please transcribe this text

[Assistant] So we'll print temp of key. What is temp right now? Hash 304. Hash 304 is nphi. It is pointing to nphi. What is the key at nphi? It is 9.


[User] Please transcribe this text

[Assistant] So this is n5 and this is n4. Then we will obviously say temp is equal to temp of next. The next address in n4 is hash 100. Hash 100 is nothing but address of n1. So again key value of n1 is 1 comma 45. Once that is done we will say temp is equal to temp of next at 2.2. The next value in n1 is null. So that will be going in this


[User] Please transcribe this text

[Assistant] Node values printed, that is key and value pairs printed because that is what we are printing at 2.1. Key and the data. Data basically means the value. Okay. So this is display function.


[User] Please transcribe this text

[Assistant] Alright, so this pretty much concludes all the standard functions, but one's function is still left, which is check if node exists. So let's quickly see it.


[User] Please transcribe this text

[Assistant] So check if node exists takes a node which is supposed to be pushed onto the stack. It takes the key of that node.


[User] Please transcribe this text

[Assistant] And checks in the entire stack whether there exists any node with the same key. Okay, so first we take the node n.


[User] Please transcribe this text

[Assistant] Then we create a temporary node, we say temp equals to top.


[User] Please transcribe this text

[Assistant] So that's step number one. At step number two, we say,


[User] Please transcribe this text

[Assistant] Exist equals to false. So we create a boolean variable, we store false in it initially. Okay. So let me write it over here. Exist equals to false.


[User] Please transcribe this text

[Assistant] Then we loop in the while loop, we say while temp not null. Basically again we are traversing the entire link list from n5 to n1. In that we check if temp of key. So initially temp will be pointing to top. What is top? It is hash 304.


[User] Please transcribe this text

[Assistant] Temp is currently top of the stack, which is 304, so N5. So N5 is key we are taking. What is N5's key? It is 9.


[User] Please transcribe this text

[Assistant] 3.1 is false. So inside, we will not go inside this. So these two will not be executed. We will completely come outside.


[User] Please transcribe this text

[Assistant] And at 3.2 we will say temp is equal to temp of next. So now,


[User] Please transcribe this text

[Assistant] Temp of next means the next node inside the stack, which is hash 104, which is the address of n4.


[User] Please transcribe this text

[Assistant] Again we will come at start of the loop, we will check while temp not null, of course temp is not null. So again we will make that check. Temp of key, what is temp of key now? Temp is pointing to n4. The key inside n4 is 2. So now we are checking with


[User] Please transcribe this text

[Assistant] And n of keys is of course this n6 that we are wanting to push into the stack.


[User] Please transcribe this text

[Assistant] Now the key over here is also true. So if this is equal equal, we will say exist equals to true.


[User] Please transcribe this text

[Assistant] So that exist variable that we created initially with the false value that becomes true and then we say at 3.1.2 we say break.


[User] Please transcribe this text

[Assistant] So we are inside the if block. So we are executing 3.1.1 and then we will say 3.1.2 which is break. So this entire loop will break. We will come outside the loop and we will return.


[User] Please transcribe this text

[Assistant] Exist, so exist value has become true. So that is returned from this checkfNodeExist function because n6 has the key of 2.


[User] Please transcribe this text

[Assistant] And inside our stack we add n4 which also has the key of 2.


[User] Please transcribe this text

[Assistant] Which means that the node exists and that's why true is returned from this function.


[User] Please transcribe this text

[Assistant] And if it is true, then obviously we will not push N6 onto the stack because we cannot have two nodes having the same value. Okay?


[User] Please transcribe this text

[Assistant] So that's how checkifNodeExist works and this is that pseudocode for checkifNodeExist. Okay, so this concludes our


[User] Please transcribe this text

[Assistant] We've gone through is empty, push, count, pop, peak, display and check if node exists, stack operations, using singly linked list and we've seen the pseudo code. We've also seen diagrammatically, individually what happens at every step, at every operation and how things look like in the computer memory.


[User] Please transcribe this text

[Assistant] Okay, so I'm gonna conclude this video over here. I know it was a little lengthy, but it was necessary because we had to go through individual stack operations. We also had to see the diagrammatic representation of what is happening behind the scenes. And I'm assuming you guys have a very clear picture now.


[User] Please transcribe this text

[Assistant] Of course, in the next tutorial, we will take these individual pseudocode of this stack operations and we will write a C++ program to implement stack using singly linked list.


[User] Please transcribe this text

[Assistant] So if you like this video, if you've understood the entire working of stack using singly linked list, please give this video a like. Let me know in the comments how this video was. Do share it with your friends. This was a very important video.


[User] Please transcribe this text

[Assistant] In the next video, we will see the practical aspect of this same topic. And with that being said, let me conclude this video over here. Thanks for watching. See you in the next one. Peace.


[User] Please transcribe this text

[Assistant] What was I doing? Your Uncle Marshall was taking the biggest step of his life, and me? I'm calling up your Uncle Barney. Hey, so you know how I've always had a thing for half Asian girls?


[User] Please transcribe this text

[Assistant] Mysterious thing, time. Powerful, and when meddled with, dangerous.


[User] Please transcribe this text

[Assistant] I find retracing my steps to a wise place to begin.


[User] Please transcribe this text

[Assistant] Mysterious thing, time. Powerful, and when meddled with, dangerous.


[User] Please transcribe this text

[Assistant] She's still talking to Carlos. I can still win this. It's not over.


[User] Please transcribe this text

[Assistant] I mean, look, sure, yes, I wanna fall in love, get married, blah blah blah, but on the other hand, you, me, the roof.


[User] Please transcribe this text

[Assistant] Maybe in a few months, after it's not so fresh, we could all, uh, you know, get a beer.


[User] Please transcribe this text

[Assistant] How in all this mess is a guy supposed to find the love of his life? I mean, where do you even begin?


[User] Please transcribe this text

[Assistant] That's part of his charm. Oh totally, I mean he's sweet, he's charming, he's just looking for something a little bit more serious than I am. I mean the most I can handle right now is something casual.


[User] Please transcribe this text

[Assistant] Oh, I'm going back home next weekend. Too bad it's not tonight.


[User] Please transcribe this text

[Assistant] You must use two different modes of transportation to get to those places and find two tourists in each place to take a selfie with you, mimicking famous internet memes. If you succeed, we will treat you to dinner at the Aloha Marketplace. If not, you're gonna go hungry.


[User] Please transcribe this text

[Assistant] Okay? Okay, so let's see, we have, wow!


[User] Please transcribe this text

[Assistant] Okay. Alright, I'm sure, uh, people are going to be happy to help me, I hope. Okay, so.


[User] Please transcribe this text

[Assistant] Or the Aloha Tower, so I'm going to look on my phone here to see if I can find directions.


[User] Please transcribe this text

[Assistant] We can take the E-bus, number 2 bus, and the number 13 bus. All three of those buses stop at this station, so I think we're in the right place.


[User] Please transcribe this text

[Assistant] So in order to ride the bus, do I need to pay cash or do I need to get a ticket?


[User] Please transcribe this text

[Assistant] Okay, and uh, this is the bus that goes to the palace.


[User] Please transcribe this text

[Assistant] Okay, and how many stops until it arrives at the palace?


[User] Please transcribe this text

[Assistant] We've just gotten off the bus and it looks like we have a historical site over here. I see a beautiful statue and I think this is going to be the perfect place for me to take a selfie with some tourists over here. I've got these cards and I'm going to see if I can find someone to take a selfie with me. Come on. Can I take a selfie with you? Okay. I have a card right here. Do you know who this is?


[User] Please transcribe this text

[Assistant] Hey folks. Sorry to interrupt. Do you have one second? I just have one question for you.


[User] Please transcribe this text

[Assistant] Oh really? Okay, so we can't hop on. Alright man, yeah, we thought we could just hop on here. Okay.


[User] Please transcribe this text

[Assistant] It looks like we have to wait until the pink line comes because this is a reserved trolley bus, so we can't get on.


[User] Please transcribe this text

[Assistant] It does. It does? Yeaah. Okay, alright. This is the one, let's hop on.


[User] Please transcribe this text

[Assistant] Okay, so yea, it'd be like a five minute drive anyway. Alright.


[User] Please transcribe this text

[Assistant] For a ticket that's gonna last about three minutes, uh, to be honest, I think I would rather save $25 and walk the 10 minutes to get there.


[User] Please transcribe this text

[Assistant] Now it's my duty to get a selfie with some folks here on Aloha Tower and I'm gonna ask these two out here if they're willing to help me out. I've got two cards right here. Are you familiar with this guy? Nope. Nope. Nope.


[User] Please transcribe this text

[Assistant] His name is Nick Young, he's a basketball player, and this is a famous meme on the internet, especially in China. So.


[User] Please transcribe this text

[Assistant] What I'm gonna ask you to do is, just look at this guy's face, and with me, I'm gonna take my glasses off, I want you to help me imitate this face. Okay, so take a look, are you ready?


[User] Please transcribe this text

[Assistant] Okay, I'm sure that his feeling is probably similar to your feeling right now too. Okay, so ready one.


[User] Please transcribe this text

[Assistant] Hey, would you be willing to help me out real quick? We're just filming something for a series. Okay, excellent. Step outside with me. Okay.


[User] Please transcribe this text

[Assistant] So let's do, we're gonna do ladybeard with these guys here. Have you seen this picture before?


[User] Please transcribe this text

[Assistant] All I'm gonna ask you to do is, uh, look into the camera and we're gonna do a selfie and just try to look as much as you can like Ladybeard.


[User] Please transcribe this text

[Assistant] Alright, hey, thank you so much. Thank you, thank you, really. So, are you going to ask me about my day today?


[User] Please transcribe this text

[Assistant] How did I fail? I thought I did everything according to the plan.


[User] Please transcribe this text

[Assistant] There was no way I could take the trolley because it was like $25 and it only took about 10 minutes to walk.


[User] Please transcribe this text

[Assistant] Well, I think besides the fact that I failed my mission, I think it was a good day. We got to see the palace. We got to come up to the Aloha Tower. So it really was a great day.


[User] Please transcribe this text

[Assistant] Yeah, actually there is a difference between the bus and the trolley. Yeah. So I think that if you want to get around, uh, the most convenient way is to take the bus. And it's only about $2.50 if you get on there.


[User] Please transcribe this text

[Assistant] The trolley is more like a tour, uh, it's a guided tour, so it's more expensive. In fact, ten times more than the bus.


[User] Please transcribe this text

[Assistant] If you want to learn more about these sites, I recommend you take the trolley, but if you're just looking for a convenient way to get around, definitely take the bus. And folks,


[User] Please transcribe this text

[Assistant] I don't even need to tell you. Do not forget to review today's vocabulary.


[User] Please transcribe this text

[Assistant] Do I need to pay cash or do I need to get a ticket? Thank you so much, by the way.


[User] Please transcribe this text

[Assistant] How about you? I'm from Providence, Rhode Island. Providence, Rhode Island. But yeaah, we're all actually from China.


[User] Please transcribe this text

[Assistant] Oh, you can tell me, it's totally cool, it was my idea. Hell, I told her she could take the ring off.


[User] Please transcribe this text

[Assistant] Uhm, there's a restaurant called T.O.T. that has pretty good ramen. Oh, they have good ramen? Okay, this is awesome.


[User] Please transcribe this text

[Assistant] Hi there, it's Andi again. We're at the beautiful Chandon Winery in Melbourne, Australia. It's a perfect day outside, clear blue skies, lush green lawns. I couldn't be more pleased to be here to learn all about the sparkling wines they make. So come on, let's go.


[User] Please transcribe this text

[Assistant] Uhm, making white wine from a red grape but removing the...


[User] Please transcribe this text

[Assistant] Dear Andy, today you are expected to answer four questions about sparkling wine. If you answer four questions correctly, you win and get to have a bottle of classic wine from this winery. That sounds pretty nice.


[User] Please transcribe this text

[Assistant] Suggestion, for each question you will have one chance to ask the winemaker for one clue.


[User] Please transcribe this text

[Assistant] Perhaps it's the same type of beverage, but sparkling wine can come from other parts of the world.


[User] Please transcribe this text

[Assistant] The color is the key, okay. Sparkling wine.


[User] Please transcribe this text

[Assistant] Okay, so then, given what you've said, maybe you don't want to swirl.


[User] Please transcribe this text

[Assistant] The sparkling wine because you want to keep the bubbles intact, so no swirling.


[User] Please transcribe this text

[Assistant] This is the right way. No, this was the right way. Okay, and I think the reason why, I remember hearing something about the heat from your hands transferring to the sparkling wine and that's not a good thing. So you would hold the stem to keep the temperature of the sparkling wine as it should be.


[User] Please transcribe this text

[Assistant] Perhaps to get rid of the yeast settlement, you have to at some point flip the bottle over and wait for the sediment to come down and then maybe like slice off.


[User] Please transcribe this text

[Assistant] I've had such a wonderful time here at the Chandon Winery. It was great learning from Dan about the intricacies behind how sparkling wine is made, what different types of wine there are, and just


[User] Please transcribe this text

[Assistant] How much thought and care goes into making such a delicious product? I hope you enjoyed your time here just as much as I did. I hope you learned a little bit too. I definitely learned a lot and I had a lot of fun when I was, uh, disgorging the wine you would say. So thank you so much for watching.


[User] Please transcribe this text

[Assistant] So the next night, I took Natalie out to dinner. To do the mature thing.


[User] Please transcribe this text

[Assistant] And right then, Aunt Robin realized how important her job truly was.


[User] Please transcribe this text

[Assistant] And that's how it ended with Natalie. No happily ever after, just a whole lot of hurt. And just like that, all those wonderful memories were replaced by this one.


[User] Please transcribe this text

[Assistant] But you know, bad as that night was, within a year, Natalie was married. And now she has three beautiful children. So that's the upside of hurt. Sometimes it happens for a reason.


[User] Please transcribe this text

[Assistant] Written by Anthony Curran.


[User] Please transcribe this text

[Assistant] As you can see, my hair, super windy. Okay, it's like 60 degrees.


[User] Please transcribe this text

[Assistant] And of course I get one of these before I even start my day. I didn't drink enough coffee for this.


[User] Please transcribe this text

[Assistant] You'll receive questions about where you are from time to time. Please answer the question. If you complete four correctly, you only have to climb half. I like that. I hope they're easy. Otherwise, you will have to climb all the way to the top. Good luck.


[User] Please transcribe this text

[Assistant] I'm really hoping I can complete four because I am not down to climb today. Okay, well, are we going to the observatory first? I will be waiting for my questions.


[User] Please transcribe this text

[Assistant] How many people are there on this memorial? What memorial? Oh, that one?


[User] Please transcribe this text

[Assistant] Kepler. I know Kepler. That's one right for me.


[User] Please transcribe this text

[Assistant] Okay, two for me because I really don't want to hike because it's really cold. Okay. Next. Hit me with them questions, bro.


[User] Please transcribe this text

[Assistant] There's gotta be some sort of description somewhere, maybe over there. I can go check. What do you think it's called?


[User] Please transcribe this text

[Assistant] Transformers definitely has it, because they like shot up whatever thing into the sky with it, I think. At least that's not from the Transformers. Alien, probably? I mean...


[User] Please transcribe this text

[Assistant] Hmm, can I Google it? Well, there's no signal anyway, so. You guys probably chose this on purpose. You know?


[User] Please transcribe this text

[Assistant] But it is really pretty, you should show them around. This is really cool.


[User] Please transcribe this text

[Assistant] Oh, they brought back 842 pounds of rocks, pebbles, core samples, and dust from the moon's surface. And that's part of it. Moon rocks.


[User] Please transcribe this text

[Assistant] We'll take Gary hiking. This will be like the fastest speed he's ever traveled in his life. Like rocket ship speed. We're going to space, Gary. Just don't try to scare actual animals or little insect things.


[User] Please transcribe this text

[Assistant] Out in the wild because there are rules and restrictions about these things. Especially with deers, turkeys, um, boars, which, I don't know, I've never seen one here, but um, bears, Californian bears. There are restrictions about them, so.


[User] Please transcribe this text

[Assistant] Do not attempt this at home or outside.


[User] Please transcribe this text

[Assistant] He's smiling. Knowing that he's going all the way to the top. And a little bit to the left. Seven miles from here. Okay. You see that sign up there? You know what it says?


[User] Please transcribe this text

[Assistant] They have that thingy on the tail and it rattles. So watch out for rattlesnakes here.


[User] Please transcribe this text

[Assistant] Alright, grammarians, so we know that there's one way to use this thing we call reflexive pronouns, and that's to say you're doing something to yourself. As in the sentence, I made myself


[User] Please transcribe this text

[Assistant] Sorry about the capital S there. That is a mistake. Uhm, so Ronaldo and himself, and I, and myself, we use, these are called reflexive pronouns, and we use them


[User] Please transcribe this text

[Assistant] When the subject and the object of a sentence is the same thing, right?


[User] Please transcribe this text

[Assistant] But there's another way to use these reflexive pronouns, and it's called emphatic usage.


[User] Please transcribe this text

[Assistant] So I want you to imagine me storming off in a huff or getting really excited as I say the following. Well, if you won't help me, I'll do it myself.


[User] Please transcribe this text

[Assistant] Or, the princess herself is running the charity marathon.


[User] Please transcribe this text

[Assistant] And what this is, is what we call emphatic or intensive, uh, because we use it to


[User] Please transcribe this text

[Assistant] Uh, intensify a statement or to granted emphasis, right? This is, this is how it works. Uh, so instead of just saying, and the difference, the key difference between reflexive and intensive or emphatic usage of this kind of pronoun is you could take these right out of a sentence and it would still make sense. I'll do it. I heard it.


[User] Please transcribe this text

[Assistant] The princess will run the marathon. Right? We're using them as intensifiers.


[User] Please transcribe this text

[Assistant] They're not essential to the understanding of the sentence. You're just using these words in order to hammer home a point.


[User] Please transcribe this text

[Assistant] You know, if someone else isn't helping you, you say, I'll do it, but you want to really hammer home the fact that you're going to be doing it alone. So you say, I'll do it myself.


[User] Please transcribe this text

[Assistant] And if you want to emphasize that you were, you were there and you heard something happen, you would say, I heard it myself.


[User] Please transcribe this text

[Assistant] And if it's really crazy that the princess is running this marathon, then you would say, whoa, the princess herself will be there. And that's, that's nuts.


[User] Please transcribe this text

[Assistant] And that's the intensive or emphatic pronoun. That's how you use it. You can learn anything. David out.


[User] Please transcribe this text

[Assistant] My Pet Dinosaur. Written by Anthony Curran. Illustrated by Rami Simar.


[User] Please transcribe this text

[Assistant] What can the pet dinosaur do?


[User] Please transcribe this text

[Assistant] My pet dinosaur can vet.


[User] Please transcribe this text

[Assistant] My pet dinosaur can sit.


[User] Please transcribe this text

[Assistant] My pet dinosaur can shake hands.


[User] Please transcribe this text

[Assistant] My pet dinosaur can beg.


[User] Please transcribe this text

[Assistant] My pet dinosaur can lie down.


[User] Please transcribe this text

[Assistant] My pet dinosaur can roar.


[User] Please transcribe this text

[Assistant] My pet dinosaur can lick.


[User] Please transcribe this text

[Assistant] My pet dinosaur cannot hide.


[User] Please transcribe this text

[Assistant] Connections. Writing and art.


[User] Please transcribe this text

[Assistant] If you could have a pet dinosaur, what trick would you teach it to do? Draw a picture and write about it. Science.


[User] Please transcribe this text

[Assistant] How is the pet dinosaur the same as a pet dog? How is it different? Share your ideas with a partner.


[User] Please transcribe this text

[Assistant] Oh my gosh. Okay. Grill Newbie Andy. You will interact with other grillers today and learn to grill the authentic Australian way. We'll provide you with all necessary supplies and you will grill the same foods as other Australians.


[User] Please transcribe this text

[Assistant] I think there's some more people who can give me tips over here. Let's see.


[User] Please transcribe this text

[Assistant] Hi there. Start to interrupt. Uhm, looks like you have quite the grill going on.


[User] Please transcribe this text

[Assistant] Uh, it is a place where we can eat English breakfast. And that is what we are going to do today. If I can find it. Do you wanna come with me?


[User] Please transcribe this text

[Assistant] One second. I think it is this way. Let's go.


[User] Please transcribe this text

[Assistant] Oh, I should have known. We have a mission card. Let me read this for you guys. My mission is...


[User] Please transcribe this text

[Assistant] To become an expert in the field of British breakfasts. I'm at the right place, for sure. And to figure out every detail about it, alright. That would mean I would be an expert, so let's go inside and I will show you how to become an expert.


[User] Please transcribe this text

[Assistant] I don't know. I'll have to ask. I have no idea. Let me ask the person who works here. Excuse me?


[User] Please transcribe this text

[Assistant] All day breakfast. So these are the only two served for breakfast.


[User] Please transcribe this text

[Assistant] I will, yeaah, thank you. Okay, let's see here.


[User] Please transcribe this text

[Assistant] That's what it says here. Yeah, if you want, if you want to order black pudding or hash browns, that will be extra. 100% extra. So.


[User] Please transcribe this text

[Assistant] For breakfast, you can order, obviously, breakfast, toast combinations, choice breakfast. It looks like each set comes with


[User] Please transcribe this text

[Assistant] I'll have to ask, I don't know, because toast and slices seem the same to me. Excuse me?


[User] Please transcribe this text

[Assistant] I uh, have a question here. What's the difference between, uh, the slices and the toasts?


[User] Please transcribe this text

[Assistant] Okay, and I also wanna know, can I pick the breakfast combination myself? So, it comes with...


[User] Please transcribe this text

[Assistant] Because I don't want Grace to eat too much food. Are you sure? Yes. Okay.


[User] Please transcribe this text

[Assistant] So for example, if I don't want baked beans, can I put black pudding instead?


[User] Please transcribe this text

[Assistant] I'm confused here because you have toast included in like the breakfast but then also toast combinations. What's the difference between just like toast


[User] Please transcribe this text

[Assistant] Ah, special kinds of toast. Can I replace my toast with a toast combination?


[User] Please transcribe this text

[Assistant] Okay, can I get them scrambled, please? Yes. And, Grace.


[User] Please transcribe this text

[Assistant] I also want, instead of baked beans, to get black pudding in mine.


[User] Please transcribe this text

[Assistant] Oh yes. Thank you. Look at that. That's what you call a toast. Very buttery.


[User] Please transcribe this text

[Assistant] It's like my mom's homemade grilled cheese, without the cheese.


[User] Please transcribe this text

[Assistant] It tastes like a hash brown with less flavor. Kinda. But I guess this is traditional, huh? All this other stuff looks really good.


[User] Please transcribe this text

[Assistant] We have mushrooms, bacon, and this does not look like any bacon I have in the US. It's a lot thicker. And then we have hash browns and an egg. And Grace, this is yours.


[User] Please transcribe this text

[Assistant] I would say this looks pretty similar to American breakfast. It really does. Uh, it's not much different other than the pig's blood. I'm not a huge fan of it. I thought it was gonna be real pudding. You know, the sweet pudding? I love that, but...


[User] Please transcribe this text

[Assistant] It tastes kind of like a hash brown, but less crispy. So.


[User] Please transcribe this text

[Assistant] A little bit salty, let me see. With ketchup it's probably good.


[User] Please transcribe this text

[Assistant] Mmm, different mustard than I'm used to. This is too salty.


[User] Please transcribe this text

[Assistant] Sausage, okay. There we go. First try, brown sauce.


[User] Please transcribe this text

[Assistant] It's a great thing to come and enjoy if you are here in London. Definitely worth checking out a greasy spoon like this and having a great breakfast. Uhm, so I'm going to enjoy this stuff. Thank you guys for watching. And remember, if you want to improve, you have to review. Thank you. Is everything on the blackboard served for breakfast? That will be extra. Can I pick the breakfast combination myself?


[User] Please transcribe this text

[Assistant] If I don't want certain items, can I substitute them for other items?


[User] Please transcribe this text

[Assistant] Can I replace my toast with a toast combination? You have to add it on top of the price?


[User] Please transcribe this text

[Assistant] Never underestimate this maze. It holds the 2008 Guinness World Record title of world's largest maze.


[User] Please transcribe this text

[Assistant] The maze takes up an area of 9,300 square meters and is 2,736 meters in length. As soon as you walk in, you'll be surrounded by tens of thousands of tropical plants with no idea of where you are.


[User] Please transcribe this text

[Assistant] Kevin's primary mission is to find the eight mystery stations within this gigantic garden and collect eight different stamps.


[User] Please transcribe this text

[Assistant] Paralleling the famous derby between FC Barcelona and Real Madrid.


[User] Please transcribe this text

[Assistant] While their rivalry would continue on after the event, to this day, Xpeke's heroic play remains its defining incident.


[User] Please transcribe this text

[Assistant] And while their team now only picked up one win in the tournament, we still got to see, I mean, it's a very, very tough group they were in. Some great teams in it. We got some fantastic early games, something they were really bad at during the summer split. They were always fall behind early. They changed that coming in.


[User] Please transcribe this text

[Assistant] Look what happened last year. The number one seed comes out and wins the world champion-champion. Everyone underrates them because they came in from an unknown region. Of course, speaking of TPA, and of course, bears are here in their stead.


[User] Please transcribe this text

[Assistant] I'm just saying the exact same thing was here. Here's, here's the amazing Korean team, whether it's Sword or Frost, if you want to count last year, and TPA wins it all. I think Bears can just retrace those steps.


[User] Please transcribe this text

[Assistant] And I suppose you think that you can simply strut up here and greet me in such an ignoble and vulgar manner?


[User] Please transcribe this text

[Assistant] Given that I don't recognize you, I can only assume that you are a traveler of some variety. I'll have you know that you are speaking with THE Schubert Lawrence, a blood descendant of THE magnanimous nobility.


[User] Please transcribe this text

[Assistant] If you wish to address me, you'd best consider your words more carefully. Such nonchalant manners are inadmissible and will never do.


[User] Please transcribe this text

[Assistant] Now, if you're somehow capable of understanding anything I've said, then you will get down on your knees, apologize for your negligent actions, and give me a proper introduction. That is the appropriate etiquette.


[User] Please transcribe this text

[Assistant] In former times, when people knew their place and respected traditions, such conduct was only basic courtesy when greeting a nobleman.


[User] Please transcribe this text

[Assistant] And neglecting your manners would result in a swift whipping. Look at the world now.


[User] Please transcribe this text

[Assistant] You dare question the dignity of the nobility? I'll have you know that though the Lawrence clan is in decline, myself and others of noble blood are looking for a chance to restore our rightful honor.


[User] Please transcribe this text

[Assistant] Just look around. The people are unruly and undisciplined.


[User] Please transcribe this text

[Assistant] I, however, strive to retain the elegance and etiquette of the nobility. After all, we are of a completely different breed by birth.


[User] Please transcribe this text

[Assistant] Save your words, I find your manners and bearing repulsive. I have nothing to discuss with the likes of you. Besides, I am in no way obligated to instruct commoners on basic courtesies. Now I have more pressing matters to attend to. I'll take my leave.


[User] Please transcribe this text

[Assistant] Oh, you're Yula of the Lawrence Clan, right? This can't be good.


[User] Please transcribe this text

[Assistant] Huh? I can't make heads or tails of anything you're saying.


[User] Please transcribe this text

[Assistant] The days of the Lawrence Clan's tyranny have long passed. I don't care what you're trying to do, just beat it!


[User] Please transcribe this text

[Assistant] Like I said, I don't care what you're doing. I have nothing to say to any member of the Lawrence clan.


[User] Please transcribe this text

[Assistant] And here's a word of advice. I wouldn't be caught dead walking too closely with any one of their like in Mondstadt. If that's all, I'll be going. I'm afraid I won't be able to control myself if we talk any longer.


[User] Please transcribe this text

[Assistant] Ah, it's you again. I thought I had rid myself of you too.


[User] Please transcribe this text

[Assistant] Very well. I'm certainly not one to be narrow-minded. I'll overlook your previous misconduct for now and listen to what you have to say.


[User] Please transcribe this text

[Assistant] Hmm, it appears I have misjudged you. Supreme Brilliance. The glory of the nobility that continues to this day. A true loyalist.


[User] Please transcribe this text

[Assistant] Impressive. My intentions would attest your humility. It appears you have become well-versed in our etiquette.


[User] Please transcribe this text

[Assistant] Your conduct is satisfactory. I must say, such progress in such a short time is practically unfathomable.


[User] Please transcribe this text

[Assistant] You are bright, and compared with the common folk of Mondstadt, you certainly have potential.


[User] Please transcribe this text

[Assistant] If you were of aristocratic blood, your prospects would be promising indeed.


[User] Please transcribe this text

[Assistant] Ah, could this be? Gebratenes Fleisch mit Sauerkraut? It's evident that your sentiment is genuine.


[User] Please transcribe this text

[Assistant] As a young person nowadays, only with no small effort could you achieve such a dish.


[User] Please transcribe this text

[Assistant] It's been so long since I dug into a big, tasty,


[User] Please transcribe this text

[Assistant] I-I beg your pardon. What I mean to say is, since it's nearly mealtime, I shall partake.


[User] Please transcribe this text

[Assistant] I acknowledge your genuine goodwill. Such sincerity must certainly imply that you come bearing a request.


[User] Please transcribe this text

[Assistant] Well, considering your meticulous etiquette, you must be a talent of unusual fortitude. I'm willing to place my full trust in you.


[User] Please transcribe this text

[Assistant] Please, come with me. We happen to be in need of competent fellows like yourself. To see some... friends from a distant land.


[User] Please transcribe this text

[Assistant] They have offered their assistance in restoring the Lawrence clan to its former glory.


[User] Please transcribe this text

[Assistant] Well then, let's get going, shall we? You'll understand everything in due course.


[User] Please transcribe this text

[Assistant] Huh? Why have you put on a mask all of a sudden?


[User] Please transcribe this text

[Assistant] Hmm. Even if they are powerful, our status is much higher than theirs in the land of Mondstadt. And therefore, we shouldn't allow them to admire our true faces so easily. I see.


[User] Please transcribe this text

[Assistant] Let's proceed, shall we? I'll introduce you as my guest.


[User] Please transcribe this text

[Assistant] I heard that this area had already been purged once by the Knights of Favonius.


[User] Please transcribe this text

[Assistant] But it's the only place around Mondstadt that is well concealed and spacious enough.


[User] Please transcribe this text

[Assistant] Of course not! An aristocrat always moves with grace in his steps. Moving hurriedly is unacceptable.


[User] Please transcribe this text

[Assistant] Nothing more than foreign ruffians with power and the ability to flaunt it. But they are favorable business partners. Hold it right there! Who's this? If you really must know.


[User] Please transcribe this text

[Assistant] They're my guests. If you happen to offend them in even the slightest, then you will be held accountable by the Lawrence clan.


[User] Please transcribe this text

[Assistant] But this matter is of utmost secrecy. We must exercise caution. You dare question the ways of a nobleman? I don't have time for this. Make way!


[User] Please transcribe this text

[Assistant] Of course, that is the benefit of prestige. In pastimes, it would be a dire offense to speak to a nobleman in such a manner.


[User] Please transcribe this text

[Assistant] We could determine a person's fate with the blink of an eye. Huh.


[User] Please transcribe this text

[Assistant] And such glory will return to me again before long.


[User] Please transcribe this text

[Assistant] Don't be ridiculous. Besides, my guest is well-versed in the etiquette of the nobility. I must treat them with the proper mutual respect.


[User] Please transcribe this text

[Assistant] The Knights of Favonius pay no regard to such details. They could never understand the intricacies of our etiquette. And what about this?


[User] Please transcribe this text

[Assistant] You dare question my word? Need I remind you who it is who has made your activity in Mondstadt possible?


[User] Please transcribe this text

[Assistant] Without the support of the Lawrence clan, you would have all been driven out by the Knights of Favonius like dogs. You must immediately offer your sincerest apologies to my friend. You've offended their honor.


[User] Please transcribe this text

[Assistant] Excuse me, I'll have you know that I went to great lengths to carefully draw this map by hand myself.


[User] Please transcribe this text

[Assistant] Of course, you needn't worry about that. Don't forget what we agreed upon. The flag of the Lawrence Clan will fly above the Knights of Favonius headquarters. The rights to that building, as well as the whole of Mondstadt, belong to the Lawrence Clan.


[User] Please transcribe this text

[Assistant] And my new friend here. No one else will know of it. Once this is over, I shall stand atop the Favonius headquarters and rebuke their pathetic rule over Mondstadt. Then the city and all its people will once again be under the rightful and unwavering rule of the Lawrence clan.


[User] Please transcribe this text

[Assistant] Perfect. Just as it once was, and just as it should be.


[User] Please transcribe this text

[Assistant] After so much planning, this is how it ends? Huh! We'll see about that!


[User] Please transcribe this text

[Assistant] Aha! I see now. So you're the one that taught them our etiquette. And I thought you despised such pleasantries.


[User] Please transcribe this text

[Assistant] Furthermore, there is a rule in our family. Such traditions are never to be taught to outsiders.


[User] Please transcribe this text

[Assistant] You have brought shame to our family and ruined my plans! It's all for naught now!


[User] Please transcribe this text

[Assistant] You still have a chance. Defeat every knight of Favonius here and leave with me.


[User] Please transcribe this text

[Assistant] Then I shall plea with the family to spare you and give you a new beginning.


[User] Please transcribe this text

[Assistant] I shall say this one last time. You are not a knight of Favonius. You are a descendant of the Lawrence clan.


[User] Please transcribe this text

[Assistant] Hello, grammarians. So we had said previously that prepositions, uh, express relationships between two ideas, right? And we can do that either in time or in space or in other ways. But today I want to talk about prepositions in space.


[User] Please transcribe this text

[Assistant] Because this is, again, one of the things that prepositions do is they can set up relationships between objects and their locations, right? So I could say the triangle is over the square, right, or on top of the square. I could say,


[User] Please transcribe this text

[Assistant] What I would like to do is review some of the major ones and, and talk about what their uses are.


[User] Please transcribe this text

[Assistant] So when we use the word at in a sentence, and here I'm talking about something we should note,


[User] Please transcribe this text

[Assistant] Is that, some of these prepositions can be used in multiple ways. Right, so, so, at has a space connotation, but it also can have a time connotation, but I don't want you to really worry about that.


[User] Please transcribe this text

[Assistant] Right now, I think it makes the most sense to just think of their, their uses as, as separate, and just think of them separately. Uh, so when we, when we talk about at, at means a point. Right, it's talking about a point, so we could say something like, we stood at the entrance to a cave. But it can also have this connotation of direction, as in,


[User] Please transcribe this text

[Assistant] The word by when we're talking about space means near, as in.


[User] Please transcribe this text

[Assistant] Man, all these sentences are like really spooky. Ooh, I don't know what I was thinking. The preposition from.


[User] Please transcribe this text

[Assistant] Has this connotation of, uh, coming from somewhere else to here.


[User] Please transcribe this text

[Assistant] In denotes an enclosed area. So you could say something like, there's a bunny in the box.


[User] Please transcribe this text

[Assistant] On, uh, which, you know, usually notes being on a surface.


[User] Please transcribe this text

[Assistant] As opposed to in, which is in an enclosed area, right, like I said, so we could say, there's a goblin on the front steps.


[User] Please transcribe this text

[Assistant] The bunny is in the box. See the difference?


[User] Please transcribe this text

[Assistant] Out is another direction word, you know, away from something.


[User] Please transcribe this text

[Assistant] Right, and off and on and in and out mean the opposite of each other. So away from, out means away from an enclosed area.


[User] Please transcribe this text

[Assistant] So, if you can imagine, you know, there's someone who's on the rock, and then they hop off the rock. There's a goblin on the front steps, and maybe the goblin leaves the front steps, he's off the front steps. There's a bunny in the box, if the bunny leaves the box, it will go out of the box.


[User] Please transcribe this text

[Assistant] And there's plenty of other prepositions, but let's, let's talk about two. Uh, which when you're talking about two in the physical sense, it has this connotation of direction.


[User] Please transcribe this text

[Assistant] So you could say, I'm going to Mozambique.


[User] Please transcribe this text

[Assistant] These are some of, but certainly not all of the spatial prepositions of English. Now we're lucky because prepositions are a closed group in English. A closed group. We don't, we don't add many of them to the language the way that we add nouns and adverbs and verbs and adjectives.


[User] Please transcribe this text

[Assistant] There are a lot of them and you have to memorize all of them and their various obnoxious nuances, but


[User] Please transcribe this text

[Assistant] There isn't a limitless number of prepositions. There's, you know, maybe 100 plus, and of those, you know, maybe 50 are quite useful, and of those, maybe 20 to 25 are super useful.


[User] Please transcribe this text

[Assistant] And it's the super useful most common ones that are in the exercises. So give those a go. You can learn anything. David out.


[User] Please transcribe this text

[Assistant] This cave has big crystals.


[User] Please transcribe this text

[Assistant] This cave has shiny fish.


[User] Please transcribe this text

[Assistant] Make a list of what you see. Share your ideas with your class. Science.


[User] Please transcribe this text

[Assistant] Pick two caves from the book.


[User] Please transcribe this text

[Assistant] Tell a partner how they are the same and different.


[User] Please transcribe this text

[Assistant] In the east of China, near the Youxi in Jiangsu,


[User] Please transcribe this text

[Assistant] There's a magical island situated a little way off the province's 765 kilometers of coastline.


[User] Please transcribe this text

[Assistant] Covering an area of less than 0.2 square kilometers, Chinchan Island is 1,000 meters long from east to west and 200 meters in width.


[User] Please transcribe this text

[Assistant] From the air, the island looks for all the world like a giant Chinese salamander with a huge bulbous head.


[User] Please transcribe this text

[Assistant] Chinchan Island is about 15 kilometers off the coast and is one of the few coastal islands in Jiangsu province.


[User] Please transcribe this text

[Assistant] In the past, the island has been ten times its size today.


[User] Please transcribe this text

[Assistant] However, thousands of years of erosion have seen the rock consumed by the sea little by little.


[User] Please transcribe this text

[Assistant] The long tail of this fish appears and disappears at regular intervals with the rise and fall of the tides.


[User] Please transcribe this text

[Assistant] It is 2.6 kilometers long and has existed for at least 2,000 years.


[User] Please transcribe this text

[Assistant] The divine path of Chinchun Island was formed by the action of the tides against this gravel island.


[User] Please transcribe this text

[Assistant] The shores were gradually worn away and eventually collapsed.


[User] Please transcribe this text

[Assistant] The debris drifted in the currents round to the south side of the island and was gradually deposited under the waterline for a stretch of over 10 kilometers.