 So we're going to go ahead and design out a B tree, a 2, 3 tree, using the following commands as we see them. This way we get a good indication of sort of how this all kind of falls into place. So if I start with that 50, just like we've done in the past, nothing terribly crazy comes in. It's my first node, so it becomes my root. The same thing is going to happen when I start to deal with my 35. It's my kind of step two. Since these two elements are sort of, I have a slot available in this leaf node, I'm just going to kind of put them in the same position. 35 will take over that kind of lesser spot, and 50 will come in and take over the larger spot. That's why when we get to 75, just like we've seen in the past, I run into the issue of I need to split this. I can't just add 75 here, because I only have nodes that allow for two keys. So what do I need to do? I need to identify which one is going to be my K1, which should be my smallest node, my K2, which is sort of the middle node, and then my K3, the largest of them. Now if we remember, what I want to do with this is I want to come in and I want to take my K1 and make it its own separate node, and I want to take my K3 and make it its own separate node, 75, and then whatever K2 was, that's going to become the parent to both K1 and K2. So in this regard, we're here. So now when we get to 25, 4, and I'm going to bring that down over here, just so I have some room as you can see. So as I'm going in with 25, we get the exact same approach that we see here. I'm going, it's too big to fit into here, but I can immediately fit it into this lot, perfectly fine with no problems. So again, I have 50, 50 is left unchanged, and I'll skip over that for just a second. 75 is likewise unchanged. Nothing's going on there. But when it comes time for my 25 and my 25, again, 25 is going to be the smaller, and then 35 will be the larger. Same kind of approach comes into play as we start to deal with, say for example, this 20. From here, once again, we run into the problem that I can't just add it to this node. It will cause an overflow. So again, let's just put that there, 20, I have to determine what my K1 is. K1 is, again, the smallest node or the smallest key. K2 is the middle key, and then K3 is the largest key. Just like before, K1 gets a node, K3 gets a node, and K2 is moved in this kind of essence to the parent. So once again, I'll leave this blank for a second as I create my K1, that's my 20. My K2, or sorry, my K3 node, which is my 35, and then I have still that 75 child. Now this is perfectly fine because again, a three-node element, a three-node, can have three children, two keys. So the 50, again, is smaller or larger than 20, so it gets to be put in here. And then just to round things up one more time, let's see. We add the 10. So just like before, we happen to have a spot available, so it becomes, in this case, 20, 50. These are left relatively untouched. 25 is brought back in, 35 is untouched, and 20 gets a new partner in crime, 10. Sorry, not 20, 25, 25 gets a new partner in crime. So now we get into the issue of I need to delete 35, right? I need to delete 35 is a little more, actually, sorry, I'm jumping ahead. I got to insert my 15 as well. So in this case, I'm going to just scroll down a little bit. So for this seven, number seven, I need to, again, insert 15. It's going to be put into here and we're going to run into the same problems we saw before. Let me make my little note here of 15. I have to determine my K1, my K2, and my K3. Once again, I'm going to split K1 and K3 into two separate nodes and move K2 to my parent. So in this case, we see that I have my 10 getting its own spot, my 25 getting its own spot. I'm going to just kind of make those children nodes first. That way, we can start to connect them up. So I come in and I've got my 75. So we do run into that problem because what occurs when I try to add my 15? Well, I have my 20, I have my 20 there, and then I tried to add 15. So I can't because, again, we're running into more problems. So what do I do? I need to determine my K1. I'm going to use a different color for this because this is all still step seven. K1, K2, K3. So once again, we run into the issue. I need to split it up and push, in this case, my K2 and make a new root. So 20 is actually going to be my new root, in this case, with two children, 15 and 50. 15 and 50. Now if we notice, I happen to have four trees, four subtrees, four children going on here. I call them T1, T2, T3, and T4. Since I've just created these two nodes, what I'm going to put is I'm going to take tree 2 and 1 and give it to 15, and trees 3 and 4 and give it to 50, because if we think about this from that tree perspective, again, everything from the left of my 50 should be smaller than it, and that's what 10 is. Everything on the right should be larger than it, and that's where 25 is getting to get applied here. Same thing will happen over here with my 50. Now let's actually see something for a second. I think I had a little mistake. Yep, right there. Step five, let's see, 25, 25 should have been pushed up. So apologies. I will fix that right now. That's where my hangups are starting to show up. So let's see. That should be a 25. That over there should be a 25 as well. That should be a 20. Luckily, it doesn't break everything that I did that. That should be a 20, and that should be a 25. That is going to be the new node. See how this stuff can get a little tricky every once in a while? That's fine. That's fine. So once again, now that I've fixed the error of my ways, I can finish this. Sorry, 35 and 75. So now we get to that removal process, the removal of 35. So I'm just going to write it down here, remove 35. So we see that I'm going to do that. The issue becomes that if I were to come in and remove 35, just like I was saying, I'm running into an overflow, an underflow in this case, an underflow. So as a response, what I'm going to do is since I happen to have a sibling node, I'm going to take my parent and I'm actually going to merge it together. So the first step of this, I'm trying to kind of see it all in one nice little piece. First step of this is again, I have my 25. My 15 and pretty much my entire left side is left unfazed. I come in with my 10, my 20, now that we fixed that. But over on this side, I have another underflow. Because right now, this should be empty, and this just got merged together. Again, 50 and 75 just got merged into a single node. So I have to fix this up. I have to adjust kind of what's going on here. So if I just go up, I would take this and I'd be merging my 25. So I come in, I leave that blank. I'm going to leave this blank for right now. I'm going to leave that top node blank for right now. In this case, I've got my 20, I've got my 10. I move my 25 down here so that it can have this 50 and 75 child, but I still have, guess what, another underflow. So what's going to occur here? Well, since I happen to have an underflow, and I see that I have one child that has a blank slot, and I have another child that has a blank slot, I'm actually going to strip this and merge these two together. And so my resulting tree will be, sorry, that's a 15, 25. Over here, we happen to have one node that happens to have two children itself, 75 and 50. In the middle here, we have another node that's 20 by itself, no additional partner in crime there. And then finally, the 10 slot by itself.