syntax error in while writing multipass surface shader

Please tell me why this shader is not valid. I get a syntax error pointing to line “#pragma surface surf Lambert”.
when i comment out that line the syntax error disappears but i don’t get the correct output.

You can find the original shader at Unity - Manual: Surface Shader examples
I only added a pass{} block.

  Shader "Example/Diffuse Simple" {
      Tags { "RenderType" = "Opaque" }
      	#pragma surface surf Lambert
      	struct Input {
          float4 color : COLOR;
      	void surf (Input IN, inout SurfaceOutput o) {
          o.Albedo = 1;
    Fallback "Diffuse"

Surface shaders cannot be located inside a pass block. You can have multiple surface shaders alongside multiple pass blocks, and everything should work fine, but as soon as you put a surface shader inside a pass block, it does not compile. See this thread for more info: