//package atcoder.beginnner_176;

import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Main {
    
    public static void main (String[] args) throws Exception {

        String s = "20 12 6";

//        br = new BufferedReader(new StringReader(s));
        br = new BufferedReader(new InputStreamReader(System.in));
        bw = new BufferedWriter(new OutputStreamWriter(System.out));

        rl(); int N = nin(), X=nin(), T=nin();
        bw.write(((N/X)*T + (N%X==0?0:T)) + "\n");
        bw.flush();
    }

    static BufferedReader br; static BufferedWriter bw; static StringTokenizer st;
    static void rl() throws Exception{ st = new StringTokenizer(br.readLine()); }
    static long nlo(){ return Long.parseLong(st.nextToken()); }
    static int nin(){ return Integer.parseInt(st.nextToken()); }
    /*private static void te(){}*/
    static double ndo(){ return Double.parseDouble(st.nextToken()); }
    static char[] nca(){ return st.nextToken().toCharArray(); }
} import java.io.*; io.* java import java.util.Arrays; Arrays java.util import java.util.StringTokenizer; StringTokenizer java.util public class Main {
    
    public static void main (String[] args) throws Exception {

        String s = "20 12 6";

//        br = new BufferedReader(new StringReader(s));
        br = new BufferedReader(new InputStreamReader(System.in));
        bw = new BufferedWriter(new OutputStreamWriter(System.out));

        rl(); int N = nin(), X=nin(), T=nin();
        bw.write(((N/X)*T + (N%X==0?0:T)) + "\n");
        bw.flush();
    }

    static BufferedReader br; static BufferedWriter bw; static StringTokenizer st;
    static void rl() throws Exception{ st = new StringTokenizer(br.readLine()); }
    static long nlo(){ return Long.parseLong(st.nextToken()); }
    static int nin(){ return Integer.parseInt(st.nextToken()); }
    /*private static void te(){}*/
    static double ndo(){ return Double.parseDouble(st.nextToken()); }
    static char[] nca(){ return st.nextToken().toCharArray(); }
} Main static BufferedReader br; br static BufferedWriter bw; bw static StringTokenizer st; st public static void main (String[] args) throws Exception {

        String s = "20 12 6";

//        br = new BufferedReader(new StringReader(s));
        br = new BufferedReader(new InputStreamReader(System.in));
        bw = new BufferedWriter(new OutputStreamWriter(System.out));

        rl(); int N = nin(), X=nin(), T=nin();
        bw.write(((N/X)*T + (N%X==0?0:T)) + "\n");
        bw.flush();
    } main {

        String s = "20 12 6";

//        br = new BufferedReader(new StringReader(s));
        br = new BufferedReader(new InputStreamReader(System.in));
        bw = new BufferedWriter(new OutputStreamWriter(System.out));

        rl(); int N = nin(), X=nin(), T=nin();
        bw.write(((N/X)*T + (N%X==0?0:T)) + "\n");
        bw.flush();
    } String s = "20 12 6"; s "20 12 6" br = new BufferedReader(new InputStreamReader(System.in)) br new BufferedReader(new InputStreamReader(System.in)) bw = new BufferedWriter(new OutputStreamWriter(System.out)) bw new BufferedWriter(new OutputStreamWriter(System.out)) rl() rl int N = nin() N nin() nin X=nin() X nin() nin T=nin(); T nin() nin bw.write(((N/X)*T + (N%X==0?0:T)) + "\n") bw.write bw ((N/X)*T + (N%X==0?0:T)) + "\n" ((N/X)*T + (N%X==0?0:T)) (N/X)*T (N/X) N X T (N%X==0?0:T) N%X==0 N%X N X 0 0 T "\n" bw.flush() bw.flush bw String[] args args static void rl() throws Exception{ st = new StringTokenizer(br.readLine()); } rl { st = new StringTokenizer(br.readLine()); } st = new StringTokenizer(br.readLine()) st new StringTokenizer(br.readLine()) static long nlo(){ return Long.parseLong(st.nextToken()); } nlo { return Long.parseLong(st.nextToken()); } return Long.parseLong(st.nextToken()); Long.parseLong(st.nextToken()) Long.parseLong Long st.nextToken() st.nextToken st static int nin(){ return Integer.parseInt(st.nextToken()); } nin { return Integer.parseInt(st.nextToken()); } return Integer.parseInt(st.nextToken()); Integer.parseInt(st.nextToken()) Integer.parseInt Integer st.nextToken() st.nextToken st /*private static void te(){}*/
    static double ndo(){ return Double.parseDouble(st.nextToken()); } ndo { return Double.parseDouble(st.nextToken()); } return Double.parseDouble(st.nextToken()); Double.parseDouble(st.nextToken()) Double.parseDouble Double st.nextToken() st.nextToken st static char[] nca(){ return st.nextToken().toCharArray(); } nca { return st.nextToken().toCharArray(); } return st.nextToken().toCharArray(); st.nextToken().toCharArray() st.nextToken().toCharArray st.nextToken() st.nextToken st public class Main {
    
    public static void main (String[] args) throws Exception {

        String s = "20 12 6";

//        br = new BufferedReader(new StringReader(s));
        br = new BufferedReader(new InputStreamReader(System.in));
        bw = new BufferedWriter(new OutputStreamWriter(System.out));

        rl(); int N = nin(), X=nin(), T=nin();
        bw.write(((N/X)*T + (N%X==0?0:T)) + "\n");
        bw.flush();
    }

    static BufferedReader br; static BufferedWriter bw; static StringTokenizer st;
    static void rl() throws Exception{ st = new StringTokenizer(br.readLine()); }
    static long nlo(){ return Long.parseLong(st.nextToken()); }
    static int nin(){ return Integer.parseInt(st.nextToken()); }
    /*private static void te(){}*/
    static double ndo(){ return Double.parseDouble(st.nextToken()); }
    static char[] nca(){ return st.nextToken().toCharArray(); }
} public class Main {
    
    public static void main (String[] args) throws Exception {

        String s = "20 12 6";

//        br = new BufferedReader(new StringReader(s));
        br = new BufferedReader(new InputStreamReader(System.in));
        bw = new BufferedWriter(new OutputStreamWriter(System.out));

        rl(); int N = nin(), X=nin(), T=nin();
        bw.write(((N/X)*T + (N%X==0?0:T)) + "\n");
        bw.flush();
    }

    static BufferedReader br; static BufferedWriter bw; static StringTokenizer st;
    static void rl() throws Exception{ st = new StringTokenizer(br.readLine()); }
    static long nlo(){ return Long.parseLong(st.nextToken()); }
    static int nin(){ return Integer.parseInt(st.nextToken()); }
    /*private static void te(){}*/
    static double ndo(){ return Double.parseDouble(st.nextToken()); }
    static char[] nca(){ return st.nextToken().toCharArray(); }
} Main
//package atcoder.beginnner_176;

import java.io.*;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Main {
    
    public static void main (String[] args) throws Exception {

        String s = "20 12 6";

//        br = new BufferedReader(new StringReader(s));
        br = new BufferedReader(new InputStreamReader(System.in));
        bw = new BufferedWriter(new OutputStreamWriter(System.out));

        rl(); int N = nin(), X=nin(), T=nin();
        bw.write(((N/X)*T + (N%X==0?0:T)) + "\n");
        bw.flush();
    }

    static BufferedReader br; static BufferedWriter bw; static StringTokenizer st;
    static void rl() throws Exception{ st = new StringTokenizer(br.readLine()); }
    static long nlo(){ return Long.parseLong(st.nextToken()); }
    static int nin(){ return Integer.parseInt(st.nextToken()); }
    /*private static void te(){}*/
    static double ndo(){ return Double.parseDouble(st.nextToken()); }
    static char[] nca(){ return st.nextToken().toCharArray(); }
}