function greetUserPromise(name) {
    return new Promise((resolve) => {
        console.log(`Hi ${name}`);  
        resolve();
    });
}

function greetUserCallback(name, callback) {
    callback();
    console.log(`${name}`); 
}

function greetforCall() {
    console.log("Hello");
}

async function greetUserAsync() {
    try {
        await greetUserPromise("Arun");
        console.log("Hello Arun");
    } catch (error) {
        console.error("An error occurred:", error);
    }
}

greetUserAsync();

greetUserCallback("Arun", greetforCall);