Challenge 2021 - Étrange multiplication

Le challenge consiste a retrouver le début du code python3 dont voici les 3 dernières lignes:

print("%s * %s = %s"%(m2,x,m2*x))
print("%s * %s = %s"%(m3,x,m3*x))
print("%s * %s = %s"%(m7,x,m7*x))

Quand on l'exécute, il affiche :

2 * 142 = 151
3 * 142 = 25
7 * 142 = 188

NB: Le code python complet compte moins de 10 lignes !
Et il ne s'agit pas de surcharger l'opérateur * comme la proposition ci-dessous. On doit avoir une vrai multiplication, par exemple: 0*142=0.

class strange_number:
    def __init__(self, value): self.i = value
    def __mul__(self, other): return 151 if self.i == 2 else 25 if self.i == 3 else 188
    def __repr__(self): return str(self.i)
x, m2, m3, m7 = strange_number(142), strange_number(2), strange_number(3), strange_number(7)
print("%s * %s = %s"%(m2,x,m2*x))
print("%s * %s = %s"%(m3,x,m3*x))
print("%s * %s = %s"%(m7,x,m7*x))