I want to know how to instantiate a**n existing contract deployed into the blockchain** using its address.

e.g

    contract A{
    funtcion f1()
    {}
    }

deployed into the blockchain, and in contract B i wannt to call the function f1() and get its return.
e.g

 

       contract B{
        address contrac_A=0x123456;
    
             //call f from A
    
        }

how i should call it using the address of A?