func_code_string: #include <bits/stdc++.h>   using namespace std;   const int mx=2e5+10;   const int INF=0x3f3f3f;   long long tes[mx][2][2];   bool flg[mx][2][2];   int hd[mx],nx[mx*2],t[mx*2],vl[mx*2];   int sum;      struct Node   {       int x,y,z;       long long jud;       bool operator < (const Node &nd) const       {           return jud>nd.jud;       }   };      void add(int x,int y,int z)   {       t[++sum]=y;       nx[sum]=hd[x];       vl[sum]=z;       hd[x]=sum;   }      void chg()   {       priority_queue<Node> q;       q.push({1,0,0,0});       memset(tes,0x3f,sizeof(tes));       tes[1][0][0]=0;       while(!q.empty())       {           Node upp=q.top();           q.pop();           int x=upp.x,y=upp.y,z=upp.z;           if(flg[x][y][z])               continue;           flg[x][y][z]=1;           for(int i=hd[x];i;i=nx[i])           {               int a=vl[i],b=t[i];               if(tes[b][y][z]>tes[x][y][z]+a)               {                   tes[b][y][z]=tes[x][y][z]+a;                   q.push({b,y,z,tes[b][y][z]});               }               if(!y)               {                   if(tes[b][y^1][z]>tes[x][y][z])                   {                       tes[b][y^1][z]=tes[x][y][z];                       q.push({b,y^1,z,tes[b][y^1][z]});                   }               }               if(!z)               {                   if(tes[b][y][z^1]>tes[x][y][z]+a*2)                   {                       tes[b][y][z^1]=tes[x][y][z]+a*2;                       q.push({b,y,z^1,tes[b][y][z^1]});                   }               }               if(!y&&!z)               {                   if(tes[b][y^1][z^1]>tes[x][y][z]+a)                   {                       tes[b][y^1][z^1]=tes[x][y][z]+a;                       q.push({b,y^1,z^1,tes[b][y^1][z^1]});                   }               }           }       }   }      int main()   {       int n,m;       scanf( %d %d ,&n,&m);       for(int i=1;i<=m;i++)       {           int x,y,z;           scanf( %d %d %d ,&x,&y,&z);           add(x,y,z);           add(y,x,z);       }       chg();       for(int i=2;i<=n;i++)           cout<<tes[i][1][1]<<   ;   }                                   