It is harder to debug blueprints if they are not lined up and tidy.
If I understand what is happening here correctly, you generate a random integer with a range of 0-3, and first you check if it is equal to 0.
If it is not equal to zero, you then check if it is equal to 3. If it is equal to three, then you set the material on a static mesh.
The images are too small to read - are the materials taking the correct inputs? Has a dynamic material instance been created? If you make a simple Input event (like press F) are you able to successfully change the material?