Sometimes trying to beat a contract is a lot of hard work. Some actual clues, some assumptions (which may be worth nothing in the end) and some imagination. Here's a chance to defend 4S from the other side.
1S - 3H (artificial limit raise)
4S all pass
Lead is 2 of H, showing an honour 4th (or the lowest from xx, Polish style). Declarer captures our Q with the A and quickly leads a trump to dummy and a low towards his hand. We have to find a discard. What will it be?
For starters, what do we know? If partner has led from xx, declarer has at least 5-6 and he's always making. So, put partner down for Jxxx and declarer Axxx. Winning the ace of H immediately and draw trumps is really strange with late heart losers unless there's a sure trick source in dummy (to discard H's) or an abundant trump suit where late ruffs are always assured. Vs this particular dummy, this line of play therefore strongly implies that declarer has 6 spades.
Placing declarer with 6-4 in the majors, how about the minors? With 30/03 nothing matters, he's always making/going down, so we have to assume 21/12. With declarer assured of 9 tricks (six spades in hand, ace of hearts and two ruffs in dummy), we need the rest. A heart (check!) and 3 minor suit tricks which means that partner must have both minor suit aces.
If declarer has a singleton diamond and a doubleton in clubs it's easy, ace of diamonds and A-K of clubs. If declarer has two diamonds and a stiff club, we need to con declarer from winning a trick with dummy's K. Can we do that with this holding? Are we even willing to go for a possible con if this means that we risk letting it through when declarer has a singleton?