Building DeepSeek R1 from Scratch