 All right, we're recording. So we're talking about what? Scrammers? Yes, how to find two different strings. So let's think about it in a couple ways, right? So we can think about a super easy example. S goes to A. A goes to B. So one way to think about it. So there's two ways to think about it, right? One, the problem is asking you specifically, how do I find, give me the string that maps to two different parse trees, right? So one way to think about it is string based, right? And start coming up with different strings, like I don't know, E or AB or is it AAB or something? Like one way you can do it is to just start generating strings and see if you could maybe come up with two different strings. Another way to do about it is to think about it starting from the parse tree. So like here, I haven't even filled in the rest of the grammar. What B does or C does, right? If you already tell it, is that ambiguous? So I know in one case, so I have two choices for S, right? One case I have S goes to BC, or I have S goes to A, right? So at this point, I know nothing, right? These are clearly not the same trees. I have no idea if they're going to result in the same string, right? Yeah, so yes. Here, now if I apply one more rule, A goes to BC, now what do I know about these trees? Well, I mean, you can get the same thing from both those. Why? It leaves. Yes, because the leaves in this tree are exactly the same as the leaves in this tree. So I know, I actually, at this point, don't care what the rules are for B and C. I know at this point, I can just keep following that and I'll end up good at getting the same string, right? I can just keep applying the same rules to B as I apply here and the same rules to C and the same rules to C. So this is another way to approach and to think about these kinds of problems that is not necessarily thinking about the whole tree and trying to get the strings to match up, but thinking about, while you're building it, can I get the leaves on the tree to be the same? Yeah, so you can do that on any, I mean, you just look at the grammar and you can pick it out. Yeah, you start building trees, right? That's kind of the thing. If you start with S, every tree starts with S, start and start to see where your choices are, right? Like here, I don't have a choice for A, right? So I don't have to worry about it. That's never gonna affect my decisions. But here, the choices of S affect my decisions. If I have choices of B goes to, you know, I have two choices for B. If I have two choices for C, right, they could affect my decisions. And then if you have like A goes to B, C, D and say D goes to epsilon and you can just put C to epsilon and then it's second. Yeah, if you have B, C, D and you had, and then because you get to a point here, right? Where you're saying, ooh, I'm so close, right? I've got, I've got, here I've got the B and the C and here I've got B and C. They're almost, but I have this extra D. So there's two things I would see. I would try to think about, is there any way I can get C to end up as C, D? Does C go to C, D? If it does, if C went to C, D, then I have B, C, D, B, C, D done, right? If it doesn't, there's no possible way, then maybe you start thinking about exactly what happens with D? If there's any way D can go to epsilon, if there's an epsilon in the first of D, then I'm done. So I know that goes there. I have B, C, B, C, epsilon, epsilon's nothing. And so that's gonna be the same string. There's different ways to try to approach this to start thinking about these kinds of problems. Bye, goodbye.