using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;

class Program
{
    public void Proc()
    {
        Reader.IsDebug = false;
        long[] inpt = Reader.ReadLine().Split(' ').Select(a=>long.Parse(a)).ToArray();
        long ans = (inpt[0] % inpt[3]) * (inpt[1] % inpt[3]);
        ans = ans % inpt[3];
        ans = ans * (inpt[2] % inpt[3]);
        ans = ans % inpt[3];
        Console.WriteLine(ans);
         

    }
    
 

    public class Reader
    {
        public static bool IsDebug = true;
        private static String PlainInput = @"



1 2 3 4



";
        private static System.IO.StringReader Sr = null;
        public static string ReadLine()
        {
            if (IsDebug)
            {
                if (Sr == null)
                {
                    Sr = new System.IO.StringReader(PlainInput.Trim());
                }
                return Sr.ReadLine();
            }
            else
            {
                return Console.ReadLine();
            }
        }
    }
    static void Main()
    {
        Program prg = new Program();
        prg.Proc();
    }
}