The Randomness Problem: How Lava Lamps Protect the Internet
ฝัง
- เผยแพร่เมื่อ 21 พ.ย. 2024
- Go to Brilliant.org/... to get 20% off of an annual Premium subscription!
Randomness is important for all kinds of things, from science to security, but to generate true randomness, engineers have turned to some pretty odd tricks!
Hosted by: Stefan Chin
Head to scishowfinds.com/ for hand selected artifacts of the universe!
----------
Support SciShow by becoming a patron on Patreon: / scishow
----------
Dooblydoo thanks go to the following Patreon supporters: Lazarus G, Sam Lutfi, D.A. Noe, الخليفي سلطان, Piya Shedden, KatieMarie Magnone, Scott Satovsky Jr, Charles Southerland, Patrick D. Ashmore, charles george, Kevin Bealer, Chris Peters
----------
Looking for SciShow elsewhere on the internet?
Facebook: / scishow
Twitter: / scishow
Tumblr: / scishow
Instagram: / thescishow
----------
Sources:
www.wired.com/...
sploid.gizmodo...
www.fastcompan...
www.nytimes.co...
blog.cloudflar...
www.design-reu...
www.random.org...
ocw.mit.edu/co...
link.springer....
www.maa.org/si...
nvlpubs.nist.g...
www.iro.umontre...
www.rand.org/p...
www.rand.org/c...
docs.microsoft...
tools.ietf.org...
ops.fhwa.dot.g...
ocw.mit.edu/co...
telescoper.wor...
auto.howstuffw...
web.archive.or...
Images:
commons.wikime...
• High Performance Doubl...
commons.wikime...
Note: At 3:55, the comparison between different sets of coin flips was between two specific sequences, like 10 heads and then 10 tails versus alternating heads and tails, not between half heads/half tails and any other mixed-up order. Thanks to those who pointed out the potential for confusion!
Am sorry but still incorrectly written. "the comparison between different sets of coin flips was between two specific sequences, like 10 heads and then 10 tails"
What are the sequences? 10 heads and then 10 tails.
" versus alternating heads and tails"
What are we comparing too? All possible combinations of alternating heads and tails.
However you choose to rephrase this you need to ascertain that you are comparing ONE instance of 20 coin flips resulting in 10 heads followed by 10 tails to another SINGLE instance of 20 coin flips resulting in a combination of heads and tails.
@Carlos
"two specific sequences":
"10 heads and then 10 tails" = H H H H H H H H H H T T T T T T T T T T
"versus alternating heads and tails" = H T H T H T H T H T H T H T H T H T H T
SciShow's correction is perfectly understandable.
@Josef
Are you aware that the alternating heads and tails sequence shown by SciShow is NOT the one in your post? Freeze the clip at 3:57 to understand the sequence shown by SciShow.
@Carlos
Are you aware that you're replying to SciShow's correction "versus ***alternating heads and tails***" (= H T H T H T H T H T H T H T H T H T H T)
Do you know what the word alternating means?
What does whatever specific sequence show at whatever time have anything to do with SciShow's post clearing up possible confusion?
Are you aware that informal youtube vidyas are NOT mathematical proofs?
Do you enjoy tilting at imaginary windmills?
@Josef,
If you think that by alternating heads and tails SciShow meant the sequence you posted then you do not understand the original post nor the clarification.
My masters thesis was about noise and random number generation, so this episode really brings back the memories :) As part of my thesis I designed and built a pseudo noise generator based on filtered output from LFSR (one of the simpler PRNGs).
Man, I should find my old lava lamp again. For security reasons only, of course.
sapiens I don’t get it.. are you gonna stick it up your ass?
@@_booth7992 no. For security reasons.
Aha! I already know this one! Thanks, Tom Scott!
You, me, and twenty others, in fact! :)
Twenty-one!
S I X T Y N I N E
ME TOO
Same here
WHAT DO YOU MEAN LAVA LAMPS AREN'T THE HEIGHT OF COOL ANYMORE?????
THIS IS BLASPHEMY!!!!
Wow, i read this EXACTLY as he said it! Impossible timing! That WAS random!!!!
I know right!
Redchocobo They’re the height of hot
It’s lamp time bröthers
I love lamp.
oh god
Get to the łåmp my brøthērš
*moths proceed to swarm the clock*
10/10 best comment. Hail lämp
He protecc
He attacc
But most importantly of all,
*He prevent hacc*
Cayden S. What do you mean? Your linguistic malfunction is so severe that you’re not making any sense.
" *Linguistic Malfunction* "
Antony Magnus *whoosh
@@alexcao01 Nah he's to fast he would catch it!
@@antonymagnus7718 r/whoosh
And I actually thought I’d see a video of dozens of lava lamps running in a large gymnasium sized room with servers, switches and hubs. Protecting the internet. Hah!
That video is on Tom Scott's channel.
Do the Tom Scott dance
3:50 This could've been phrased better. While any given sequence of 10 heads and 10 tails is equally likely from 20 coin flips, there are many scrambled sequence, while only a few well ordered ones. Thus, one is far more likely to get a scrambled sequence than an ordered one. I got what you were going for (after thinking on it for a moment), but I bet a good number of people didn't and were confused.
Just look at the picture illustrating his statement, it is as clear as it gets.
I love every video that SciShow makes, but this one seemed a bit random.
No it doesn't... That's not how randomness works...
Well, the computer crashed during production, when it executed a step in a stupidity simulation program.
It sort of *ran dumb.*
HA! Very good sir
@@LulitaInPita r/whoosh
Filthy Thelemite
I never thought Lava Lamps would help protect the internet.
4 minutes of Tom Scott
th-cam.com/video/1cUUfMeOijg/w-d-xo.html
I did, but I cheated.
I love lamp.
@@chrisladouceur4093
I love carpet
Chris Ladouceur LAMP.
Fortuna and Mersenne Twister are very different classes of random number generators that are used for very different purposes. Fortuna is usable for cryptography, and in order to work, it requires a stream of external noise. Mersenne Twister generates a very predictable sequence. If you learn just a few numbers in sequence, you can predict the entire rest of the series. But, the sequence Mersenne Twister generates still passes most statistical tests of randomness, and is great for simulations and other similar things.
Did anyone else think the right side was random?
Yep. They key is to think of randomness as a lack of uniformity. The pattern on the left was more uniform, and thus, less random.
I did. But that's because I understood what was being done there.
What does that mean?
I did but I'm also an IT person who has studied cryptography so I'm supposed to know.
I know! It’s like I felt that something is like... random isn’t it?
I like how in-depth the video was, very well put together.
I clearly love you guys :) I forced myself to keep watching til the end even though this one was over my head. Excellent delivery and great speaking voice, always a pleasure.
Lol, I like how "'70's decor' included a flimsy table with more than one large liquor bottle on it.
And a set of cocaine, of course.
These videos on technology, computers, and math are beyond awesome. Keep it up!!
Moths love the LÄMP
They did
What do you mean lava lamps aren't in season anymore
When did they ever fall out of season
3:14 I was the guy who is wrote that review! I MADE IT ONTO SCISHOW!!! :D
It is not equally likely to get a scrambled series of mixed up flips and complete separation between heads and tails in 20 flips. It is equally likely to get any state but there are many more mixed up states than there are completely separated states. That's the basis of entropy.
As somebody with background in this area, I must say that this was an excellent overview.
Huh now that you mention it a lot of things in the world is random but not to purely unpredictable (after a huge data set) or were randomly generated but now are known to us (say the CMB for example)
Right off the bat, when I thought of random I thought of the sun's fluctuations in it's mag field or the direction of Qbits
You've made me consciouslly aware of randomness now and now I truly appreciates the randomness
I saw a video about the lava lamps a while back, it was the coolest use for lava lamps I've seen.
"Tossing a coin 20 times is just as likely to produce 10 heads and then 10 tails as it is to mix them up" this statement is false. The probability of having a 'mixed up' result is much greater than the probability of having 10 heads and then 10 tails. I think what he meant to say is that tossing a coin 20 times is just as likely to produce 10 heads and then 10 tails as any other sequence.
I thought this too and decided to search the comments for this post haha
Haha I thought that sounded weird too but I didn't give it to much thought. Is it 10 heads and 10 tails are the same as getting heads and then tails back to back 10 times?
This was my first thought when I heard that sentence. Any given sequence is equally likely, but there are many possible 'mixed up' sequences while there's only one sequence with 10 tails first followed by 10 heads.
His wording is confusing, but picture shows what he meant by mixed up - head followed by tail x10 times
It is equally likely that you can get 10 heads followed by 10 tails as it is any _specific_ sequence of 20 tosses, which is 1 in 1,048,576. But that isn't what he said.
Now, if he said "there are an equal number of series containing 10 heads followed by 10 tails as there are any mixed up series in an infinite sequence of coin flips", that would be true because both are countably infinite. But, again, that isn't what he said.
I’m not gonna lie as soon as hear encryption i automatically assumed this was gonna be a dashlane advertisement
Some sources of random : Any radio set between two stations, an analog TV set on any station (bonus point if the station is unused), a mike on a busy street, a feed from some radio telescope, ...
My mind wanders off sometimes. This is something I was thinking about in my car the other day. Glad I finally got an answer
You are incorrect. You just described CSMA/CD or Carrier sense multiple access collision detection, which is NOT used in WIFI networks but rather its used in older half duplex ethernet bus networks. WIFI networks use CSMA/CA or collision avoidance and by design do not suffer collisions.
"...just as likely to produce 10 heads and then 10 tails as it is to mix them up" is _completely_ wrong.
It is just as likely as *any single* pattern of "mixed up." (Such as the one pattern shown.) But 10 heads followed by 10 tails is insanely unlikely - about one in one million set-of-20-tosses. Yes, any individual pattern (such as the one shown - H T H T H T H H H H H T H H T T T T H T ) is also about one in one million chance. But "as it is to mix them up" as phrased is completely wrong. Because if the alternatives are "10 heads and then 10 tails," "10 tails and then 10 heads," or "any other pattern" - then the odds are 1:1,048,576 of 10H-10T, 1:1,048,576 10T-10H, and 1,048,574:1,048,576 "mixed up". Or "mixed up" 99.99981% of the time.
I think maybe he's suggesting that if the sequence were to loop infinitely, then an infinite number of 10 heads + 10 tails sequences is the same as an infinite number of other sequences because both are infinite.
@@CaitlynGieler lol
Fun fact, to be able to tell the time and date, every computer holds a count of the milliseconds that have passed since whatever arbitrary past date the computer starts counting from (called the epoch). Because that count is different every millisecond and never repeats, it's used as the seed for many pseudo random generators.
Ok, I'm not through the video yet, but I have to say something about this. Getting 10 heads and then 10 tails is absolutely not just as likely as getting them mixed up. It is just as likely as getting them in a SPECIFIC mix, like the one you showed on the screen, or like getting them in some other specific pattern, but, because there are so many different possibilities that are considered "mixed up" and only one possibility of 10 heads then 10 tails, the two events are nowhere near equally likely.
On an infinite timeline all combinations are equally possible
@@therockinboxer, yes, all combinations are equally possible, but the video said that a single ordered combination is as likely as all unordered combinations. That statement is ridiculous. My comment was worded somewhat confusingly, but what I meant was that the single ordered combination is as a likely as a single unordered combination.
I've always wanted a SciShow and Georg Rockall-Schmidt crossover video.
I thought about this a lot when I was younger and couldn't wrap my head around computers producing random numbers
Am I the only one who genuinely thought that the dots on the right seemed more random?
Kali Takumi oh well, tell a human "one follow a pattern" and he will find a pattern in both. That was my reaction "no one is really random"
Nope. I saw that episode of Numbers too.
No, but it likely means you've seen a similar demonstration at some point in your life. Human psychology is strongly geared toward pattern matching and the clumps you see in the right image trigger that pattern matching part of our brain a lot stronger than the left.
Basically, humans typically see uniform distributions as more random than actual random distributions. As always with human psychology, there's likely people who don't follow the stereotype but the vast, vast majority would see the left as more random if they hadn't seen that example (or something vaguely similar to it) before.
@@altrag Well, being that the dots were pretty uniformly distributed, it doesn't make sense to me to call it random at all. Those are obviously consciously spaced out.
@@KaliTakumi Me too but I think it is because I often draw/doodle and I noticed that when I make dotted areas, they look better the more thought I put into dot placement because this way they don't form messy clusters and leave unevenly covered areas. So I assumed that the images worked the same way. Maybe many people who guessed right have at some point experimented with doodling or pointillism? it'd be interesting!
I would argue that with a sufficient enough data storage and data on the person making a "random decision" would,indeed also be entirely calculatable. Your just a very advanced analogue computer. It just *appears* random,just as a random number generator appears to get random numbers to the ave person using it.
This was so comprehensive and interesting! Thanks Stefan
Keep up with the Computer Science videos I absolutely love them ( as a computer science major)
I once wrote a database for a call center that gave employees random accounts to work on, rather than simply allowing them to choose (or rather, cherry-pick) from a list. And I found that using the system time was adequate (in that particular case), provided I used only the millisecond value of the moment the employee clicked the “Next Account” button. So, for example, if the list (i.e. the hidden recordset) contained 200 accounts, and the employee clicked the button at millisecond number 500, then the 100th account would be chosen, locked, and populated. Needless to say, I also kept a table of “oh-god-no-gimme-another-one-quick” attempts in order to thwart blind cherry-picking. Cheers! -Phill, Las Vegas
*_[_**_06:03_**_] theoretically you don't even want 'random' but guaranteed short-term 'noise' with all correlations removed..._*
*_[_**_08:53_**_] but a triplet of pendula can be simulated digitally, so really its 'randomness' is something else-define, that..._*
An important guide for randomness is that any value within the random-number generator’s range is equally likely to be chosen next. One advantage of pseudo-random is being able to mathematically prove that quality.
Of course, that assumes that you don’t (and preferably “can’t”) know the algorithm by which they’re deterministically generated. Sometimes that’s a reasonable assumption, and sometimes not. All too often, it’s a dangerous assumption!
This video scarred me for life. Whenever I'm playing a game I'm looking for patterns now, I'll never believe loot boxes "rng"
I have the perfect RNG:
Using quantum effects, there are many ways to generate a certain distribution of random numbers. There is no problem in changing that distribution and making an unbreakable encryption.
Well one might say that what we _think_ is random, is actually just *higher entropy* .
Taking your examples, the sequence of 10 heads and then 10 tails is just as random as any other, but it takes the least possible information to describe it, hence it is low entropy.
Again, with the polka dots, the evenly spaced one is high entropy as you need to say, "one here, one there, one in that corner....", while in the one with the clumped dots, you can just also _clump_ together the entries for it, saying "five in this spot, 3 there...."
despite what computer scientists insist, all my media players tend to repeat the same 40 songs out of 200 on "random," while i never hear the other 160 without going to them manually
This is the coolest bit of information ever!!
Heard something to flip our concept of randomness on its head: randomness is merely that which we cannot predict its causation. In that sense, as our tech increases and we understand more weather systems , more algorgytms to explain the previously unexplainable, all the wat to other vast cosmological processes , we find less and less randomness😮
This totally explains slot gaming machines... when I know they're going to be good, but how I also know they're never going to give me the jackpot.
If I needed true randomness I would use how often my co-workers follow an agreed procedure.
"Once again, you're stuck letting the computer receive first."
Umm...I wanted that.
This episode is awesome, please make more on similar topics.
My husband works in computer security, and one of his favorite sayings is, "Randomness is clumpy." ❤
if a classic lava lamp is left on indefinitely the lava action of the contents will stop and half the contents will settle to the bottom and half will settle to the top you must turn off the lava lamp for a certain number of hours for it to cool and then turn it back on again I don't know how cloudflare handles this but they better take it into consideration.
A properly-operating lava lamp will continue flowing up and down indefinitely without the lava ever settling in a quasi-stable position. Even if a couple of CloudFlare's lava lamps do settle though, the lava still doesn't stay perfectly stationary. Plus, varying sunlight, people walking around, and of course all the other lamps also contribute to the random noise in the camera view that is used to generate keys.
Really fascinating. I've been using DBAN for disk wiping and understand more parts of the program now.
in older pokemon games, if you use a savestate before a battle or wild pokemon encounter, and reload that savestate, the wild pokemon will often be the same and the trainer will use the same moves given you use the same moves as well. you can change it by starting the battle at a different time or going into menus and whatnot(i think). there are certain glitches in games that let you manipulate the rng or be able to time your movements so the rng is where it needs to be. if im not mistaken, the glitch that gets you straight from the deku tree to the final boss fight in loz oot works like this.
Taking a picture of hundreds of lava lamps every couple of seconds creates actual randomness, fascinating.
Really great explanation! Thank you!
What're you talking about Stefan?! lava lamps ARE the coolest of the cool! How dare you!
georg rockall-schmidt, you beautiful bastard. i knew you were onto something
I had to explain how computers "compute" randomness to my boss that asked, "why iTunes seems to play the same songs even while on shuffle". Although a computer can generate a list of your songs in a random order, iTunes gives preference to songs you play the most and have thumbs-upped, then it plays through that sequence in order. So if you want it to refresh the list without bias, you have to reset the play count and remove all 'liked' ratings. Even then it would not be truly random. If it were genuinely random you run into the possibility of it playing the same song twice in a row. It was kind of funny because I was an intern web developer and he was the head of our web department... 🤔
When I need a random number in a program I always use multiple random number generators. The most simple way I use is to use two random number generators to set the parameters for the final random number generator. IE the first random number generator would choose a number lets say it picked 72. the second generator would pick a number higher than the first lets say it picks 1380. The final random number generator would pick a number between 72 and 1380. It's still not truly random but it makes it hard to predict what number will come up because the parameters change each time.
I always default to the mersene twister with the seed as the output of the standard random device
Most chaotic systems follow algorithmic rules with feedbacks that force divergence. Through the use of effective key stretching such as feedback of an encryption algorithm with a self modifying key you can get cprngs that are statistically as good as any source of true randomness. Better because true randomness is very difficult to generate quickly. CPRNG stands for cryptographic pseudo random number generator by the way.
+POVadventure There is no security benefit to doing that. Anyone who knows your code (binary decompilation for example) would be able to just repeat the same multi-generator procedure you do and arrive at the same results. And like encryption, randomization is one of those things that if you don't know _exactly_ what you're doing (on a mathematical proof level,) you're probably doing it wrong and actually being _less_ random than just using a standard algorithm with a standard seeding mechanism.
8:54, the cat trying to get bubble gum off its paw
This is a great video. Good job! You should do one about the mathematical limitations of computers beyond just RNG. i.e. how a computer "cheats" to do anything but addition :D
this was just... BRILLIANT!
;)
If I remember correctly the TI Home Computer used the video clock chip as a starting point to Randomize a random number (a Basic command).
I learned the basics of PRNGs when I was pretty young, and learning that algorithmic randomness is impossible has allowed me to essentially cheat on multiple choice tests provided I can correctly answer about 25% of the problems myself. I have never, ever failed a standardized test even though I’m a terrible test taker (meaning I don’t respond well to pressure, time limits, etc.), and I never study.
Every time I discuss this with my classmates a teacher always overhears and tells me it won’t work anymore because the system has been changed. And then I laugh, because I know they have no idea how random generation works and they can’t fool me.
SAME! I have never failed standardized test! I know I have a chance of answering these problems right. I, too, wasn't a great test taker. I can't perform well under pressure, when there are time limits, or anything else of that sort as well. I don't even know how to study either! LOL. Those teachers think I can't go anywhere if I have that kind of mindset.
Look where I am now! I'm #1 in my class!
Back in yee-oldy-days when I was writing code and we needed a random number, we would just look at the clock. The main frame I worked on, the clock carried seconds out to 8 decimal places. so that last digit was changing so fast you can never guess what it will be at any given time, so we would just read that number and wola a semi-random number. This only worked for a single digit but could be done over and over again for as many as needed.
Whether true randomness actaully exists or not is a philsophical question, that can never be answerd.
This was a great video. Thank you!
I've always loved lava lamps, and now I have one more reason for that!
At 9:30, "bias" and "random" are distinct concepts that must not be conflated. For example, a computer giving a fixed sequence of alternating heads and tails is unbiased but not random. A hardware-based RNG that uses a quantum process such as radioactive decay to unpredictably generate heads and tails, except that heads come up 51% of the time, is biased but otherwise random.
I saw somewhere (I _think_ it was Extra Credits) that random chance in video games wasn't truly random, but rather only _felt_ random. The designers tune to engine so that a 30% chance of something happening only _feels_ like a 30% chance. If they went with true randomness, things like the picture on the right shown at the 3:32 mark would happen. People could conceivably fail something that has a 90% chance of succeeding many times in a row, as well as succeeding multiple times in a row for something that has only a 10% chance. So, much like the people who chose the picture on the left, game designers tailor the results to fit how people _think_ random numbers should feel. I wish I could find that video since they explained it better, but I've already spent too much time trying to find it. :P
Look at that crazy pendulum go!!!
dang, that was a smooth ad transition at the end there lol
Tom Scott already did a video about this. Still, it's a cool topic, and I recommend his video.
Indeed. And now I want to see the the SciShow people playing Citation Needed.
'... lava lamps may not be the hight of coolness …", sacrilege! Otherwise, excellent, clear discussion, as far as I am competent to comment (undergraduate level Maths, emphasis in probability and statistics, but far from an "expert", completed), also very accurate.
I had an old Cajun lady that lived in my neighborhood many years back and her name was--Fortuna!
Okay! That is cool!! I'm going to employ that or maybe a Geiger counter or something like that
Microphones aren't generally used to pick up radio waves, although the kind of electromagnetic interference you're referring to could be picked up in a microphone or any other length of wires.
No, there's a slight error in the video there. Random.org uses radios tuned between stations and fed into a sounds card on a computer. That noise is then washed through their system and tested to make sure the output is statistically random.
Some libraries allows you to use CPU thermal fluctuations to generate quite solid random series.
The only truly random thing in the world is getting hiccups.
"scoot your mouse around" made me giggle a bit too much.
The hero we need
3:36 I guessed the right. The left looked _way_ too evenly spaced out. The right looked pretty random to me with all its imperfections.
So in short, it's super easy to build a circuit or device that uses the environment to generate true randomness. Easy solutions include tiny fluctuations in the air or the physical orientation of your phone, or like on that graphics card, variations in electron flow. We only use the time because it's cheap and easy when pseudorandomness is perfectly fine.
9:49 what lava lamps ARE still the height of cool they always were
Wondered on this topic for years
spoiler:
sadly, the seed for the car key is just radio frequency, if recorded through an rf device while jamming the key holder, you can broadcast that exact key recording to unlock/start vehicle, because of the car not receiving the signal that the owners keys sent.
It's L Ä M P time bröthers
“Totally not a moth” approves this message
Büt ïm nøt ä møth!
3:55 This is false, at least the way it is presented. A mixed up result is much more likely than 10 heads and then 10 tales, but any specific configuration, mixed up or not, is equally likely.
I remember very well my old lava lamp. It had a metallic look on the base and the tip and the content was red and orange like lava. Too bad my cat pushed it and opened the bottle cap a little bit. The liquid evaporated a little and it became useless. I loved that lamp.
I don't understand how people dislike this videos
The lava lamp thing is more of a PR gimick slash urban legend and it is really unfortunate that a serious show like this perpetuates flawed information like, just because it sounds cool.
I have a bit of a problem with what was said at 3:58. It is much less likely to see 10 heads/10 tails than it is to see a pattern that has more changes. Of course, to see a SPECIFIC set of switching heads/tails, the probability is equal, but I dont think that's what you said.
So Randomness is greatly defined by the results it provide Imagine being able to time travel
So I guess it’s similar to SMB RNG manipulation, when they wait at the start menu for a certain amount of frames, I think it’s about 20 or something.
Yup, it's the same reason a lot of speedruns are able to use rng manipulation! Once you figure out what increments a number, sometimes you can exploit it at a human level.
Ok now this was a good video. Smashes the bird one.
I love lamp!
...and chickens! I love chickens too! :D
Gravijta jicken caws
Sure, i would love a sandwich!
I hate those dirty mother cluckers.. Death to all those creatures most fowl!
I do love chicken sandwiches
Way back in the Navy I liked to look at my Lava Lamp & predict where, or how high the orange blobs would go. I don't think it was truly random.
You can make some non-specific predictions about a lava lamp's behavior in the very short-term, like the next 15 or 30 seconds, but very exact predictions are not really possible. Stretch that timeframe out to minutes or even hours, and they're completely unpredictable. Just the room being a tenth of a degree cooler or warmer will change heat transfer rates, fiddle with the convection, and give you completely different results after a certain amount of time.
@@SynchronizorVideos You're right about near-term predictions. I'm not a Grandmaster thinking six moves ahead nor a Geographer deciding on what scale to measure the coastline.
And there's also RNGod that decided my fate in a video game drop rate
Speedrunners call him rngesus (r n jesus)
Really interesting, thanks!!