Marlowe voting contract

Could anyone point me in the right direction or help me to create a voting contract in Marlowe?

The ballot should have 4 public addresses. (candidates)
You can only send 1 value (ADA?) to one of the given public addresses.

The plan outside the contract.
Users will log in to dapp trough government OAuth.
This way the get unique voterID from the government.

Not sure should we make a wallet for the user, but in the dapp, they will opt to vote for one of the 4 candidates.

I assume later we can search for the smart contract and count all the transactions done through it.

Tried blocky first time:

I started trying following tutorials and learning more about general information what is Marlowe and how to use it.
This is what I started creating and when I tried to simulate it gave an error.

It should be based on did and not on some OAuth2 or similar.

Sorry I was being overly general and skipped a lot of the logic.
For current POC (proof of concept), government institutions do not issue DID’s.
We will create the wallet for every voterID.

If this project moves forward next step would be to tie cross-chain solution with a DLT.

Problem solved. Can not use punctuation in public key name