Scratch Algorithm