Couple of things going on here.
From the perspective of R4, it cannot get to 3.3.3.3 (and 2.2.2.2 for same reasons) -
1) via R1 because R1 is an IBGP peer with R2 and R3 and the IBGP rule is a route learned from an IBGP neighbor cannot be advertised to another IBGP neighbor so R1 cannot advertise 3.3.3.3 to R4.
To solve this you could make R4 a route reflector client of R1.
2) via R5 (which is in different AS), R5 is advertising 3.3.3.3 to R4 because it is an EBGP peer so the IBGP rule does not apply but R4 sees it's own AS in the route advertisement ie. the AS path for 3.3.3.3 route is "65000 1" and the EBGP loop avoidance rule is if you see your own AS in the path then do not accept the advertisement.
To solve this you can use the "allowas-in" command to override the loop prevention rule although obviously there are risks associated with doing that.
You would only need to use one of the solutions.
Jon