This is an interesting hand. It should be played by East in 4S, but may be played in 3NT. In either case, South will probably lead the CQ.
Declarer wins the CK, and leads to the HK in order to take the spade finesse. North plays the SK.
North's play of the SK is very likely to indicate a singleton. So South has SJ975 and will make 2 spade tricks.
Declarer can count 3 spades, 3 hearts, 2 clubs and a diamond - 9 tricks. But Declarer should also recognise that there is no problem if South ruffs a winner, because South will be using a trump which would have won anyway. The play therefore becomes obvious - win the SA and play out hearts, intending to ruff the 4th heart if hearts are not 3-3. Declarer will only lose to 2 trumps and a diamond.
Assume that play was missed and Declarer cashes the SQ and gives up a trump, wins the club return and gives up another trump. Declarer ducks the next club, discarding a diamond and ruffs the 4th round of clubs. The 4th round of clubs squeezed North in hearts and diamonds, so Declarer will still make his contract. (The result is the same if South does not continue clubs. Declarer will duck a diamond.)
The first three tricks are the same. Declarer now knows that if clubs are 5-3, he will lose 3 club tricks and cannot afford to lose 2 spade tricks. If hearts are 3-3, Declarer can make 9 tricks, so he should avoid risking his contract before hearts are tested.
The best approach is to cash the CK, which shows clubs are at worst 6-2, go to Dummy with the HK and throw South in with the third club.
Since clubs are 5-3, Declarer has to lose another trick, a diamond, before the squeeze against North will operate, but the Defence cannot avoid Declarer making his contract.