How to run insert statement as much times as select statement gives unique values? DB Firebird.

I have the following statement 

SELECT a.ID FROM CLIENTS a


And I want my INSERT statement into another table to use each of this value, something like

INSERT INTO BANKS (ID, NR, MONEY)
VALUES (
   gen_id(gen_name, 1), 
   "there should be client ID from the SELECT statement above", 
   3000
)


Can I achieve this with one statement?
To do this you can use insert ... select:

insert into banks(ID, NR, MONEY)
select 
   gen_id(gen_name, 1), 
   ID, 
   3000
from CLIENTS


If you have a trigger on CLIENTS that generates the ID on insert, or - Firebird 3 - ID is an identity column, then you can simplify this to:

insert into banks(NR, MONEY)
select 
   ID, 
   3000
from CLIENTS