Sword giving script not fully working

I have this basic script inside of ServerScriptService:

print("Run")
game.Players.PlayerAdded:Connect(function(plr) 
	print(plr.Name.."Joined the game.")
	local CS = game:GetService("ReplicatedStorage"):WaitForChild("CS"):Clone() 
	print("Cloned.")
	wait(5)
	CS.Parent = plr.Backpack
	CS.Parent = plr.StarterGear 
	print("Given")
end)
print("ended")

So that script didn’t fully work, I tried it with 2 players and the sword is added to the player’s starter gear, but nothing inside of the backpack and I don’t want the player to reset so they could get the sword I want them to have it as soon as they join the game.

My output while in game with 2 players:
Screenshot 2022-07-05 031257

My explorer while in game with 2 players:

I tried running it with one player and I got the same result, I have no idea why that happens.

It technically does go to the backpack, but then it just goes straight to the startergear next line. You would have to make two clones, one to go into the backpack, and one to go into startergear. Or, if you’re going to give it to them when they join anyways, just put it in starterpack to begin with.

I copied it twice that worked, thanks for your help.