problem with interfacing multiple push buttons with arduino

here is my code:

void setup() {
  // put your setup code here, to run once:
  pinMode(3,INPUT);
  pinMode(4,INPUT);
  pinMode(5,INPUT);
  pinMode(6,INPUT);
  pinMode(7,OUTPUT);
}

void loop()
{
  // put your main code here, to run repeatedly:
   if(digitalRead(3))
   {
    digitalWrite(7, HIGH);  
    delay(120000);
    digitalWrite(7, LOW); 
   }
   else if(digitalRead(4))
   { 
    digitalWrite(7, HIGH); 
    delay(240000);
    digitalWrite(7, LOW); 
   }
   
   else if(digitalRead(5))
   { 
    digitalWrite(7, HIGH); 
    delay(360000);
    digitalWrite(7, LOW); 
   }
   else if(digitalRead(6))
   {
    digitalWrite(7, HIGH); 
    delay(480000);
    digitalWrite(7, LOW); 
   }
   else
   {
     digitalWrite(7, LOW);
   }
}

the photograph of the circuit is attached and made using tinkercad.com
the circuit is simple
an amount of delay is produced according to the switch pressed.
i.e., the light should glow only for that prescribed time.
i don't understand the mistake here and also when one key is pressed the other keys should be deactivated. please help me out

A better way to wire the switches is to wire one side of the switch to ground and the other side to an input that is set to pinMode INPUT_PULLUP. Then the input will read HIGH when not pressed and LOW when pressed. The way that they are wired in the picture leaves the input floating when the switch is not pressed so that the switch state is undefined.

A guide for using millis() for timing instead of blocking with delay().

That circuit will not work. Read :-Inputs

With nothing connected to an input pin the result is NOT a zero but a randomly changing succession of zeros and ones. That is why an input switch always needs a pull up or pull down resistor.