
“One day Solomon decided to humble Benaiah Ben Yehoyada, his most trusted minister. He said to him, “Benaiah, there is a certain ring that I want you to bring to me. I wish to wear it for Sukkot which gives you six months to find it.”

“If it exists anywhere on earth, your majesty,” replied Benaiah,

“I will find it and bring it to you, but what makes the ring so special?” “It has magic powers,” answered the king. “If a happy man looks at it, he becomes sad, and if a sad man looks at it, he becomes happy.” Solomon knew that no such ring existed in the world, but he wished to give his minister a little taste of humility.

Spring passed and then summer, and still Benaiah had no idea where he could find the ring. On the night before Sukkot, he decided to take a walk in one of the poorest quarters of Jerusalem. He passed by a merchant who had begun to set out the day’s wares on a shabby carpet. “Have you by any chance heard of a magic ring that makes the happy wearer forget his joy and the broken-hearted wearer forget his sorrows?” asked Benaiah.

He watched the grandfather take a plain gold ring from his carpet and engrave something on it. When Benaiah read the words on the ring, his face broke out in a wide smile. That night the entire city welcomed in the holiday of Sukkot with great festivity.

“Well, my friend,” said Solomon, “have you found what I sent you after?” All the ministers laughed and Solomon himself smiled. To everyone’s surprise, Benaiah held up a small gold ring and declared, “Here it is, your majesty!” As soon as Solomon read the inscription, the smile vanished from his face. The jeweller had written three Hebrew letters on the gold band: gimel, zayin, yud, which began the words “Gam zeh ya’avor” — “This too shall pass.”

At that moment Solomon realized that all his wisdom and fabulous wealth and tremendous power were but fleeting things, for one day he would be nothing but dust.”